1
我正在尝试对cydia应用程序(二进制)进行反向工程,并使用GDB和IDA Pro。GDB调试保护
似乎有一些调试保护,因为main()
不在bt堆栈中,我无法访问任何函数,class-dump-z和IDA Pro都清楚地显示了这些函数。
在BT堆栈中的最后两个条目:
_mh_execute_header<br>
_mh_execute_header<br>
这是main()
应该的。
有没有人见过这些?
从我读的ptrace()
不会让你附加的过程,但这会让我。我试图绕过sysctl()
,但我不认为这种方法已被使用。
有没有人知道它还能是什么?
另外我没有源文件。
'这对于完全剥离的可执行文件来说很常见'你还能访问这些函数吗?每次我尝试在一个函数中断开它永远不会停止或被识别,并且如果我使用十六进制地址,由于某种原因,它仍然不会在该地址中断。 – user2391866
'break sysctl if $ r1 == 4 && *(int *)$ r0 == 1 && *(int *)($ r0 + 4)== 14 && *(int *)($ r0 + 8)== 1' 在该点断裂后我得到 方案接收信号SIGABRT,中止在__pthread_kill
0x3b17a350()< – user2391866
纳米结果在'纳米:用于架构CPUTYPE(12)cpusubtype(9)对象:桥式格式错误的对象(未知加载命令4)' – user2391866