关于反调试&反反调试那些事

寄存器保存了mua

有没有考虑直接集成到 MonkeyDev 里面大神~~~

if (!ioctl(1, TIOCGWINSZ)) {
NSLog(@“Being Debugged ioctl”);
}
这个感觉没用啊,我debug调试,并不进入 NSLog日志地方,@AloneMonkey

1 个赞

请教一下,这本书里面第16页提到的 Function Hook Signature,有没有可行的方法检测,用了后面提到的 int isFunctionHooked(void * funcptr) { },发现根本进不了if (funcaddr[0] == 0x58000050 的条件,是0x58000050 这个值要动态变化吗?应该怎么动态变化呢?

我迟到了。

我调试某个app,通过debugserver -x backboard启动,然后运行aadebug,创建了3个断点。
c了之后断到了sysctl,就说明这个app是通过sysctl来反调试的吗?
(lldb) aadebug
anti anti debug finished!!!
(lldb) br l
Current breakpoints:
1: name = ‘ptrace’, locations = 0 (pending)
Condition: $x0==31

2: name = ‘syscall’, locations = 0 (pending)
Condition: $x0==26 && *(int *)$sp==31

3: name = ‘sysctl’, locations = 0 (pending)
Condition: $x1==4 && *(int *)$x0==1 && *(int *)($x0+4)==14 && *(int *)($x0+8)==1

继续c了之后,程序还是卡死了。

后续应该怎么弄呢鸭?上面的这段python代码SetScriptCallbackFunction这里不是太理解额。

应该怎么去过sysctl的反调试啊?直接把入参的info(x2)给reg write $x2 0么?还是等sysctl调用完了之后,再把$x2设为0额?