最近逆向个app,不想直接用ida修改app的指令,而是在执行过程中,用插件动态修改app的指令。经大神指点,大致是用mach_vm_protect 和mach_vm_write来操作,也在iosre.com上找到了类似源码,把代码放入了theos中,但每次执行make后,总是链接阶段报错:ld: symbol(s) not found for architecture armv7 似乎是找不到mach_vm_write 适合armv7的库文件。搞了好久都不行。

       无奈,再来研究下源码的编译条件。

       源码帖子的地址:

帖子1: http://bbs.iosre.com/t/write-a-simple-universal-memory-editor-game-trainer-on-osx-ios-from-scratch/115  (再次向大神致敬)

帖子2: http://bbs.iosre.com/t/mach-vm-write-returns-os-kern-invalid-address/6761 (似乎是在上面的帖子基础上,解决了ios9 的ASLR的问题。我的疑问来了,ASLR在ios4.3开始就有了,那基本上现有的iphone都不能用帖子1的源码了?)

      帖子1中:

 iOS: clang -isysroot `xcrun –sdk iphoneos –show-sdk-path` -arch armv7 -arch arm64 -framework Foundation -o HippocampHairSalon_iOS main.m

1、clang:比gcc快,内存占用小,用llvm优化代码。

2、-isysroot:

暂时不弄了,没弄成功,老是链接报错。。。。换个其他方向

 

版权声明:本文为iamonion原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/iamonion/p/9977403.html