小红书反调试保护绕不过

你自己都找到原因了,把这段话翻译一下,(百度翻译,谷哥翻译) 进程没找到啊,debugme 打早了,c 运行后, 马上断点 去image -o -f 查看下进程是否运行; 再输入debugme;

前人栽树后人乘凉,留给那些与我有相同困惑的后来者:
【小结】
1、X红书的反调试与X音的反调试最大的不同就是在进行寄存器修改时,X红书会在后续的代码中抛出异常。相同的是,他们经过反编译都能在main入口找到svc #0x80汇编代码。
2、X红书既然无法用简单的常规手段去修改寄存器,绕过反调试,作为新手而言,掌握的调试工具、绕反调试手段、插件等都相当有限,那么我们努力寻求答案未果之后,就要多多的向前辈求教。此处得感谢本文所有提供帮助了热心逆友,特别感谢@gofmt,正是采纳了他的建议,才得以跳出这个深坑。
3、总结下@gofmt给的消息,并将具体的步骤罗列出来,以供新人脱坑。
①、安装debugme插件。

    1.    第一步、cd到自己插件目录,没有可以新建一个,当然默认安装到根目录也没问题,只是随着插件的增多,也许未来某一天,你会变得无比讨厌自己的根目录。
      
    1.    第二步、执行命令:git clone https://github.com/4ch12dy/xia0LLDB.git && cd xia0LLDB && ./install.sh。插件地址:https://github.com/4ch12dy/xia0LLDB/。建议进入这个地址,安装其推荐的issh插件。另一个Tap2Debug插件,在我的5s上好像没啥用,也可能是我没有掌握到其用法(欢迎知之者,不吝赐教)
      
    1.    插件安装完,可以执行一下:source ~/.bash_profile。
      
    1.    检查一下debugme是否安装成功,以及在当前终端窗口生效。执行命令,看看终端中是否有这样的log输出:
      

image

    1.   开启debugserver服务,另起终端,执行命令:debugserver localhost:3333 -x backboard [app路径]。如:debugserver localhost:3333 -x backboard /var/containers/Bundle/Application//BDEF7B48-BE06-4AE0-90EA-B3FE39FB0266/xxxx.app/xxxx
      
    1.   另起终端,做本地断开映射,执行命令:./tcprelay.py -t 3333:3333
      
    1.   在先前的lldb终端中,先后执行命令:lldb(如已执行就跳过这个)、process connect connect://localhost:3333、croc、debugme、c,即可。
      
    1.   后续操作继续探索中……
      

【小白的痛苦,只有真正处于那种绝望的深渊才能体会真切。继续奋斗吧,我已不再骚年!】

4 个赞

谢谢,虽然@gofmt的回复(在debugme之前,执行一下:croc)已经解决了我的问题。但是我想,你的这个意见对我以后的调试应该很有用。get到了,谢谢。

心态挺好,继续保持

善用 help,熟悉 command,工具使人类伟大.
你的这些步骤中还有许多工具可以利用,大概只需要执行3个命令就能完成.
我也是新手,深知新手的痛苦,共同进步!
分享一个lldb调试环境:

1 个赞

怎么搞得界面,好炫酷的样子

你这个调试器不错啊。可以在一个窗口看到很多调试信息,介意分享一下吗?

voltron,图片左下角有.

这工具怎么搞

点击左下角下载即可获取