#development
1 messages · Page 415 of 1
hackers were a mistake
but unironically, farming is the worst thing to happen the human race
comparable to the story of adam and eve eating the apple and fucking everything up
industrial revolution
agricultural revolution
mmm
the world sucked before the industrial rev
the human race is the worst thing to happen tbh

the human race is a funny evolutionary quirk
we evolved to not need muscles due to our larger lung capacity and ability to run long distances without tiring. we're one of, if not the only, land predator who is able to do that. it allowed us to hunt other animals who would run quick bursts and tire out by just outlasting them. we didnt need all those big muscles predators would usually need so the development went to our brains instead
and here we are
So this simulation instance would have taken up less RAM if evolution had went the other way... hmm
billions of years of evolution all leading up to the ultimate creation of all time, nature’s magnum opus,
furries
I am memory leaking
@tepid olive both the agricultural and industrial revolution are probably the worst things to happen to the human race. Humans started exploiting natural resources and animals with start of the agricultural revolutions. The industrial revolution lead humans exploiting each other on a massive scale. Though I guess the argument could be made that they were exploiting people during the agricultural revolution as well.
no it doesn't
ecidecid command on procursus
hex or dec?
LOL
meaning that that PR literally would have just fucked you over 
loss
it's hex 
pmuch
RIP
if you saved them with the ecid <censored>
then yes
wait
i thought you said won't work
yeah you're fucked 
my bad
the url contains the dec ecid
^
at least you found out now rather than later
ah you put <censored> in as hex?
then you good
lemme edit to remove ecid
might wanna delete this
it's still a value unique to your device
you should keep it as private as your UDID
(repos usually check against UDID & apps can't check for ECID because of sandbox, but it's still good practice nevertheless)
shsh.host saves for beta blobs
then yesterday wasn't your first time using it
or apple decided to randomly start signing 14.0 betas
or someone else has your ECID and did you a favor?
kek
.
save for the ecid in systeminfo
Fuck creating a jb
It’ll only require you to do 100 different things
doesnt the exploit take 2 mins to recreate atm
Which means we need even more stuff to make one
Think so, it’s because it iterates through a million things to redeem vouchers or some shit 
There could prob be a more precise way to do it tho
Waiting 2 mins jailbreak
Make it a bit more shorter
I’ll look into it
This exploit does seem like it’s in my level tho
Looks almost exactly like how I was planning to do it apart from the iterating bit

Haven’t messed with exploits at all
Or read any write ups
Im good with this shit
You know whats crazy
I read any write up that comes out
The tool i created is so helpful
I use it all the time
Now to create tweaks
And trace methods
I want to be an iOS security researcher
And a more overall better lower level dev
I want money
I skipped tweak and app dev
My minesweeper is still not working in C
I always do that
So I am going to do it without dynamic allocation first, then make it dynamic later if I feel like it
the thing ull end up giving up
write it in c
C++ ftw
Ew

C
Do u even oop
I mean c has objects
Just not object oriented
Me and C
Im using ++c
Wtf is ++i and what does it mean
Why not i++
I never understood the difference between i++ and ++i
What's different
For (i=0, i>10, ++i){}
For
Why would you do ++i instead of i++, I don't know the difference
Int i = 0 in the loop
lmao
I'm just looking for ++i vs i++
God I love voucher exploits
Huh
Like voucher related exploits
They seem hard at first
But when you learn more about it
We increment first and then assign the value
It’s so fucking easy
Useful for a for loop
Do you get it
The value is incremented first
And then assigned
Instead of assigning
And then incrementing
Alright I’m gonna check out this cicuta_virosa exploit
Why does no one start at -1

Start at 2.147 billion
And see if I can figure anything out
Because you always start at 0
Start at 2
You can’t start at -1
Its like a rule of thumb
I personally start at 69
k
squishy cat
man
why is this exploit so long
fucking 1m objects
why is it iterating over that many
What is it
@gentle grove cicuta_virosa exploit
idk what that is
@gentle grove 14.3 kernel exploit
@gentle grove Mach vouchers
Huh
k
i've been taking a C course for the past 3 months
is there a huge difference between objective-c and C
and for tweak dev, is objective-C or swift more popular?
not really and you’d want to write them in objc
however do app development first before dipping into tweaks if this is going to be your first time
okay thanks
yes
objc
Or just be me and jump straight into kernel stuff without any tweak or app dev experience 
ok
Thanks althio
For your message
Which reads as “ok”

ok
ok
lmao
wtf so dlopen doesnt return NULL but the library still isnt loaded 
u sure the lib isnt fucked?
yes
i can load it perfectly with MS
then again this isn't something that should be injected with MS
why does Cydia not show my repo's name
like I thought it's just a temporary glitch like other repos but it's happening across two different Corellium devices and never seems to show up anymore since I fixed my Release file so Sileo doesn't complain about hashes
and other package managers show the name 
look at other repos
you can access their repo files
lol what the fuck
removing the InRelease file fixed it
this is my script:
rm -f Packages
rm -f Packages.gz
rm -f Packages.bz2
rm -f Packages.xz
rm -f Release
rm -f Release.gpg
rm -f InRelease
dpkg-scanpackages debs /dev/null > Packages
gzip -k Packages
bzip2 -k Packages
xz -k Packages
apt-ftparchive -c aptftp.conf release . > Release
gpg -o Release.gpg -a -b --sign Release
gpg --output InRelease --clearsign Release
apt-ftparchive gang
fuck dpkg-scanpackages

cd $(dirname "$0")
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
FTPARCHIVE='apt-ftparchive'
elif [[ "$OSTYPE" == "darwin"* ]]; then
FTPARCHIVE='./apt-ftparchive'
fi
for dist in appletvos-arm64/1300 iphoneos-arm64/1{5..7}00 watchos-arm64/1400 watchos-arm/1400; do
if [[ "${dist}" == "iphoneos-arm"* ]]; then
arch=iphoneos-arm
elif [[ "${dist}" == "watchos-arm"* ]]; then
arch=watchos-arm
else
arch=$(echo "${dist}" | cut -f1 -d '/')
fi
binary=binary-${arch}
contents=Contents-${arch}
mkdir -p dists/${dist}/main/${binary}
rm -f dists/${dist}/{Release{,.gpg},main/${binary}/{Packages{,.xz,.zst},Release{,.gpg}}}
cp -a CydiaIcon*.png dists/${dist}
$FTPARCHIVE packages pool/main/${dist} > \
dists/${dist}/main/${binary}/Packages 2>/dev/null
xz -c9 dists/${dist}/main/${binary}/Packages > dists/${dist}/main/${binary}/Packages.xz
zstd -q -c19 dists/${dist}/main/${binary}/Packages > dists/${dist}/main/${binary}/Packages.zst
$FTPARCHIVE contents pool/main/${dist} > \
dists/${dist}/main/${contents}
xz -c9 dists/${dist}/main/${contents} > dists/${dist}/main/${contents}.xz
zstd -q -c19 dists/${dist}/main/${contents} > dists/${dist}/main/${contents}.zst
$FTPARCHIVE release -c config/${arch}-basic.conf dists/${dist}/main/${binary} > dists/${dist}/main/${binary}/Release 2>/dev/null
$FTPARCHIVE release -c config/$(echo "${dist}" | cut -f1 -d '/').conf dists/${dist} > dists/${dist}/Release 2>/dev/null
gpg -abs -u C59F3798A305ADD7E7E6C7256430292CF9551B0E -o dists/${dist}/Release.gpg dists/${dist}/Release
done
@tepid olive, Couldn't find anything matching that search query!
@tepid olive, Couldn't find anything matching that search query!
@tepid olive, Couldn't find anything matching that search query!
@tepid olive, Couldn't find anything matching that search query!
ok bruh
parcility moment

@tepid olive why the fuck does having an InRelease file break the repo name in Cydia though
because cydia is stupid as shit idk
compare your InRelease against this
I mean
that also shows as "apt.bingner.com"
so 
really?
huh

even without the InRelease sometimes on some refreshes it doesn't show the repo name and shows the URL instead, but with InRelease it never shows the name, idk why
cydia momentum
if only sileo was better
if only
when sileo comes to mac then itll get better
mac users aint put up with no bullshit
me when I enable developer kernel patches on Corellium and Sileo opens in unjailbroken state

of course not fully functional
how much of a pain was getting procursus on that
not too hard
just create a non jailbroken instance
ahhh you did that ok
then use ideviceinstaller to install Odyssey IPA from jailbreaks.app
i created a jailbroken instance and just migrated
because itms-services links don't work on Corellium for whatever reason
probably because the App Store itself is broken
it's weird how jailbreak exploits work fine on Corellium but my bootloop bug (which doesn't really have any exploit code, just a configuration profile) can't be reproduced for some reason
corelliums on top of bug patching
my bug only affects 14.3 and 14.4, they don't have 14.4 but I tested it on multiple 14.3 devices and nothing ¯_(ツ)_/¯
already reproduced on a real device anyway so I was more just interested to see if I can get more info about it
because on my XR when it bootloops I can't extract any crash logs from the filesystem, only syslog up until the point where it reboots
I hate how the screen goes blank on Corellium all the time, makes me think it's a kernel panic
lol ReProvision actually works in jailed state with kernel patches
only negative thing is external terminal because integrated is still unusable
fuck vscode term
ik
lol actually now Odyssey says "Jailbroken" because of the patches but I don't have a full JB
but vscode vim is nice
cuz then my lazy ass doesn't have to setup intellisense and all that
u can port ur nvim commands very easily as well, took me about an hour
very cute
uhh doesn’t vscode just use the first term it finds on the system?
yay it panicked
no
oh
ok basically vscode's xterm runs like trash ghost

so ive set it up so that ctrl + ` opens iterm2

vscode's xterm

%init(_ungrouped, objc_60868=);
here are the docs
already did that
will try again tho
my hook is in a group anyway
tho
bro
show code
no i meant like
inside line 132
so its one line of
%init(Auth, obj60868=..)
that should work
(hopefully) 


yes
then just one line of %init(Auth, obj60868=objc_getClass("60868"));
does that work
aight thanks
yeh
nice
can I init multiple tho
eg:
%init(Auth, obj_60868=objc_getClass("60868"); obj_696969=objc_getClass("696969"));
if its in the group auth
%init(Auth, obj_60868=objc_getClass("60868"), obj_696969=objc_getClass("696969"));
if its in another group, then:
%init(newGroup, obj_696969=objc_getClass("696969"));
or no group:
%init(_ungrouped, obj_696969=objc_getClass("696969"));

ntwerk
please link to the github docs next time
since?
since I was doing tweak dev more than once in a 3 month period
ah
also Im not focused cuz im watching a lecture rn as well
no worries
anyway, here's wonderwall the new link https://github.com/theos/logos/wiki/Syntax#init
I should update it to also consider %hookf support
My linux vm got messed up/corrupt so no more tweaking for me, rip 
F
Backups 

I have backups of all my tweaks, lol. Also my backup of the vm would have the same glitch cause it happened out of nowhere and I made no changes to the vm 😦
You know, I’m something of a loser myself
You know, i’m something of a loser myself
wtf is subiverse
some game I guess
Subiverse
Subiverse is an upcoming 2D MMORPG sandbox game where players can build amazing things using a growing arrangement of two-dimensional tiles....
duckduckgo cached proxied
https://www.reddit.com/r/Subiverse/
when you write your compiler in python
nice
what were the methods needed again to show view controllers on the lockscreen?
its just -(BOOL)_canShowWhileLocked; right?
@quasi hatch
Hi. I’m looking for someone who can send mouse events to NVIDIA GeForce NOW through JS. Do you know how by any chance?
We are trying to convert mouse control to touch input in GeForce NOW in safari/chrome, and we need to figure out how to send mouse events programmatically using JS,
i don't think u can do that through geforce now
unless u want to figure out its networking
it'll probably be TCP packets that are going to their servers
so if u can figure out how to send those packets through JS you should be able to
(this is me taking a guess tho i don't know too much about geforce now)
Hm
Could you please help us out? We have open source code on github and we meed help debugging why mouse event only occurs once after app launch
That would literally save the entire project
Thank you!
Wait i follow you on Twitter
this is confusing
after a reboot, why does the BootNonce become what was ApNonceRetrieve before
this is a great eample of asking in the beginning

stfu before i kill you
alright
driving over rn
getting a knife with me
yes we have been over this many times
ok i think a chefs knife should work
or maybe ill go get the butcher knife
butcher's knife it is

cap
proof or fake
no
ok still not giving it to you
I'm deleting someone's mom right now
mouth wide open for cock

A pedophile
You did say serious answers only

I'm only serious 35% of the time
cause you dont have access LOL loser
Bruh I thought they fixed that
It was fixed like a couple weeks ago to have a dialog box when you don't have access
I guess they broke it again
IMAGINE NOT BEING IN THAT SERVER
LOSS
[redacted] archive
archives server
you’re in it, no?
i am
true
in all servers
no ef3 
K
First day. Who wants spicy nuggets
n
can i have a uhhhhh
no you cannot
How come the branch instruction ends up in a different address?
dynamic address = static address+ASLR
ok i try out
nah i'm not advanced
i'm really struggling
0x000000000ff08000 /System/Library/PrivateFrameworks/Preferences.framework/Preferences(0x000000019ef37000)
i changed the file base address to 0x000000019ef37000 in hopper
can't see how the first address is transformed into the second one:(
i pasted output from lldb with the base address. the thing is how does the address in the branch instruction ''ends up'' in a different address
as in the picture
according to docs the n command doesn't step instructions, but source lines, whatever that means
i think in lldb when only binary is available, n is same as ni
i tried, it's the same
it goes in __TEXT stub section
nfr command
__COCK section
Minecraft
You are stepping over the branch with LLDB with next. Not into it. Step into the branch with stepi
use stepi and lldb will go instruction by instruction and not "line by line" and I don't even know why it tried to go line by line when the source code is unavailable
gdb
frcoal
how tf do u screenshot on corellium
@gaunt mesa xcode
yea
ok ty
you’ll find basically all example code is in swift as well
@late ridge happy birthday!!!
🎉
probably not correct but i guess it's because the bl isn't really a function call so 'ni' ignores it, the way i traverse through the bl was step in and then step over. Not sure if lldb is smart enough to know it's a stub.
Look at hacking with swift
Probably the best thing to learn swift
Orion moment
Rename it to Oreo
Orion moment
what you've asked is like saying how can I convert english to spinach
can one not dlopen to load a tweak?
void *handle = dlopen("/Library/MobileSubstrate/DynamicLibraries/cursed.dylib", RTLD_LAZY);
if(handle != NULL) {
NSLog(@"Yay.");
// This gets logged but the dylib doesnt seem to get its hooks loaded
// am i using the wrong flag for dlopen or something?
}```
dlerror() returns NULL as well
I'm pretty sure the reason LLDB ignores the bl is because a bl is in itself a function call :p
Spinach can send emails tho
@tepid olive RTLD_NOW
constructor isn't being called with RTLD_LAZY so it isn't hooking

LOL i tried everything but that
big loss
ah fuck hold on
cool every app is crashing now, what did i do
i only load in sb
oh no
howwww
yeah my jb died
yeah so i need this other tweak to load its hooks first (if installed), otherwise my shit breaks LOL
yeah so if u want it to load its hooks before your tweak then just RTLD_NOW load it before calling %init in %ctor
yup it works perfect now
i was not aware of this
shouldve just looked at dyld source
smh
rip
?!
?!
cool error
his phone just shit the bed
Why would I lie?
my phone fucked now
If they can send emails they can probably connect to a discord server
lol
On the internet, nobody knows you’re spinach
Nobody would know. Did you not read what I wrote?
or just read the docs...
i read, and it didnt mention constructors
RTLD_NOW
If this value is specified, or the environment variable
LD_BIND_NOW is set to a nonempty string, all undefined
symbols in the shared object are resolved before dlopen()
returns. If this cannot be done, an error is returned.```
oh welp it broke now and doesnt work
nice
[Cent]: FAIL loss
anyone here use fish shell, was wondering if there was a way to make makefiles not be absolutely dead with fish?
cuz the makefile syntax doesn't work with fish
yes

@primal perch literally all iOS devs are weebs
im deleting that
nah those aren’t ios devs 
ios degenerates maybe




im fortnite youtuber alia
hackers use keyboard, you are fake hacker
Oh forgot
@tepid olive british
I plug in phone
And type ./pwn iPhone11
fake temmy
And work instnslry
dw bout it
imagine being an ios dev
Burrit0z
smh

i’m not ios dev
Please
.
stfu
i don’t do exclusively ios shit
For one day
do not ios dev
Please.
I am in complete pain.
true
Happy femboy friday everyone
True
Imagine having an orange name
Must be the worst feeling ever
yeah it was nice when i had pink name
but oh well
this pfp kinda (not really) goes with the orange
why is krit a designer
pink
tru
so what exactly doesnt work on m1 mac
check
check balls?
ok
tryna figure out if its worth getting arm mac and leaving the holy x86_64 mac
boot args aren’t don’t work either
Anyone get this error when using libsparkapplist?
ld: warning: ignoring file /Users/christopher/theos/lib/libsparkapplist.dylib, missing required architecture armv7 in file /Users/christopher/theos/lib/libsparkapplist.dylib (2 slices)
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_SparkAppListTableViewController", referenced from:
objc-class-ref in RACRootListController.m.050bbf49.o
ld: symbol(s) not found for architecture armv7
I'm building for arm64/e
LOL
oops
my bad
gg
That error usually happens if the arches aren’t specified 
Literally no other reason
does theos automatically try to build for armv7 if you don't specify???
Yep

true

libsparkapplist has armv7 slices iirc
but maybe not
happy you friday
Anyone have any vps recommendations?
preferably cheap
I was thinking of using digital ocean
hetzner
^
i use do, it works nice. not most cost efficient for the under powered shit you get but it does me just fine
simple, very easy to manage
$5 a month droplet is what i run a bunch of shit off of, including but not limited to api, discord bots, and other private shit
DigitalOcean might work but Hetzner is a bit cheaper and has much higher traffic limits
aight, I have a discord bot that I wanted to run off it
that I need up all the time hence vps
Hetzner looks cool, but I'm in the US
better bang for buck than digital ocean tho
yea i like digitalocean too
im using DO
Wut
lol
krit
using fish shell doing stuff like $(THEOS) is invalid syntax
why would make use fish to parse your makefile
i don't
Like, you’re putting fish syntax in the makefile rules?
no im not
i mean
running
make do just throws a bunch of errors about syntax
this is without changing my makefile at all
Nothing so far has cleared up what’s happening
still not convinced it’s worth the switch yet
the only thing that's different now from before is zsh vs fish
its faster and completions/history without plugins is nice
this is true
ah well i made some progress
i just worry about things like you described above
because most people aren’t accounting for using fish because no one really uses fish compared to bash and zsh
Put this at the top
SHELL = /bin/sh
Huh
Is THEOS actually set and picked up by fish?
tale
hm okay that seemed to do the trick
i forgot make needs it to be exported
now to rewrite gmake to make

n
banned
There’s a handy script in the internet that picks up the exported stuff from .profile and friends for fish
so essentially

n
renai come here
i just need to turn this into macports and fish friendly
echo PATH=\"$(brew --prefix make)/libexec/gnubin:\$PATH\" >> ~/.zprofile
i'm older than u idiot
how’s macports been
really good honestly
ok and?
i bound sudo to touch ID
significantly than brew?
yes
nice
does brew even use ruby 3 yet 
now i don't have to wait 10 years to install 1 package
me when brew update
i've just set it so that it runs port selfupdate when my mac wakes up from sleep
oh no man it’s BSD license
what is
must be nice
I can't find an equivalent for the tty command in gdb that exists in lush
lol

what is difference
oh
ni
wtf
alright im timing my ports upgrade
i never used brew idk
i use it when i need to install anything, never upgrade any packages manually
in this case i was right tho, cause i dont wanna actually upgrade any packages
@gaunt mesa did you get fakeroot working for you on macports?
Oh makes sense
@restive ether ports is like procursus where its DIY
It didn’t compiles for me
for the most part
yeah that’s what i got out of it reading around a little
its very nice
guess it makes sense what you’re sacrificing when you’re using brew
brew could be better written in a different language though
especially the ruby parts
He said sacrifice when using brew
x11 go brrrr
I liked how ports installed everything in /opt
It is was simple and didn’t break file permissions for root user
yeah
m1 mac when boot args
having to specify sudo is a good call
Agreed
true
when would one even use boot args?
like honestly
ask capt
probably amfi
i think you need to do that through boot args so
https://github.com/CRKatri/pw-darwin, go ahead, brick you device
waiting for m2
they have things to iron out
waiting for x86_65
yeah may as well wait since i got this mac not even a year ago
it’s just shit that’s all
should’ve maxed it out
its cuz hes having issues with his device
cuz his macbook is shit
what’s more amazing is they never found this out during testing
how do you not notice your PCs panicking when attached to an external monitor
especially a mac mini
maybe it’s only with 3rd party stuff idk
you use a monitor with your Mac mini? Cringe
big slurp was even more rushed than catalina @restive ether
if that’s even possible
but it is
big slurp
bug chungus
big nut
anyone know swift
like
i don't understand how the syntax works
Like
idk how to explain it
;-;
ok
yeah they're not hard for you i just started and i'm struggling lmao
oh
ok
so what do parameters do exactly
are they just conditions that return a result if the condition is met like a if or while statement?
@tepid olive no sir
grr
You can pass values to a function
so like
If you want to print a number * 10
You do
hmm
function someFunctionName(int param) {
Return param * 10;
}
This isn’t any language
I’m just writing English
k
It’s basically just passing around values/objects
gimme an example
ok
ohhhh
that makes sense
ohhhh
so i'd do
return(5,7)?
bruh
uh ok...
ok
and you call the function using return?
ok
uh
swift is print("") for strings and char and others are just print()
so
ok i think im starting to get it
return firstNum + secondNum
}```
print(add(5,7)) // add is the function you're calling and it's going to return whatever first num and second num are and print the sum?
oh ok
hmm
lemme write something rq..
do I have to declare firstNum and secondNum?
yes
i think you return it outside the function..
so
func add(firstNum:Int, secondNum:Int) -> String {
let totalSum = firstNum + secondNum
}
return totalSum
}```
is this right?
hmm
hmm
but didn’t we just decalare that totalSum is whatever first sum and second sum are together
oh
constant*
its a constant not a variable
but that’s off topic
so like
yeah
k
lemmerey
Lemme try
Retry
ok
help
do i have to make cases
for each number
?
ok....









~~
