-
Notifications
You must be signed in to change notification settings - Fork 131
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Quick fix for fuzzying iOS on MacOS ? #61
Comments
Hey, If you'd like to debug why the Another option is to use It's also possible that something got messed up because IIUC you used a second debugger to redirect |
The symbol is found, otherwise it prints
This step is successful, libxpc_copy_entitlements_address gets set.
Let me know. |
One thing I see is that
(for the value, not these are bit flags) In
To see if your breakpoint was reached. |
Ok. So, So more or less I believe it is the right road, while still not functioning. However, for a while I cannot continue working on this. Note well: I forgot to mention in the issue an important point: I clear the environment before spawning the ios process, otherwise |
Using p0tools I am able to run a simple program compiled for iOS, with a manual trick[1] though, because the amfi part does not seem to work anymore.
I patched TinyInst to use
posix_spawnattr_set_platform_np(..., PLATFORM_IOS, ...)
and jackalope is able to spawn the program, and with the manual trick, everything runs[2]. However, tinyinst does not ever detect the target function to be called, and if the program exits it complains withWARNING: Target function not reached, retrying with a clean process
.My question is if there is a simple fix for continuing this experiment, or if the nature of TinyInst does not allow to fuzz iOS-on-Mac binaries.
Thank you in advance.
[1] Manual trick: after the target program has been spawned in paused mode, keep Jackalope paused (using a getc() after the posix_spawn), and do the following with lldb:
break set -n xpc_copy_entitlements_for_self
, continue and hit the breakpointre write $pc 0x100dce000
-- where the address is from step 2[2]
./fuzzer -t 1000 -in in -out out -delivery shmem -target_module testcrashme -instrument_module crashme2_ios.dylib -target_method __Z4fuzzPc -nargs 1 -iterations 10000 -persist -loop -cmp_coverage -- ./testcrashme -m @@
The text was updated successfully, but these errors were encountered: