可以用debugserver启动,但是直接依附会报Segmentation fault: 11的错误。
然后看了那个干掉高德的例子,估计是加了ptrace反动态调试
在ptrace上下了断点,
然后c过去,看了偏移后地址
最后算出最终的偏移前基地址在hopper里面却发现已经超出整个可执行文件的范围了
求解,是不是我操作的姿势不对?
信息能提供的多点么
我首先用debugsever启动wechat完成
然后一直输入n到所有加载命令完成
这个时候输入image list -o -f查看偏移
0x00000000000dc000 /var/mobile/Containers/Bundle/Application/89B96636-E2A0-4539-B45A-CA82B49D5CF5/WeChat.app/WeChat(0x00000001000dc000)
0x00000000000dc000
得到偏移:0x00000000000dc000
然后是在ptrace下断点,并且continue
到了这里,然后我输入p/x $lr 得到当前的偏移后基地址
![](https://cdn.iosre.com/uploads/default/original/2X/b/b2db4a3d3e8ff1bf922d48faf94925b1b748c6ba.png)
偏移后基地址:0x000000010333a5e0
然后算出最终偏移前基地址=0x000000010333a5e0 - 0x00000000000dc000 = 0x10325E5E0
然后打开hopper查看ARM64的wechat的可执行文件(从机器上用ifuncbox拷贝过来的)。
起始偏移前基地址
末尾偏移前基地址:0000000102fc7637
![](https://cdn.iosre.com/uploads/default/original/2X/a/a272a24f1e5ac8c84fc08d132b10855743ad4d9d.png)
0x10325E5E0远大于0x102fc7637
无法找到调用ptrace的位置
上面就是我所有的操作流程,恳请指教一下
我调试微信时,貌似没有碰到反调试啊?新版本加的?谁来确认一下
原来我是我这个微信版本的问题,我这个是修改过的微信。。被加了ptrace反调试
换了原版微信,可以正常调试了
求你这个微信版本怎么来的?
他自己弄的,你自己看下上面他自己发的话 ,,,,请理解下,谢谢
愚笨的我还是没看出来……
原来我是我这个微信版本的问题,我这个是修改过的微信。。被加了ptrace反调试
换了原版微信,可以正常调试了 (这是原话,哥哥,请看他自己加了ptrace反调试 啦,我,还要怎么解释)
我这个是修改过的微信。。被加了ptrace反调试
我的意思是,谁加的ptrace。。。修改过的微信,并没有说是他修改过的微信呀
不过我就随口问问哈