#development
1 messages · Page 45 of 1
cameron ldid wen???
I will be providing a ldid calling convention wrapper
yessss please
that would be amazing
apologies in advance for the flag parsing hell you'll need to endure lmao
My goals
Going to have support for openssl and libmd (when no p12 is specified)
Initially
mbedtls and wolfssl can be added later
what about CommonCrypto?
same way curl supports all of the above, uses CommonCrypto on macOS
machsign_set_source_mapping(handle, addr, sz);
machsign_set_flags(handle, MACHSIGN_FLAG_ADHOC);
L
I could
But
I was inspired by libcurl's easy api
imo there's literally nothing but benefits to the approach i suggested
if anything, APIs like that are easier to use because they're more discoverable and easier to document
Good point
Also allows C's type system to actually provide a little value
Cause vaargs suck
You just have to hope that they passed enough args

I already have stuff for that in Fugu15 macho.m
Sorry for OT but this is the most sane thread with most knowledgeable people so I’ll ask here:
Is there a way (maybe some jailbreak tweak?) to make the “nearby” sim-less iPhone be able to MAKE calls? It receives calls just fine but can’t make them
Of course I’ve got nearby calls on, logged into same iCloud and on same Wi-Fi, both devices receive the same calls but only the one with a sim can make them
I cannot find that file
you're looking at the wrong branch
oh
not sure how useful this is though
very much this
Oppa can support libundirect for Rootless ? Thanks
@faint timber i think youre the person here with the most snapchat&jailbreak knowlege, so using mdc, its possible to repoint functions to force for example a return true, i wonder if its possible, if theres for example a method called like +[SCUser hasSnapPlus] if its possible to overwrite that with mdc and without tripping the jailbreak detection
do you have any input on this?
drm is c/c++ so 100% no symbols
there's a different drm for networking vs jailbreak check
i've only dove into networking
networking drm has anti-patch and reads bytes and verifies if they were modified
to be even more hardcore, there are multiple checker functions that run in a thread and I think the checkers may check eachother
I don't remember if jb check has something similar to the network drm but it might?
isn't the bypass opensource now for the old version?
@indigo peak
i have 0 idea
it was just a spur of the moment thought tbh
i mean i was just wondering if repointing the method would trip up some detection
Previously we took a look at Snapchat’s root detection methods on Android. This time we are taking a look at how they detect jailbreaks, tweaks and hooks on iOS.
@indigo peak here
i mean, technically it shouldnt
ok, I helped you, now you help me
does starbucks app have jailbreak detection? or does fugu just break login and account cache?
do you have a non fugu jb?
check if you can login on palera1n
it logs me out every time and sign in returns 403 denied
when I reboot Im able to sign in
its not ellekits fault since I disabled it, its the systemhook most likely
seems to work for me
iOS 15.7.3 iPhone 7 palera1n
rootless or rootful?
rootful
@faint timber I'm assuming you're using rootless palera1n?
oh I misunderstood
@velvet path ?
my bad
its not systemhook
something is breaking
its jailbreaks fault
not injection related
@velvet path very weird
does it return 403 even if you enter the wrong password?
Seems that way
Wait
Different 403
Correct password is denied
Wrong password is failed to validate
Wtf
I pushed out Badger 1.2.1-1 for rootless and later for rootful - but it still seems like some people are having troubles installing 1.2.1-1 (ex no package found errors)?
any idea on what tf the problem is
sileo bug
packages that have both rootless and rootful available aren't downloadable on the latest stable sileo atm
should i just tell people to use Zebra
or install Sileo Nightly from https://repo.anamy.gay
hm idk
real
Sileo Nightly is probably the better pick
As soon as I push this stuff for work I’ll start on my mass patches
👍
hey btw, i know info.plists are signed due to special slots and stuff in apps
is the Info.plist signed for a private framework
Can we get a machsign thread 
spam ping aaron
this is the legitimate rootless build of sileo?
I was using the one that came with pogo, but it felt like a more advanced version
The best one atm is on dhinak’s repo
Does anyone know if SSL-pinning-bypass is possible on 15.0.2? SSL-killswitch maybe?
you want one?
there hasn’t been an update in awhile because the builds are broken but they should be uploaded there when it works
Use the nyamisty version v3 if the substrate version doesn’t work try the fishhook version
Make a post on r/jailbreak with tag [Request]
and don't forget to put a $500 bounty yeah
"change color of time label in status bar"
Calculating cdhash is ridiculously easy
do it rn in your mind
Done
might maybe be the smartiest one around.
Become a member and support my channel!
https://www.youtube.com/channel/UCRei8TBpt4r0WPZ7MkiKmVg/join
PLEDGE AND GET RECOGNITION AND A KISS: https://www.patreon.com/TheBerd
BUY MY SHIRTS AND KEEP ME FED: https://www....
bill
Thought about that but idk, it’s like kinda seems simple and you could like use preexisting stuff, but idk probly not. Also I don’t really have a way to pay.
@tepid olive for your screen-shot actions tweak could you add an action to like the done button to delete and copy to clipboard. Like what iOS 16 has?
i love berd so much

Hey I was wondering if there was any information or research done on how I could inject a dylib that sends UIEvents (touch events) to an app?
I am playing around with this app for locking and unlocking my door. I already figured out the auth process and how get a JWT and send HTTP requests to lock/unlock the door. But I really want to just inject a dylib that makes it so when I open that app with a URL it unlocks the door.
I can add the URL handler and all. But getting it to unlock the door then is where I am stuck. I can get JWTs from the heap but they are 99% too old and need to be refreshed.
Instead of continuing to look for a good way to trigger the JWT refresh I was just thinking it would be great to just send a touch event to the app to trigger the lock/unlock.
And ideas or recommendations plzzzzzzzz!!! Thank you so much
If sending fake UIEvents is something that isn't possible/documented by anyone I will just figure out the token refresh part. I am just sure people much smarter than me have figured this out already.
I was thinking about hooking to the UIEvent constructor and trying to figure out how to create my own that way. I was also looking at UIEvents in the heap trying to see if I could just copy the UIEvent and the objects it points to and then write those back to memory (reconstruct a UIEvent with touches) when I want to make my own.
Havent thought about how I get that UIEvent send to the UIView or UIWindow yet..
maybe look into https://github.com/xuan32546/IOS13-SimulateTouch
Wow, thank u so much. I was searching around Github but must have not known what to look for
Realllllly appreciate it! @torn oriole ! Thank you!
np 
From reading that code I found this too https://github.com/lyft/Hammer
and a ton of useful stuff, thank u!
Side note, maybe there is some function in the app you can just call directly, without having to interact with the ui directly
which one do you guys think looks better
I've been trying to decide for a while now
I can't decide
alr
@peak hornet I highly doubt you need to simulate gesture events
Within your dylib, you can directly call whatever method(s) you want
i am going to bite your cock in half
gm
its related to developement bro
fine, just say itttt

democracy has decided that it is the right one that looks better
Bold
🅱️old
Get it
Indeed
Anyone know how to get OpenGL to work in VSC for m2 macs? i can get glfw to render the window but when I try to compile shaders (version 330) I get an error that they ware unsupported, and the only version I have gotten to not throw an error is version 120.
I had heard that macs supported up to 4 or something
did you use the correct hints in glfw to create a gl 3.3 context
Yes
should be this
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
what does this print
printf("%s\n", glGetString(GL_VERSION));
2.1 Metal - 83
2.1 
My glfw version is also 3.3.8 if that provides any context as well
also those hints are called before the window creation right
Yes
ok i have no idea then
Yeah, it was being weird for me 😂 thought I would ask here and see if maybe I had missed something. Oh well I’ll try to figure it out tmr, thanks for your help
this guys code seems to work for him
Renderer: Apple M1
OpenGL version supported: 4.1 Metal - 76.3
maybe the #define GL_SILENCE_DEPRECATION
Does iOS use powers of 2 or powers of 10 for bytes
fr
MiB vs MB?
depends on the context
like every operating system
I just went with powers of 2 since it lines up with Xcode
never mind i am literally blind
or maybe not
Using powers of 2, Spartan reports 21.96 free and Xcode reports 21.78
using powers of 10, Spartan reports 23.58 free
so powers of 2 is closest? or maybe xcode is saying there's a bit less space than there actually is

@gaunt helm you’ve listened to light it up remix ofc, now try fuse odg if you havent already

Not relevant to this channel.

oh wrong channel
DGh
st
Hey man, thanks so much. I got something working off of https://github.com/lyft/Hammer
Just ripped out the XCTest related code becuase I was having trouble when trying to get the app on my phone using ios-deploy. Is XCTest a framework that is blacklisted or just not allowed to in an IOS app by chance?
It works great though. Took me a little to figure out the coordinate system is actually from the middle of the screen though unlike what apple says in docs for their coordinate system.
I also found some tweaks that do the same stuff. Not sure how I couldn't find this all when I was searching Github
Thanks so much though!
Glad you got it all working

@grave sparrow I have a proposal
I will write all Code directory blob writing code
You will write the code to add it into the Mach-o
I hate macho parsing
Is that a request
yes

@grave sparrow are you the science guy?

Does anyone know what the focus pill on the lockscreen is called?
Thanks
There's a simple O(1) algorithm to check if a number is prime that works in 95%+ cases.
Of course this is a joke, but it also comes with an important lesson: when estimating the probability of something never forget to take count of the base rate https://t.co/8QffjqcMT4
781
138
Can pay anyone who can help me use the area around the notch on my macbook screen for apps

also theos just doenst work anymore idk what i did. it just sits at that forever (any common issues?)
is there a way to write to my tweak preferences (via NSUserDefaults) from e.g. the Photos app? Right now it's getting denied because of missing entitlements (and tbh I never had to work with entitlements so far):
cfprefsd[103]: rejecting write of key(s) from process 14612 (MobileSlideShow) because setting these preferences requires user-preference-write or file-write-data sandbox access
random question are you coincidentally developing a tweak to lock hidden photo album?
prob doing this tweak bounty
- photos app doesn’t have write permissions ig?
@grave sparrow do you know what exactly i need to disable for unrestricted DYLD_INSERT_LIBRARIES?
not what i need to patch in dyld
just the sip bits i need to disable
libSandy
but I unfortunately haven't found a proper way to support these preferences extensions so check the libSandy readme for workaround
yea i figured it out
flex ☠️
?
So I have a tweak which I want to use for rootless and I obviously have the source code. but when I install it, my preferences look for a library in /usr/lib instead of /var/jb/usr/lib. so if anyone knows a solution for that please let me know
do any of the new exploits even allow r/w?
there are no new exploits
oh wait
just new vulns / POCs
I’ll try that thanks
Do I need to specify that in my main makefile or the one of the preference bundle?
Ok
idk why but i cant get that to work. so i specify LibGCUniversal_LDFLAGS = -install_name /var/jb/usr/lib/libgcuniversaml.dylib in my makefile but i still run into this issue
i think i see my issue
libgcuniversaml.dylib doesnt look right
ok so i corrected that issue but i still get the error
LibGCUniversal_LDFLAGS = -install_name /var/jb/usr/lib/libgcuniversal.dylib @grave sparrow does that look right?
but it still deosnt work
maybe it’s because libgcuniversal isn’t compiled for rootless?
well i got installed on fugu15
so it should be rootless
ohhh
i installed it and fixed it using dirtypatch
thats why it worked
so well yea makes sense to me
do we know if the dev will add rootless support
i think he said it somewhere yes
well anyways thanks for your help @grave sparrow and thanks for the tipp @serene hawk
@grave sparrow In order to get the new abi to compile things for iOS 15+ (fugu15…) I just need to use new SDK right ? But which and from where
Hmm, k, and is there like a common issue when u try to compile sm, like it just sits there
Like the cursor jus sits there
@grave sparrow so the way i see it there's multiple ways to patch dyld to unrestrict DYLD_INSERT_LIBRARIES
- patch
this->allowEnvVarsPath = (amfiFlags & AMFI_DYLD_OUTPUT_ALLOW_PATH_VARS);indyld4::ProcessConfig::Security::Security(probably fine) - patch
dyld4::ProcessConfig::Security::getAMFIand override return value (this would mean i would end up overriding all the other flags too though)
or i could also just hook AMFI itself
because at the end of the day getAMFI goes to AMFI
true
you can use any sdk but you need to use the toolchain of Xcode 12 or up
the most i've ever done was serial so
view logs
thats it
/dev/console is kernel output
true
you dont need lldb
how are you connecting to mac
oh
yea you're fucked
i thin k
So as long as I have newest Xcode installed I should be good? Correct
ask in apple-silicon or something one of the m1n1 using nerds have to know this
yes
all i know is that serial is initialized extremely early and solely supports PCIe serial ports unless you manage to get UEFI to initialize some other thing as a serial port and expose it to boot.efi
and the only Macs with serial ports are Xserves so uh
ok what is fwkpfv
does this work with thunderbolt
look for msgbufp
ok
if you still want log output
struct msgbuf {
#define MSG_MAGIC 0x063061
int msg_magic;
int msg_size;
int msg_bufx; /* write pointer */
int msg_bufr; /* read pointer */
char *msg_bufc; /* buffer */
};
struct msgbuf *msgbufp __attribute__((used)) = &msgbuf;
msgbufp->msg_bufc should be the message buffer
do you not know about platformization???
Dylib needs to be in trustcache probably
yeah
dylib either needs to be in trustcache or you need to set TF_PLATFORM on the dylib vnode
yes
bro you have physrw
and were able to overwrite wx_allowed
it's not hard
io_service_t service = IOServiceGetMatchingService(kIOMainPortDefault, IOServiceMatching("AppleM2ScalerCSCDriver"));
io_connect_t conn = 0;
kern_return_t kr = IOServiceOpen(service, mach_task_self_, 0, &conn);
would this IOServiceOpen() call work normally without any of the previous hack code (below) in the new CVE
like is that IOService normally 'off limits' for regular processes
yes
it’s just a hdr processor
that's one of the features, yes 🙂 why do you ask?
cause i‘m having issues with tcc. i once developed such a tweak for authentication and it was just fucked up. now i‘m having issues again. the tweak works on fugu15 max but crashes on xinaa15. the nsfaceidusagedescription is set via hooking nsbundle and tccd also gets hooked to allow com.apple.mobileslideshow but somehow it works for some and for some others it doesnt
wanted to know if you also experienced such crashes / issues
I didn't have to mess with tcc at all, running context evaluatePolicy just works (at least in the Photos app). Though so far I'm only testing on palera1n, no idea if it would behave differently on Fugu15 or Xina
doing the same. somehow in some cases tcc grants permission and in some cases it don’t, still figuring out why. i recommend testing your tweak on xinaa15 also.
the thing is I don't have any devices on a compatible firmware for Fugu or Xina, so palera1n is the only way I can test. But I just noticed that what you described seems to be a FaceID only issue. As there is no way to test FaceID on palera1n devices, I had to rely on TouchID so far and assumed that FaceID would work the same. But after a short read it seems that this might not be the case. Sucks, as I don't have any way to test this :/
i could test it on fugu if you need help. make sure to hook nsbundle and set nsfaceidusagedescription. that’s definitely required
Sure, I'll let you know once I have a version ready that works more or less. Care to provide me with the correct hook for NSBundle so I don't have to search for it? 😄
sure, check pm
With the latest vulnerability, we can’t control the memory that’s being replaced, correct?
The question doesn't make sense
What does the vuln allow us to do? Kernel panic through a buffer overflow?
I just don’t understand using what techniques it can become a kernel r/w exploit
Can device tokens generated by DCDevice be created via API?
It's an out of bounds memmove
If you're looking for cowabunga on 16.4... Not even close
You need to find a way to turn the oob memmove into a controlled kernel r/w
On the old days, you'd use regular techniques (heap feng shui, filling the heap with controlled objects and what not) but now mostly everything is PAC'd and you need to use a technique to go around it
I'm not, just wondering of possibilities
got it
were the mcbc techniques patched
yes
those are patched, IOSurface is PAC'd now
now - either 15.2 or 15.4, I don't remember, there's a presentation on that
is it possible to chain it with mdc?
u need an overwriting exploit for cowabunga on 16.4, this seems like a one time occurrence apart from cowabunga lite
I am a developer who usually makes jailbreak bypasses. I recently had a customer try to install a tweak that I have given to other customers. This user is on Xina and everytime when he opens the app (Western Union). It hangs and then closes. This doesn’t happen on my phone (14.4.1 u0). I am wondering if there is something developer related I must do or that I am doing wrong. I can share the source if need be. Compiled using 15.4 & 14.3 sdk.
Xina is a fucked can of worms
If you share code then maybe someone could spot the issue
@pine holly
That’s the problem
%hook JailbreakDetector
+(bool)isJailbroken {
return 0;
}
%end
Something this simple shouldn’t hang an app
It’s like it can’t init
Because it just hangs for 10 seconds then soft crashes with no error or crash
Works on a rootful u0 device
So I have 0 idea
My little understanding of Xina doesn’t contribute to the fact that it doesn’t work but
The only other thing I could think is maybe outdated Theos
But still doesn’t make sense because Xina still fixes any issue that would have been caused
And yes it is
maybe they detect objc hooks
@pine holly this is gonna sound odd but can you share your makefile and control file?
Gladly
TARGET := iphone
latest:7.0
include $(THEOS)/makefiles/common.mk
TWEAK_NAME = WUBypass
WUBypass_FILES = Tweak.x
WUBypass_CFLAGS = -fobjc-arc
include $(THEOS_MAKE_PATH)/tweak.mk
Package: com.ios.wubypass
Name: WUBypass
Version: 0.0.1
Architecture: iphoneos-arm
Description: An awesome MobileSubstrate tweak!
Maintainer: ios
Author: ios
Section: Tweaks
Depends: mobilesubstrate (>= 0.9.5000)
what versions is this supposed to support?
maintainer: ios
try sticking ARCHS = arm64 at the top of your makefile
I wonder if Xina is doing some fuckery and trying to force the arm64e slice in to an arm64 app
😭
Is this the same Cameron I think
Chief Queef?
And yeah I am @trail sandal
Iosrouter
#1 tweak developer
💀
no i’m not that guy
I’m stupid
You are chief queef you lied
by default theos does arm64 and arm64e
Bet
hence my running theory that it might be a slice problem?
Is there anything in Console?
Thsi is the only thing that would seem concerning
That’s what I’m saying this shit makes 0 sense
Yeah I got 0 idea
Any other suggestions?
Maybe I need to update Theos or sum
Idek im lost
wtf
Sorry but I know you guys will know how to do this off the top of your heads.. So I found that I can use https://github.com/lyft/Hammer to send fake touch events to the ios app I am injecting into. To get it to work though I had to rip out all XCTest related code. And I am hoping to get a dylib built that has all that XCTest functionality. The issue is that XCTest has a TON of dynamic dependencies and they tree out even further.. Is the only solution to modify with install_name_tool and put all the full tree of deps in my app?
I cant remember if there was some way to statically link something like XCTest and its deps into a dylib or not
Actually I think I got it figured... Sorry about that
Actually, I don’t have this figured out. So I need to link with the XCTest framework. When I goto patch the app using objection it has helpful warnings about all the dependencies from that framework that are missing. Those dependencies have more dependencies.
How can I create a library that has all the dependencies I need? Or do I just need to go through the whole tree of dependencies and make sure I have them and update the linked dependency path for each ?
I found some dylib bundler but it didn’t seem to work. I’m guessing this is my best bet. https://github.com/auriamg/macdylibbundler
Prob just using it wrong
theos currently has a bug where libraries cannot link against other rootless libraries
besides that you need to compile everything with -install_name @rpath/whatever in LDFLAGS
I actually have this stupid complicated setup
I am using Frida with a gadget script to add a handler for opening url . Was easy to do in Frida. Then I call class methods on this dylib I inject to do the rich events. The dylib I have been talking about I just am@making with a normal Xcode project
Really my question is about how you guys go about making sure I have all the dynamic libraries u need if you include a framework that has a big dependency tree
And those frameworks must not be on the phone . Like xctest
For ex, and sorry how long this is. But after I inject my dylib and XCTest into the app (install name tool) and put it in the right place. It then wants the deps from XCTest which is this huge list:
Warning: missing file: @rpath/libswiftCoreFoundation.dylib
Warning: missing file: @rpath/libswiftCoreGraphics.dylib
Warning: missing file: @rpath/libswiftCoreImage.dylib
Warning: missing file: @rpath/libswiftDarwin.dylib
Warning: missing file: @rpath/libswiftDispatch.dylib
Warning: missing file: @rpath/libswiftMetal.dylib
Warning: missing file: @rpath/libswiftNetwork.dylib
Warning: missing file: @rpath/libswiftObjectiveC.dylib
Warning: missing file: @rpath/libswiftQuartzCore.dylib
Warning: missing file: @rpath/libswiftUIKit.dylib
Warning: missing file: @rpath/libswiftos.dylib
Warning: missing file: @rpath/libswiftFoundation.dylib
And many more:
Warning: Cannot resolve dependency library: /var/folders/cp/r4ygccdx29s9yl7slt4sb67c0000gn/T/kwiksetURLScheme-frida.ipa.ba7e3837-1a60-4794-b308-e54ac931e6ca/Payload/Kwikset.app/Frameworks/libswift_Concurrency.dylib
Warning: missing file: @rpath/XCTestCore.framework/Versions/A/XCTestCore
Warning: missing file: @rpath/XCUnit.framework/Versions/A/XCUnit
Warning: missing file: @rpath/XCUIAutomation.framework/Versions/A/XCUIAutomation
Cannot resolve rpath for: @rpath/XCTestCore.framework/Versions/A/XCTestCore from /var/folders/cp/r4ygccdx29s9yl7slt4sb67c0000gn/T/kwiksetURLScheme-frida.ipa.ba7e3837-1a60-4794-b308-e54ac931e6ca/Payload/Kwikset.app/Frameworks/XCTest.framework/Versions/A/XCTest
Warning: Cannot resolve dependency library: /var/folders/cp/r4ygccdx29s9yl7slt4sb67c0000gn/T/kwiksetURLScheme-frida.ipa.ba7e3837-1a60-4794-b308-e54ac931e6ca/Payload/Kwikset.app/Frameworks/XCTest.framework/Versions/A/XCTest
Cannot resolve rpath for: @rpath/XCUnit.framework/Versions/A/XCUnit from /var/folders/cp/r4ygccdx29s9yl7slt4sb67c0000gn/T/kwiksetURLScheme-frida.ipa.ba7e3837-1a60-4794-b308-e54ac931e6ca/Payload/Kwikset.app/Frameworks/XCTest.framework/Versions/A/XCTest
Warning: Cannot resolve dependency library: /var/folders/cp/r4ygccdx29s9yl7slt4sb67c0000gn/T/kwiksetURLScheme-frida.ipa.ba7e3837-1a60-4794-b308-e54ac931e6ca/Payload/Kwikset.app/Frameworks/XCTest.framework/Versions/A/XCTest
Cannot resolve rpath for: @rpath/XCUIAutomation.framework/Versions/A/XCUIAutomation from /var/folders/cp/r4ygccdx29s9yl7slt4sb67c0000gn/T/kwiksetURLScheme-frida.ipa.ba7e3837-1a60-4794-b308-e54ac931e6ca/Payload/Kwikset.app/Frameworks/XCTest.framework/Versions/A/XCTest
etc...```
not an expert but i think it’s missing dylibs
haha yeah
Sorry If I am confusing
Im trying to figure out how to deal with the tree of deps that u get with dynamic libraries/frameworks when u bundle something like XCTest with whatever
Ironically I find that frida has support for touch event https://github.com/nowsecure/frida-uikit/blob/master/lib/touch.js
This guy 💀
Repost because I am desperate for help (and money)
I am a developer who usually makes jailbreak bypasses. I recently had a customer try to install a tweak that I have given to other customers. This user is on Xina and everytime when he opens the app (Western Union). It hangs and then closes. This doesn’t happen on my phone (14.4.1 u0). I am wondering if there is something developer related I must do or that I am doing wrong. I can share the source if need be. Compiled using 15.4 & 14.3 sdk.
Arch: arm64
Sdk both 14.3 and 15.5 have been tried no difference
Fair but I want money

And I actually want to help the person
I couldn’t imagine not being able to use my bank
Lmfao
only supprt fugu
Been on it since day one
people gonna flock to fugu
I mean yeah of course
It’s by far better
Not an argument
This mf still 3 edits behind
Give him a few minutes
Ily < 3
also having such issue with tweaks working on fugu, but crashing on xinaa15. just give up, trust me. trying to fix it is just wasting time
None just doesn’t work
Fair
what exactly is the issue?
when a library links against a library, it doesn't use the lib/iphone/rootless path
(was wondering why it worked fine for me, but AltList has rpath for both versions, so it doesn't matter)
it's only for libraries
so you are making one?
no it's when a library links a library
tweaks linking it them is fine
yeah yeah, I added AltList to the linking list of my lib, to test that
hm well maybe it doesn't apply to frameworks then
or it works because of the rpath
? (So the ppl on the theos discord don't waste time on that)
ifeq ($(THEOS_PACKAGE_SCHEME),)
# ObjC/++ stuff is not here, it's in instance/rules.mk and only added if there are OBJC/OBJCC objects.
_THEOS_INTERNAL_LDFLAGS = $(if $(_THEOS_TARGET_HAS_LIBRARY_PATH),-L$(THEOS_TARGET_LIBRARY_PATH) )-L$(THEOS_LIBRARY_PATH) $(DEBUGFLAG)
ifneq ($(THEOS_VENDOR_LIBRARY_PATH),)
_THEOS_INTERNAL_LDFLAGS += -L$(THEOS_VENDOR_LIBRARY_PATH)
endif
else
_THEOS_INTERNAL_LDFLAGS = $(if $(_THEOS_TARGET_HAS_LIBRARY_PATH),-L$(THEOS_TARGET_LIBRARY_PATH) )-L$(THEOS_LIBRARY_PATH)/$(THEOS_TARGET_NAME)/$(or $(THEOS_PACKAGE_SCHEME),rootful) $(DEBUGFLAG)
_THEOS_INTERNAL_LDFLAGS += \
-L$(THEOS_VENDOR_LIBRARY_PATH)/$(THEOS_TARGET_NAME)/$(or $(THEOS_PACKAGE_SCHEME),rootful)
endif
👍
can confirm works fine for frameworks, but not for libs
damn libs
ight, I made a PR with those changes
how would one go about porting a tweak to rootless?
for example https://github.com/haoict/tiktok-god
personally i'd use Luz
but you can update theos and add THEOS_PACKAGE_SCHEME i think
What is Luz?
If this is a “just use Rust” joke I do not know it
worst self promo ever
what does luz do
heh, that's… an answer I guess
you would set THEOS_PACKAGE_SCHEME = rootless in the makefile, then look through the code for any paths to files
and change them to have a /var/jb prefix
I can see a handful of them in Tweak.xm and Tweak.h, there would be more than this I only looked quickly
yea it was quick my bad
build system like theos but in python
but theos is better for certain parts of tweak development like building apps and daemons and stuff
luz can't do it yet
I'd keep this project using Theos just because the changes you need are minor
but definitely consider Luz for new projects
Fair. I’ll try soon and make a PR
maybe also fix up some things in the tweak, haoict seems to have gone inactive
whoever maintains theos, the installer seems to be messing up perms? not sure what happened, i followed the oneliner from the https://theos.dev/docs/installation-macos guide
oh wait nvm did i misinterpret the error
yea i did my bad
so for example,
#define PLIST_PATH "/var/mobile/Library/Preferences/com.haoict.tiktokgodpref.plist"
becomes
#define PLIST_PATH "/var/jb/mobile/Library/Preferences/com.haoict.tiktokgodpref.plist"
and that's that?
or does it become /var/jb/var/mobile/Library.... 
@lime pivot does theos set any variable so I can change my code for rootless using preprocessor?
yep that one
THEOS_PACKAGE_INSTALL_PREFIX
might be useful to use that
I guess I should say, what's the correct way to respring?
Rn I'm doing posix_spawn("/usr/bin/sbreload"); and using posix_spawnp won't work cause PATH is not set in settings correctly
Can someone test this? I have no idea if it still works
https://adamdemasi.com/2019/08/25/respring-the-right-way-followup.html from Mr. Adam himself
Did you see the bottom?
no i’m too busy with your mom
The final consensus was that sbreload is the correct way
i also didn’t read anything you said
who's that
british guy idk
you may find https://github.com/theos/headers/blob/master/rootless.h helpful
It wasn’t this version specifically but I get a crash to safe mode using 1.0.0-1 when trying to launch an app
Fugu15 Max
No log is generated but that might be on ellekit’s end(?) idk
Can you give me a symbolicated crash log?
Adam gave me a crash log but he doesn't symbolicate it
Now that I think about it, I'm pretty sure I fixed it already but it's on my laptop at home
Ah ok, I’ll try again when you push that one
Yea idk I didn’t see a SpringBoard crash log
@timid briar test pls
Still crashes
Really?? It worked for Adam
That’s really weird
Oh wait wait I uninstalled and reinstalled and it works now
Maybe uninstalling it removed old files or something
@grave sparrow i've decided i'm going to patch getAMFI
patching ProcessConfig::Security::Security won't really work the instructions change
getAMFI seems stable
so i'm just going to make it return whatever it returns | allow_path_vars
there's some environment variable check at the end that i can clobber
actually idk hooking AMFI seems more stable...
you know what, i'll just implement both and see which one works 
What is required to adapt a tweak to rootless jailbreaks?
it's hard to find any docs on it vs blogs talking about rootless jailbreaks in general
thanks
that page is mostly vague though
so if you have any further questions ask
at a high level, you need to change paths that reference jailbreak files to the rootless ones, move all of your files into /var/jb, switch the package architecture to arm64 and build
theos has macros for the first (rootless.h) and THEOS_PACKAGE_SCHEME=rootless takes care of the second* and third
I don't have access to the tetherme source anymore, but betting it would work with a resign and new file locations. As long as the couple packages it uses have been updated anyway.
Hi, so I'm coding my first tweak for fugu15max but it doesn't seem to display the UIAlertController. Can someone help? Code:
what does that have to do with my question?
for what
I just did not pay for the junipero theme at the time cause I think it didn't support rootless
unrestricted DYLD_INSERT_LIBRARIES on macOS

So, what am I doing wrong here?
ic
its probably UIAlertAction *defaultAction
and then i'm gonna hook posix_spawn to insert DYLD_INSERT_LIBRARIES
doing this from kernelspace is kinda wack bc i would need to figure out a decent way to specific what to inject
but its probably a fuckton easier than userspace
i don't really want 0xDF
i just want current | ALLOW_PATH_VARS
why
i know
i don't need any of the others
this is all i can find

ida trashed all of my manual constant > enum
thanks bro
@grave sparrow
bruh
thanks discord
i annotated it
yea
static unsigned int patched_macos_dyld_policy_env_vars(proc* a1, unsigned int* inFlags) {
unsigned int ret = FunctionCast(patched_macos_dyld_policy_env_vars, orig_macos_dyld_policy_env_vars)(a1, inFlags);
return ret | AMFI_DYLD_OUTPUT_ALLOW_PATH_VARS;
}```
easy
arghhh god damn it the library it uses is not open source, can i just edit its deb file to not install into root but into /var/jb/Library?
the problem with that is that the library might still have file paths in it that would need to be modified
hmmm you're right
The issue was that I was building in Ubuntu instead of macos with xcode

i guess the library doesnt work then or i install it incorrectly
would explain also why the tweak isnt working either, no library -> no tweak. Are there any extra steps, like specifying where to look for EXTRA_FRAMEWORKS?
that's an issue with how your pref bundle is compiled
sorry for the noobie questions i have next to no experience in tweak dev
yeah compare those to https://github.com/haoict/tiktok-god/blob/master/pref/Makefile and make sure it's installing in the right place also im pretty sure the library he's using is open source https://github.com/kuteteen/libhdev
It's outdated, sadly
rip
as for the pref makefile, well i see the ln -s thing, trying to make it work right now
thats not what I meant
oh
you need to change the install path of the framework
or change the dependency of your pref bundle via install_name_tool
oh the framework? it's getting installed into /var/jb/Frameworks/libhdev.framework right now
is that not right?
that's right but your pref bundle is not linking against it correctly
@onyx ember can you remove the login from your repo now?
oh and also whoever installed it needs to reinstall system-cmds 
Good to know
But you have to reinstall system-cmds after deleting it
uhhh i think i get it but not quite, so i need to specify ldflags to make it link correctly? forgive the stupidity but i cant for the life of me tell the difference between altlist pref makefiles and ttg ones right now
the library in $THEOS/lib/iphone/rootless needs to have an install name with rpath
@rpath/SomeFramework.framework/SomeFramework
Do system-cmds work now?
yes…

Aright, I'll test it
yea same issue here
L
it prompts for mobile
Anything in syslog
Or wherever sudo logs to
yeesh i really do have no experience,
install_name_tool -add_rpath @rpath/libhdev.framework/libhdev /Users/igmn/theos/lib/iphone/rootless/libhdev.framework/libhdev ?
ty for fixing this, what was the issue?
opa fixed it
nothing in syslog
Ah
Try using without a password, I remember one could do that by adding something in sudoers file...
jailbreak development is nasa shit 
But now when people uninstall it they're gonna have no login
You really f-ed everything up
They just need to reinstall system-cmds
just
Nobody is gonna realize that
It works even if they don't do anything lol, I don't push things with bugs that break stuff after a update or two.
What
you could have just used dpkg replaces correctly, then you wouldn't have needed to rm anything
That conflicts with existing installed stuff.
yeah what you should have done was make a custom system-cmds build with your changes
but anyways it's too late for that now
Don't worry, once a system-cmds update is available, it will auto replace everything ...
A system-cmds update won't be out until apple does another source dump...
It fixed NewTerm, but not MTerminal
maybe SIP related?
I bought it, happy?
sorry for the incoming text wall
i suck dick at logos
%group unsigncutsInvalidSignature
%hook WFSharedShortcut
-(void)signingStatus {
return @"APPROVED";
}
%end
%hook WFGalleryWorkflow
-(void)signingStatus {
return @"APPROVED";
}
%end
%end
%hook WFShortcutSigningContext
%group unsigncutsInvalidSignature
-(BOOL)validateAppleIDCertificatesWithError:(NSError**)arg0 {
return YES;
}
-(BOOL)validateSigningCertificateChainWithICloudIdentifier:(*id)arg0 error:(NSError**)arg1 {
return YES;
}
-(BOOL)validateWithSigningMethod:(*NSInteger)arg0 error:(NSError**)arg1 {
return YES;
}
-(BOOL)validateWithSigningMethod:(*NSInteger)arg0 iCloudIdentifier:(*id)arg1 error:(NSError**)arg2 {
return YES;
}
%end
%group unsigncutsAllowAnyContact
-(void)validateAppleIDValidationRecordWithCompletion:(void (^)(int, int, int, id))completion {
//the following is a rebuild / reverse engineered of the actual method WorkflowKit has for this
//but no longer check if sha256 phone/email hashes match in contact shared importing, just auto run completion block
//while still respecting isPrivateSharingEnabled, as well as self importing
SFAppleIDAccount* account = [[[%c(SFAppleIDClient) alloc]init]myAccountWithError:nil];
if ([[account altDSID]isEqualToString:[[self appleIDValidationRecord]altDSID]]) {
//the alt dsid matches with users - assume this is user's shortcut, no need for private sharing enabled
completion(0x1,0x3,0x0,0x0);
} else if ([%c(WFSharingSettings) isPrivateSharingEnabled]) { //respect privatesharingenabled pref
completion(0x1, 0x2, 0x0, 0x0);
} else {
//Skipping AppleID Validation Record due to Private Sharing Disabled
//(AKA: Error)
completion(0x0, 0x2, 0x0, [%c(WFSharingSettings) privateSharingDisabledErrorWithShortcutName:nil]);
}
}
%end
%end
%ctor {
preferences = [[HBPreferences alloc] initWithIdentifier:@"cum.0xilis.unsigncutsprefs"];
if ([preferences boolForKey:@"isUnsigncutsEnabled"]) %init(unsigncuts);
if ([preferences boolForKey:@"isInvalidSignatureEnabled"]) %init(unsigncutsInvalidSignature);
if ([preferences boolForKey:@"isAllowAnyContactEnabled"]) %init(unsigncutsAllowAnyContact);
}
im embarrassed to ask this but if i have two groups, one group does messes with three classes, two of them the other group doesn't touch, but the third method is in a class that the other group messes with a method in, how do i handle that without C++ requires a type specifier for all declarations
(the unsigncuts group is in the code btw, im just not putting it here since doubt thats the issue)
i gave up and made my own tweak LOL, does all i need except downloading and im not figuring that out, works great
lel
wait
omg
oh wait that wasnt it aw
thought it was
-(void)signingStatus {
i changed it to
-(NSString *)signingStatus {
and still doesnt work
xD

Nerd
I need to find the address of exec_mach_imgact, how do I find out what instructions I should search for
grab leaked dev kernel (hard to find these days as apple pulled them), then find it in release kernel by string xrefs
or if it's in the kernel itself and not in kexts you can use KDK dwarf kernels instead of leaked dev kernel, they are fully symbolicated
But when I search the kernel for the strings in it, nothing shows up
I'm using r2...
Literally any iOS kernel
that's your issue
gm
Idiot
yeah it's fine but not for kernel stuff tbh
Well I don't care about this anyways
I'm not at my laptop so I don't have a desktop
So I can't exactly use ghidra
idk
maybe string xrefs are broken
or you are indeed searching for strings that are ifdef'ed out
in general you need to search for panic strings
most other stuff doesn't exist in release kernels
Hello , I searching for IOS Penetration Testing Couse and Exploit Development
Anyone can recommend a course in zeroday hunting and browser exploration
I'm gonna bully you to buy ida for me
I have kidnapped your mom
If you ever want to see her again, buy me ida
I am doing her right now too
No balls
Guess I'll killing your mom
Fine, I'll settle for binja
@grave sparrow soooooo i wanted to test the dyld patch/amfi hooking right?
i cant
you know why>?
because apple broke wifi on some ventura version
and that was the only version i had on hand
so now i have to wait an hour for this stupid mac to update again
at least im saving an hour by redirecting the download to my laptop instead of over this crappily cobbled together network
Is airportitlwm broken for you or something?
its buggy even on actual macs on ventura
Oh damn
Well my hackintosh works perfectly on Ventura atm
I updated it today from Monterey
I was getting some kernel panics but it was because of airportitlwm, cause I was using the Monterey build
noooo ventura is good 
i am on a supported Mac
ok finally
it updated
@restive ether happy birthday big man
thanks big dawg
happy birthday!
Thanks, I had to update my hackintosh to macos ventura for this
cause my ubuntu on wsl2 didn't work on windows
@grave sparrow DYLD_INSERT_LIBRARIES is just stripped on unpatched dyld right
i guess yes
DYLD_INSERT_LIBRARIES=crack.dylib bash just runs bash on my m2
on my test device dyld complains crack doesn't exist
so i think it's working
ok now what
never mind
i have sip completely disabled
and amfi disabled
🤡
ok yea it works
how the fuck do i do this from kernelspace man
lmfao
yo, did you get it to work?
nah but i do have my own tweak now for doing what i need
if you want it lmk ill give you the repo
sets the region to US, removes ads, bypasses jailbreak detection
i need it to change region thats all
can you dm?
no need, add https://repo.igerman.cc and get the tweak haha
unless you want a custom version
thank you, does it work on latest
yep
great thx

add a maintainer field in control file
, i hate seeing warnings, ig ill just add in status file
will do
I don’t get why people think this is a problem
its a private api key for a paid service
is it not
yeah but are you expecting it to somehow be any better if I proxy the requests through my server? people will abuse my proxy instead
true but assuming you notice it before it’s too late
ratelimits
I thought openai already does have some rate limiting
but yeah true you sure can implement more fine grained rate limiting
and you can revoke access easily at any time, or swap it out seamlessly
boba teaching me the basics of server side dev fr
no

I’d wonder how many are even on a paid plan anyway tbh
aside from peak periods like just after release I’d bet the traffic easily fits in the free plan
uh i thought there wasnt even a free plan
there is
you get about 30 requests per minute or something like that
which is still a lot
I can’t imagine an app really needing more than that unless it’s starting to pick up some real traction
which I mean, if all you’re doing is presenting GPT3 (is 3.5 available to the free tier yet?) in a chatbot interface, I can’t expect it to be that popular
it’ll still lack all the specific tweaking ChatGPT has, no app will be as good as using chat.openai.com
3 per minute, but i cant tell if you get any free tokens?
rather I think it’s tokens per minute I should say, but they also throttle requests to 30 per minute
the actual limiting factor would be token count
40,000 tokens per minute
which is also honestly heaps
I had a script feeding responses back into itself that ran for hours without hitting limits, after I figured out a 2 sec sleep between requests
who
2023-04-14 22:40:12.014 uishoot[453:7275] Could not save pasteboard named com.apple.UIKit.pboard.general. Error: Error Domain=PBErrorDomain Code=11 "The pasteboard name com.apple.UIKit.pboard.general is not valid." UserInfo={NSLocalizedDescription=The pasteboard name com.apple.UIKit.pboard.general is not valid.}
already reported this
Yes just saying that I'm getting it too
The dumb thing is
THIS IS HOW THE APPLE DOCS SAY TO USE PASTEBOARD
Also, this is the issue affecting a procursus tool, uishoot, not pbcopy which we don't maintain
its kinda karma that keeps happening, not just with you an me
people keep posting issues, no one cares
only for the person who didn't care then has the same issue later on looool
Ok but
People constantly blame me for issues in everything
Like NewTerm not working? That was a fugu bug, yet I got blamed
yah life sucks, I reeveluated life choices, I'm trying to do better and not be so rude to people and blame people
its a hard habit to break out of
hard to get other people to follow suit
but...
some mf's need a scolding
read here
hurry tf up ida dyld cache
it doesn't for me
@marble perch yah but that's general channel, basically shitposting
I basically banned iOS talk from general in my server so I could shitpost uninterupted
???? its even in the lib wtf is going on
Entitlements?
When did it break? iOS 15 or 16?
confirmed broken in 15.3 could be earlier
ida windows user
@ocean raptor entitlements didn't work
there is a seatbelt profile but I can't use that cuz then it wouldn't be able to access libiosexec
id let a linux user impress me
What entitlements did you try?
some linux users are hot i think
How about a FreeBSD user 😉
Hotter than capt
xml users
i don’t care let his rizz run
Which means anything 2-10
NO SEXUAL HARASSMENT IN THE WORK PLACE IM CALLING HR
You can't fire me! I don't even work here!
K
Does pbcopy on macOS have entitlements?
who pinged
nvm, it's not coming
I hate that macOS doesn't use entitlements
why apple gotta make iOS nazi mode
I want to sprinkle cyanide in the head apple security guy's lunch
allz ims sayin.... pastword protected cfw
that way you can't get hacked
well thats not a good idea
but basically only enable it if find my is disabled
@ocean raptor macos either uses xpc or appkit calls
yes
Here's a picture from when I met Drake
i finally got the definition... by shoving the kernel and the dsym into ida
drakes on my server's word filter
L
mf says it every day
Drake has some good songs
staff voted to ban it
Passionfruit
I think he wrote some of the songs on Ye
Is that macOS or iOS
the pasteboard is gonna be different
macos lets see if it works on iOS
it's most likely auto generated from syscalls.master, like how other OSes do it
i see
int posix_spawn(pid_t *pid, const char *path, const struct _posix_spawn_args_desc *adesc, char **argv, char **envp)
wait
then whats
int
posix_spawn(pid_t * __restrict pid, const char * __restrict path,
const posix_spawn_file_actions_t *file_actions,
const posix_spawnattr_t * __restrict attrp,
char *const argv[__restrict], char *const envp[__restrict])
ah
well when im hooking it
do i use this
or this
ok
next question
how do i actually modify envp 
sysproto.h
ok but from what i understand, the code copies the array from userspace memory to kernelspace memory
me waiting for uikitcore to analyze
how do i do kernelspace memory -> kernelspace memory, or does it not really matter
ok this explains wtf load_init_program_at_path is doing then
user_addr_t is pointer to userspace memory right
it uses copyin/copyout or whatever
idk all i care about is that load_init_program does
vm_map_t map = current_map();
mach_vm_offset_t scratch_addr = 0;
mach_vm_size_t map_page_size = vm_map_page_size(map);
(void) mach_vm_allocate_kernel(map, &scratch_addr, map_page_size, VM_FLAGS_ANYWHERE, VM_KERN_MEMORY_NONE);
// calls load_init_program_at_path
// blah blah uses copyout into scratch_addr and does funny alignment stuff (USER_ADDR_ALIGN)
init_exec_args.fname = argv0;
init_exec_args.argp = scratch_addr;
init_exec_args.envp = USER_ADDR_NULL;
return execve(p, &init_exec_args, retval);
which means i can also do this
well this is how launchd starts so
id say it should work
™️
cant wait to kernel panic
at least i can just hold option and select macOS to recover 
too late
no i mean like
it will literally exit because it is too late
nah
i can just hold down alt to not boot into opencore
then i boot into macos
done
ok yea so i should just be able to like
hm
im gonna start with just hooking posix_spawn first
will slowly build off of it
tmrw though im tired
im going to fuckin Connecticut tomorrow so
albany is mad far

@ocean raptor need to find out what this does it returns a class
@grave sparrow ended up troubleshooting for an hour
until i finally realized copyinstr's last argument might not actually be optional
gg
I would have realized this sooner if I had used the vm
Because my vm actually prints the panic string
But I wanted fast boots so I was testing on the mbp
Can anyone help me? I am trying to run posix_spawn using the AuxiliaryExecute framework and it doesn't work. It should run the shell script that is located in app's bundle with /var/jb/usr/bin/dash and deb path that is entered. I even tested it in a print statement and the whole script string was correct. My code:
import AuxiliaryExecute
struct ContentView: View {
let scriptPath = Bundle.main.path(forResource: "repack-rootless", ofType: "sh")!
@State private var debPath = ""
var body: some View {
TextField("Enter path to deb here", text: $debPath)
Button("Convert deb to rootless") {
let command = "/var/jb/usr/bin/dash"
let args = [scriptPath, debPath]
AuxiliaryExecute.spawn(command: command, args: args)
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
I also tried running it without args and just in one .spawn command but that didnt work either.
🤷♂️


