#development
1 messages Ā· Page 8 of 1
naturally
if you have the sauce
and if you have the spice
a direct message
would be very nice
int **
@grave sparrow
it's probably some super secret a15 feature
idk
super weird
I mean not sure if that's a good way, but it is how it's done currently
why can't apple just make getchipset()
that would violate security or something blah blah
very true
thanks tencent
much better than strcmp iPhone14
at least
0x1b588bb3 gang
cope
idk


are you just grabbing kcaches from the ipsws
M1
plain m1
mhm
m1 and 16gb of ram will last far longer than m2 8gb
@grave sparrow based
imagine dragins better
why would it not be intended to return 501
thats the uid for mobile
so it should like
return the right uid
:hmm:
[before calling dropRoot] whoami: root
[after calling dropRoot] whoami: root
so yeah
bro just call setuid(501) & setgid(501)
[before calling dropRoot] whoami: root
[after calling dropRoot] whoami: root
so yeah
well
[before calling dropRoot] whoami: root
[after calling dropRoot] whoami: root
@primal perch
did my professional code work
setgid setuid
wait did you get a device to test on
sick
Kernel Base: 0xFFFFFFF026058000
Kernel Mach Magic: 0xFEEDFACF
Kernel Slide: 0x1F054000
Kernel Proc: 0xFFFFFFF028C4EE50
Kernel Task: 0xFFFFFFE0F2C58698
Kernel Proc Again: 0xFFFFFFF028C4EE50
whoami: root
whoami: not root
my brother in christ i did your homework
@naive kraken now implement a ipa decrypter in trollstore
it would technically be possible right
why not
nahh
trust
i got this
in like 12 hours you should be getting messages from me asking why my device boot looped
why not just do bool isA15OrNewer = (cpuFamily == CPUFAMILY_ARM_BLIZZARD_AVALANCHE);
the get root method is hacky and if the app exits while still being root, it panics the kernel
not sure if that's possible, I also don't have time for it, not 100% sure but I think you might be able to use opainject to inject that one decrypt dylib into app store apps (maybe ppl prevents that, idk)
wait nvm opainject needs platformization which you don't get without kernel exploit
š
you sure tho about m1 iPads? because people say they're already supported
which means the offset is correct
@naive kraken may i include an option to install trollstore in altlinux
actually
can it be installed with altserver
trollstore
congrats on the release man iād buy you a beer but i spent my life savings on marketable plushies
wjat kind of plushies
marketable ones
only the installer can be installed with altserver
disregard this
isA15OrNewer = cpuFamily == CPUFAMILY_ARM_BLIZZARD_AVALANCHE;
please and thank you
what does sizeof(cpuFamily) do?
lmao
W
Wumpus plushies?
update to windows 10 (preferably LTSC) and install on WSL
my pc is from 2009 i deleted everything else system its how it run win8.1
install linux then
i remember something called cygwin ? cant it work? pls
i tried 12 distros but shut down from overheat
cygwin š
what
it's supported but no longer getting any dev work / frequent testing
or toolchains
welp
may as well consider it discontinued then, shrug
ah
whats the swift counterpart
bc it doesnt seem to exist
omg this mac mini is so fucking speedy
wow
also big sur is not bad
gonna update tho
ah
oke
same
Is this not it bro
I found it with āhow to find byte size of var in swiftā
I dont think u looked anything up
no bc i didnt care enough to google it
i asked whether a swift counterpart exists to continue the conversation silly
I dont think u looked anything up
.
79 ways to kms with swift
Is that a bad thing? At least there is options

Hmm
Then donāt
Find a way you like and use it
Hmm
Good point
can someone help
i installed wsl with ''wsl--install'' and restart.
there is ''ubuntu'' and ''wsl'' apps (wsl crashs)
i have some defaults on my mac that are causing issues, how can i find and remove them?
nvm
have you enabled wsl
search windows features
scroll all the way down and make sure Windows Subsystem for Linux is enabled
yes its enabled
You might want to retry installing it with the appropriate guide over at msft: https://docs.microsoft.com/en-us/windows/wsl/install
if you still run into an issue, feel free to report back and outline the step which you're stuck on
unfortunatly i tried all ways and didnt worked. if you are free can i give you my vds details and can you check for me?
if you tried all ways, then you're unfortunately beyond help because all I'd do is walk you through that very same guide with a few more google searches on the side, to be painfully honest
yes i see. thanks anyway
I'm still presuming you're either missing a step or need to clean & attempt the setup again - throw in a few reboots and windows might just comply
check your build version as well, just to be sure
i simply ''wsl--install'' and reboot after it downloaded ubuntu.
but nothing i can do anymore
and your windows build is higher / equal to the one listed in the guide?
21H2
Windows Server 2022 Datacenter Azure Edition
i can't tell if that's matching, higher or lower than the stated requirement
ya it says win 10 or w11 but its server xd
Not in it's entirety, it states a specific build to be the minimum. You'd have to google which standard-windows version it corresponds to since the server editions are based off standard / enterprise windows
in return it tells me you haven't bothered to read the guide in detail, therefore please re-read the guide
ok
could anyone help with python
ok
i need to:
- encrypt a file
- decrypt it and read from it without actually changing it on the hard drive
- decrypt it, add stuff to it, and encrypt it again
ask copilot
@copilot
@crude swallow
# write a function that encrypts a file
import sys
import os
import base64
def encrypt_file(filename):
with open(filename, 'rb') as f:
data = f.read()
encoded = base64.b64encode(data)
return encoded
# write a functon that decrypts a file on runtime
def decrypt_file(filename):
with open(filename, 'rb') as f:
data = f.read()
decoded = base64.b64decode(data)
return decoded
# decrypt the file add stuff to it and then encrypt it again
def main():
# check if the file exists
if os.path.exists('test.txt'):
# decrypt the file
decoded = decrypt_file('test.txt')
# add stuff to it
decoded += b'hello'
# encrypt the file
encoded = encrypt_file('test.txt')
# write the file
with open('test.txt', 'wb') as f:
f.write(encoded)
else:
print('File does not exist')
copilots creation
i have 0 idea if it works or not lmfao
aw man this is base64
can we attach appium to m1 mac apps?
how did you want it encrypted
using any python encryption library
rsa will do
Is it possible to attach to my own app running from /Applications via Xcode rather than lldb on cli? I've tried running debugserver on iPhone and attaching the process with Xcode but it always gets stuck at "Waiting to attach".
omg thank you!
I think I'm missing something. I've got debugserver running on 0.0.0.0:12345 but Xcode still refuses to connect. I've tried both wired and wireless. My phone is on 14.2 jailbroken with checkra1n and debugserver is from elucubratus repo. Mac and iPhone are on the same network as well.
I've skipped the lldb steps as you've said
lldb does connect btw lol
It's just xcode refusing to connect
isnāt debugserver like bugged on that version or something
and it just doesnāt work
i hate programming
I need Apple Exec role
oke
perish

capt is half white half asian
fat AND good at math

iām plain white so iām just fat
Plain White Tās
switch statement pls?
I donāt mind them making it less than straightforward to end up in pointer arithmetic territory, but the way Swift implements it is just a pain in the butt
2 straightforward lines of C ends up being like 5 wordy verbose lines of UnsafeMutableRawGourmetGlutenFreePointer
i mean thatās c++ too
but i like c++ and not swift
so i wonāt use that as my main argument
int x(0); int x{0};
int x = 0;

21H2 is the latest server release (2021 2nd half), WSL minimum version is from 2018
I feel like you were a bit more rude to them than was necessary
what in hell is int x{0}
rust
weren't you hating on rust like 10 months ago
wdym
depends on how i was hating on it
rust is cringe just like itās users
Do love me some gluten free pointers
initializer lists
std::vector<int> x{ {20, 30, 40, 50} };```
its just the standard way to initialize since C++11 ig
everyone here tbf
people dehumanize white names
let x = vec![20, 30, 40, 50];
wholesome
just trynna be respectful of people's dietary requirements 
still waiting for the Impossible Pointer
do they have any vegan or lactose intolerant substitutes?
they're in the process of developing vegan pointers from plant-based alternatives
im writing my own vegan extension
I say "than necessary" as if there's an acceptable level of rudenessā¦
š
match statement
in rust š
or python š
do you think the if-else chain would get optimized out
to a switch

nice
didn't know that, that's cool
I did on godbolt but with opt-level=3
It was same line count but different ordering or something
I appreciate the info, don't think I was rude per-say, just pinpointed to re-read the guide in detail since there's an elaborate manual way linked & the their replies didn't help me at the time of replying š¤·š½āāļø
you told them they're beyond help bro
I'm sure it was just a bad choice of words but just be more patient I guess

@tardy narwhal do u know fix
already updated repos/ upgraded?
ok fixed
unnecessary ping moment

try to ask before pinging if its a generic question
if its a very specific question i will ping
How can I get images of charmeleon from an api then spam images to someone camera roll if they match the twitter @ of āshepgobaā using swift?

how i can see this files in path in file
like i want to change some files inside them
but i cant see folders in pc
Lol
anything fun?
Yes but not telling you. A google search will answer your question immediately + from the link Christmas dog sent here you donāt deserve help anyway
:)
Then you arenāt searching the right thing
ok? if you dont know just stop bully and talk shit
bruh
I wish you luck in finding your answer but you shall not be receiving further help from me
yes so funny
somewhere to ask question if you want to make fun and laugh move #general
if libz3-dev is an actual package then search the repository it's on and add it, so apt can fetch it
ok?
but not asked
everyone dont have pcs like you have
thats why i need virtual machine
ok
Ik Iām just making a statement but like I LMFAO
stop make fun
Bro
Nah
Bro how are you this dense
Changing directory has NOTHING to do with having a proper PC or a virtual machine
NOTHING
Itās a basic skill
im talking to other guy. who says install win10 since last night
This is a waste of my time. I wish you luck
ok dont waste anymore talking here shit
There is no āother guyā here and you directed the previous statements at me
so idk what you chatting
And same to you
Byeeeee
how do you use a vm without a computer? 

I thought about it some more and it's definitely possible
I think you don't need platformization to get a task port of a non platformized process
so you can just use opainject + dumpdecrypted.dylib
i can't get fernet working in python
just spouts "cryptography.fernet.InvalidToken" at me
"cryptography.exceptions.InvalidSignature: Signature did not match digest."
did you try debugging without the UI parts?
(pathlib.Path might make your life easier)
i'll try
I'd make a cli first and once it works I'd move to making a UI
It works on iOS 14.2 if I connect via lldb on cli
Fixed it.
- Don't start
debugserveron device - Enter PID instead of process name to Xcode
how possible is a location spoofer on iOS 15 using tools that are already out
hello guys, someone know how can i found the kernel vinfo address of my ios version pls ?
possible probably
(i am completely unaware of what tools are out and what tools are needed)
Extremely, relocateme works
true
Works jailed or in a simulator
how to change directory in linux
rm -rf <dir path>
cdeez nuts in your mouth
stay safe
well would it be possible to replicate something like idevicesetlocation but runs on device
and not through a pc
For me, yes, but by the time I figure it out, cs will probably release cheyote (thatās how long it would take)

real and true
Jailed, at least partially. Iām having to rework some things
is it anything full entitlements would fix?
or is it actual code that has to be rewritten
eat
Pick up food for today and tm
Both but mainly entitlements
you can use trollstore to add entitlements
Stop being so entitled
stop trolling
i titled you

Nitroless man
Colleen Novielli, probably
larping as people who are employed
larping as people who are employed
rust users when &*

idk exactly what its for, maybe turning &mut into just &
so you dont end up with &&mut

@snow python youd probably know this since youve messed with location spoofing in the past
on older iOS versions (10 and below) in the com.apple.Maps.plist file, there used to be a key you can add to the file: __internal__PlaceCardLocationSimulation and make it true, and it would allow you to spoof your location in the stock apple maps app, it was apparently removed in iOS 11 and has been since then, do you know if theres anything similar to it in newer versions
from what i could find online, everything it outdated and there are no keys, but idk if you found something and kept it private or smth
int *&
I havenāt yet, Iāll let you know if I find something tho and Iāll open source it like always
I need to better document these things
int******** bruh;
oh thatās kinda cool, too bad itās been removed
I wonder why it was in there. itās prolly supposed to be done from Xcode instead these days?
tf is a platform rich application
does that make the app part of the 1%?
is there platform-working-class-application?
(int)bruh, go ahead, try and stop me
yoooo arm sex! @grave sparrow
@naive kraken just realized the trollstore icon is literally the troll face
god bless
beautiful
trol
ice golem
Ice golem deez
oke where


duh
the most pressing problems fr
god forbid they teach our kids ARABIC NUMERALSā¦.
fr
wait by sending a reply I reacted this would be great for iOS 15 and up
I cannot comprehend what you are saying
There should be a higher level class somewhere that you should be hooking instead
HUH
react to this message if you want ios 15 jailbreak
whenever you want bbg


why doesnāt someone just make an ios 15 jailbreak smh
@tepid olive @grave sparrow @native dune @hasty ruin
i just saw your copypastas
yall deserve a giant fr š
in dev channel?
ye
Oh shit weāre in dev channel 
what
fr
fr
Did you Fr just type that out?
You missed the most important thing
====RAGE OVER=====
Or whatever it was
we serve food here sir
wdym our copypastas? I was the one who made that message. Unless you mean that the other discord users here made other messages not related to mine that also mentions the glorious 13.5.1 (which seems very likely seeming how great it is) however upon checking I do not find them making any "copypastas" and instead seem to just copy my message, which I worked hard on. And what do you mean I deserve a giant fr? I mentioned how great of an iOS version iOS 13.5.1 was, and due to me already being jailbroken on the greatest iOS version of all time I wasn't interested in an iOS 15 jailbreak. It was a statement that was not a reaction to any particular message in the channel, in fact I don't even read #development , right now I'm just replying to a random message and assuming what it says, rather I just made a statement on my own to clean up any future questions if any arose on the particular topic. Sure, this opinion may change if I were to accidentally update to that version, but since I'm already on the holy grail I see no reason to.
...
Actually, now that I think about it, I recognize that you weren't trying to attack what I said. You said a giant "fr" which stands for "for real". Since replying "for real" on a message is typically agreeing with it, I see now that you were just stating your agreement with my message and those who reposted it. In retrospect I shouldn't have jumped the shark on this - I'm very sorry for falsely assuming this and will make sure to spend extra thought before replying to any discord messages in the future. Thank you for stating your agreement with my statement. iOS 13.5.1 on top.
anyone know how to fix this
@grave sparrow maybe you do
ok its a procursus biso nbug
woowhoo
downgrading by 1 version fixed
mashallah
wrong text direction lmao
yeah its arabic
how can i restart python script from within infinite times
os.execv(sys.executable, ['python'] + sys.argv) works only once
after that it's FileNotFoundError: [Errno 2] No such file or directory
i want to keep it running
like
restart
the program ends and starts again
without any other instances still running
What is the value of sys.executable and sys.argv during the second instance?
PermissionError: [Errno 13] Permission denied from the start this time
python3 main.py
just that
Okay. What is the working directory then?
except it's error 13 now instead of error 2
~/Documents/Task 2
I meant more like the value of os.getcwd() in the 2nd instance
Well another way is to provide absolute path of the file, using something like os.path.abspath(__file__)
yeah the working directory seems to be the same
Make sure you're calling this from your main file however
Then what is the reason for this error?
Try providing absolute path like I just mentioned
PermissionError: [Errno 13] Permission denied
Huh. Odd
oh i operate with files in this one
they're in the same directory as the python script
could that be the reason
Check where the error happens
o
i think i did it
had to use subprocesses but this will do
oops
the only downside is that the python script is actually never killed
without manual intervention
i need to kill it when the main window is closed by the press of the close button on the top bar
it initiated Gtk.main_quit
nevermind
the initial instance of the python script does get killed off
i tried putting pkill with the name of the script at the end but
the script still doesnt end
and the system monitor has no indications that it is running
@crude swallow why would subprocess be different than what you were doing before?
i don't know but it works
when i need to refresh the gui i do
sys.exit(0)```
this is a silly approach but gtk is also silly so screw it
Yeah I'd rather use another approach, but I guess it works
subprocess.run(f'pkill -f main.py*',shell=True)
this kills off the GUI window but the terminal still indicates that the script is functioning
and idk how to kill it without manual intervention
@cloud sundial
@misty cradle nerd
ok mr university
7 bit ascii is for [redacted]s
because 7,8,9 
@glacial matrix 
yeah. it was too much to even attempt
Only idiots use it
L
imagine pinging a bunch of random people
@available
@import
@grave sparrow click on this ping
theres someone named everyone#0001
never
why donāt you ask them
anyone here have a jailbroken device and some time to kill?
@grave sparrow you are probably free
considering you have no life
š
October š
why do you keep leaving all servers smh
wheres the procursus guy
Add it yourself
zero
zero
Iām serious
The forum says they will eventually but itās not at all a high priority so they havenāt bothered yet
Just pr it
wanted to post this here
better than nothing, but still very far from a jb
and a security risk
to summarize: there are two 15.6 exploits, one is a kernel vuln allowing apps to have kernel permission ACE, the other is the usual webkit ACE
old news
Trol
Meth
Cocaine
Shut up Monkey
yes
Okay but what about the first 3?
in your mom
itās not 4k or 60?
480p 10fps

Had to be downscaled bc discord couldnāt handle the drip
sadly not š¦
It really is

Steam deck
zsh better
no
sh(ut)
huh????
Ok why tf did you put i3 on it
Whats wrong with KDE for a 720p monitor
And why gentoo when it was on the perfect os before
Jailbreak users when they run 500 tweaks and wonder why their phone is a sauna
fr
nerds
how to view app documents folder using libimobiledevice
ifuse
probably wonāt work on Windows? donāt know if thereās a good fuse implementation there

No --no-preserve-root?
its not needed
it is not needed but it is very useful
u8 is 8 bits not bytes 
whoever made the meme is dumb
actually no
A pointer is 8 bytes
but in rust a pointer is 16 bytes because it holds both the pointer and the size
note that it says &u8
Well if they are talking about pointers then it should be 4 bytes since they said x86
most machines use 64 bit thoigh
and that's still x86
Ik ik
It was payback for this :kekw:
Fr
man im dead
āreplaces C!ā
@grave sparrow This email is to confirm that the āntwerkā organization has been deleted from GitHub by ācaptincā. Your organizationās repositories and content have been deleted from the system. You can reply directly to this email if you have any questions or feedback, weād love to hear from you.
@cursive rampart This email is to confirm that the āntwerkā organization has been deleted from GitHub by ācaptincā. Your organizationās repositories and content have been deleted from the system. You can reply directly to this email if you have any questions or feedback, weād love to hear from you.
why

sadder than all dogs go to heaven
This email is to confirm that the āntwerkā organization has been deleted from GitHub by ācaptincā. Your organizationās repositories and content have been deleted from the system. You can reply directly to this email if you have any questions or feedback, weād love to hear from you.
@grave sparrow we must fix this injustice
but iām at school
i canāt do anything rn
make new ntwerk
hurry
@gentle grove make
Hey guys, I have a question of possibility before I go down the rabbit hole. Iām trying to hook NSBundle bundleID thatās within my own tweak (itās in a framework Iām including and not open source.) Iāve tried hooking that plain and simple but itās causing the host app to have problems. Is it possible to hook just NSBundle+bundleIdentifier just within my tweak without effecting the hooked app?
Yea I was thinking of just compiling the framework into a dummy dylib and just hook that specifically after itās loaded the symbols into my main tweak
Is this framework used by the app or just your tweak?
Just my tweak
If you are first one to create that NSBundle then you could subclass it
@cursive rampart
iOS 12.5.1
????
no
P*thon
What is this code trying to do??
why are you appending 10 km for every 1000 meters
should be 1km, no?
need better variable name then
Wait, so for every 1000 meters you want to add 10 to another variable?
Why not divide by 100
Why use the list
Just addition
add all of the distances together since they have the same rate, and then just do a while loop to add 10$ while that total distance is > 1000
total = 0
[total += distance for distance in distances]
money = 0
while total > 1000:
money += 10
total -= 1000
But why the while loop lol
And if they donāt do partial miles just round down
but its also python so that doesnt really matter in practice
especially in the context of this intro level course assignment 
total = sum(distances)
money = total // 100
but the logic could be simplified down to this with your idea
very nice
wait fuck me in the but
list comprehensions dont allow that
man
money = sum(distances) // 100

I mean this is what I'd do:
runners = [{
'name': 'John',
'meters': 100,
}, {
'name': 'Jane',
'meters': 200,
}]
for runner in runners:
# $10 for every 1000 meters
runner['reward'] = runner['meters'] / 100
print(runners)
bonus points if you have a separate rate field
runners = [{
'name': 'John',
'rate': 10, # $10 per 1000 meters
'meters': 1000,
}, {
'name': 'Jane',
'rate': 1, # $1 per 1000 meters
'meters': 2000,
}]
for runner in runners:
runner['reward'] = runner['meters'] * 0.001 * runner['rate']
print(runners)
Just updated it to floor it, and noticed that we can say "km" rather than "1000 meters"
(As the race might only pay for each full km, not fractions of a km)
import math
runners = [{
'name': 'John',
'rate': 10, # $10 per km
'meters': 1000,
}, {
'name': 'Jane',
'rate': 1, # $1 per km
'meters': 2000,
}, {
'name': 'Jack',
'rate': 10, # $10 per km
'meters': 1500,
}]
for runner in runners:
# Calculate the total reward for each runner
# Multiplying by 0.001 to convert from meters to kilometers
#runner['reward'] = runner['meters'] * 0.001 * runner['rate']
# If we only want to reward them for entire km, and not partial, we can floor it.
runner['reward'] = math.floor(runner['meters'] * 0.001) * runner['rate']
print(runners)
based
Do I smell the devil's language going on here?
no thereās no javascript
Yeah we are using C#
ummm
I'm fairly certain this is P*thon
uummm
Shutup javascripts beautiful in its own way, specifically when its dressed up as typescript
just like a special kid to his parents, yes
beautiful in his own way

š”
60 dollar hackintosh
gifted children sitting there like
why
facts
yea im shitposting
i thought they would jump ahead of EU laws
why doesnāt a phone in 2022 have 240hz or 16gb
anyone who thought apple would massively increase ram is insane though lol
the 14 is 6 isnt it
The more ram the better!!!!
yeah
6 gigs is enough really
apple increasing the single core performance by 15% YET AGAIN just for apps to not be able to use it

they shouldāve probably did 8
ya
i donāt even understand the point
high performance games should always be the main beneficiary
Atp the performance benefit between 14 and 13 will most likely not be noticeable at all
it clearly is because apple wasnāt even confident enough to compare a15 to 16
they compared a13 to 16
Lol
they did the same thing with a15
idk why just compare it to the last one
itās just baby step improvements
its still 10-15% per year which is pretty good (when you look at intel/amd)
and the fact theyāre reselling extra a15 stock this year is an insult
but ya that is
a15 in the base is gay as fuck
OOH THE EXTRA GPU CORE
nah who cares
we cant hook a tweak correct? like say i wanted to hook my own.. I couldnt add the targetedtweak.dylib to executables of Moblesubstrate filter plist in hookingtweak.dylib's? Id have to target the app the targeted tweak initially hooks?
iāve seen people write patches for other peopleās tweaks so iām pretty sure you can
someone patched uhhh
whatever that really popular tvos alerts on ios tweak was called
if let Err(e) = fs::create_dir(&path).await {
if e.kind() != io::ErrorKind::AlreadyExists {
return Err(e);
}
}
this is dumb
but idk how to make it nicer
@restive ether I cant get the %constructor to be triggered. I set the executable name in the filter plist then dlopen the tweak before setting up the hook & that should make the %constructor be triggered again but its not.
CHOptimizedMethod0(self, NSString*, NSBundle, bundleIdentifier) {
CPLog("bundleID being called by: %{public}@", [[NSProcessInfo processInfo] processName]);
NSString *sourceString = [[NSThread callStackSymbols] objectAtIndex:1];
NSCharacterSet *separatorSet = [NSCharacterSet characterSetWithCharactersInString:@" -[]+?.,"];
NSMutableArray *array = [NSMutableArray arrayWithArray:[sourceString componentsSeparatedByCharactersInSet:separatorSet]];
[array removeObject:@""];
NSString *frameworkStr = [array objectAtIndex:1];
if ([frameworkStr isEqualToString:@"libappstoreplus"]){
return @"com.cokepokes.newbundleid";
} else {
return CHSuper0(NSBundle, bundleIdentifier);
}
//CPLog("dongz Stack = %{public}@", [array objectAtIndex:0]);
//CPLog("dongz Framework = %{public}@", [array objectAtIndex:1]);
//CPLog("dongz Memory address = %{public}@", [array objectAtIndex:2]);
//CPLog("dongz Class caller = %{public}@", [array objectAtIndex:3]);
//CPLog("dongz Function caller = %{public}@", [array objectAtIndex:4]);
}```
so far this is the ugliest thing and inefficient thing ive coded lmao
true
this might as well be the instant reply for everything here
if let Err(e) = fs::create_dir(&path).await {
if e.kind() != io::ErrorKind::AlreadyExists {
return Err(e);
}
}
š§
wtf
bruh
why is there an actual troll emoji
that will get annoying very fast
Set the same app bundle id of the targeted tweak within the .plist file. So if the targeted tweak hooks into App Store, the other tweak must hook into App Store.
Choose a tweak name alphabetically major than the targeted tweak (so it is loaded later by the injector and you don't need to dlopen the other tweak since it has previously been loaded). It should work
yeah
Approved in September 2021 as part of Emoji 14.0. Now available on iOS 15.4, Android 12L, Twitter, and Facebook. Coming soon to Samsung and Windows 11.
DetourNetworkUS ā Today at 10:22 PM
Approved in September 2021 as part of Emoji 14.0. Now available on iOS 15.4, Android 12L, Twitter, and Facebook. Coming soon to Samsung and Windows 11.
Heres my dilemma, I'm adding a framework (precompiled framework that makes calls to *bundleIdentifier * within it.) I want to fake that. I added that framework to a tweak called libappstoreplus.dylib. In my tweak, (maintweak.dylib) i dlopen the libappstoreplus.dylib so maintweak can use the framework. That works. Now hooking *bundleIdentifier * is where the problem is. If I hook *bundleIdentifier * in the appstore, obviously that cause havoc. So i need to specifically target *bundleIdentifier * within the libappstoreplus.dylib. I've tried adding libappstoreplus.dylib to maintweak's filter plist but it doesnt do anything. Figured i could filter if ([[[NSProcessInfo processInfo] processName] isEqualToString:@"libappstoreplus.dylib"]){ in the constructor and only hook that way but processname is only showing "AppStore". It's almost like i need msfindsymbol/mshookfunction but for a method instead of a function.
processName is never gonna be libappstoreplus.dylib though?
because the dylib just isnt the process lol
library is loaded into the process, you could search loaded images and see if the library is loaded though
i might be missing the point of what yiure tryna do tho
yea, i was just sorta using that as an example. I need to pretty much find a way to differentiate whether libappstoreplus.dylib is calling bundleIdentifier or if its the AppStore and hook/call %orig accordingly
Ok I understand what you want to do. When [NSBundle bundleIdentifier] is called by the App Store, it should return %orig, otherwise if it's called by your tweak, it should return something else. Is that right? So... Do you have information about the method/function caller within your tweak? I do something similar to prevent some functions to return a value when called from the app. I see you already used NSThread callStackSymbols but this is how I used it:
static BOOL isCalledByTweak() {
NSArray *symbols = [NSThread callStackSymbols];
int n = symbols.count > 5 ? 5 : symbols.count;
for (int i = 0; i < n; i++) {
if ([symbols[i] containsString:@"CALLER"])
return TRUE;
}
return FALSE;
}
5 was enough to check that (in my case)
At least it works and I just needed something that worked for me š
Yea you pretty much got it. Would have been hell of alot easier if the framework developer subclassed NSBundle or used bundleidentifer in one method instead of calling it individually 20x throughout the framework.
maybe if you are able to get the address of the caller from callStackSymbols and you check it with dladdr?
that would be less jank yes
get the range for AppStore's executable code and if its in that range, do the normal thing
or do the dylibs range executable code and if its in that range, do the speical thing
still pretty bad
because it relies on callStackSymbols
just check info->dli_fname
unfortunately, I don't think there is another way to get the address :/
check the link register
at the beginning of the function just do register uint64_t returning_to asm("x30");

then compare that
if returning_to is in the range of the dylib's code then you can do the special thing
in theory that should work fine
and i think youd need to do some different inline assembly thing because this just maps the variable to the register, not copies it
idk inline assembly syntax
yeah Iād say so
register uint64_t __lr asm("x30");
uint64_t returning_to = __lr;```
there
nvm you can just copy it and win
gg
cons: locked to arm64 and with pointer codes i think it affects the address bc the top 16 bits are used
so youd probably need to pacstrip
@grave sparrow
why are into chartitties
why wouldnāt I be
donāt make me leak your onlyfans
go ahead

chartwerk
stwerk
or a key correct
read above
do you have to strip the codes to compare pointer
isnāt the top 12 bits or whatever used for the key
or16
can you just & 0xffffffffffff or should you do __pacistrip or whatever
thereās a built in one i think

win
@midnight leaf so yea itās pretty easy in theory
true
but using register is more fun

donāt like that
when capt face reveal
Make a pr to gir 
idk
none
wholesome tip
i normally add a super simple remote killswitch
easy to bypass if they have the slightest amount of skill, but has saved me a few times in the past

could also use a time based killswitch along with that, and give them an unprotected build after payment has been verified or whatever
but that's meh
just add a time bomb lol
best
most people wont bother to try to bypass it
remote killswitch is unnecessary
@weary heath if youre going to do this i suggest you be up front about it and tell them, its good to be transparent and also they wont be suprised when you send them a new build after they send the payment.
most of the people on r/tweakbounty are unproblematic from my experience, but ive only done a handful of them across the past few years
who
who

Carbon
Thatās an element
so is carbon
Oh true nvm
That is a language but probably not the one you meant
1960s
something something
Something like Common business oriented kanguage
oh ok
well anyways its not new
Carbon is the new shitty google one
Rust but immature
google shouldve came up with a better name
Kanguage
didnt know it was made by kde
go develop some bitches @grave sparrow
fr
you know whatās not an element? rust
and a better language
they made go but worse somehow
itās an extremely IBM name
yes?

console would tell you what youāre missing wouldnāt it
tell me if you figure this out, iād like to know too
tell me if you figure this out, iād like to know too
Donāt tell me if you figure this out, i wouldnāt like to know too
L
@midnight leaf can I dm you, I have a question about your api if you have a moment
Lmao
suggestion: don't waste time by asking to ask. if you ask the question outright, there is no time wasted going back-and-fourth
If you want sure
Why are you an orange @midnight leaf
Itās more to reduce spam here my guy
Bruh thatās an apple
Reduce spam here? Thereās so much shit posting that an actual conversation Iām sure would be welcoming to everyone
My apologies
@midnight leaf @snow python can i not dm both of you, i dont have any questions but wanted a way to inject myself into the conversation
š
Yah sure dude
I guess that is also a fair point
fr
@indigo peak @ @primal perch n
twerk
So what about my api? I shut it down (fetching) cuz a butthead was using it
No one develops anymore
Yah essentially Iāve written an app which is theos jailed on device. I was wanting to know if you would be ok with the api using your backup api or whatever to get the latest version of a given app so I donāt have to rely on the user providing an ipa. If not thatās fine, completely understand
yeah the dude that made downgradeapp
apparently it has been out for 2 years and nobody noticed it
That will stop once you start to drive
Iāve done less bc I donāt have a jb device on 14.2+ anymore, and I need that for smth
iPad is on 14.0
L
thatās a scary thought


Forgot you only need to know how to press the break pedal to drive in the US
Can you specify what you mean by āget the latest versionā
Like are you just trying to get the latest version number from an app on the AppStore?
Driving at 15 is frightening
Yah so pipedream would be the user searches for a app from the AppStore, and it just downloads the latest available ipa. The user can provide older versions if they want them, but the point of my app is to make injecting packages as easy as possible. The other constraint is that it will only support free apps. Iām not about promoting piracy with the side loading
.
You guys also drive automatic so...
Would you like an endpoint from apple to get the latest version of an app?














