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

哦这样啊。那么大神自己搞点干货给我们看看呀。入门级的东西代码本来就是互相抄么解释的部分是自己写的我觉得就可以了。

键盘侠指点江山,噗嗤

欢迎分享其他章节给大家哦

键盘侠~ 呵呵 ~

一月莫:pray: 二月莫:pray: 三月莫:pray:

支持分享干货

把 这个编译安装后,手机进入安全模式了。重启,还是安全模式

这段有没有问题?

1 个赞

static void* (* orig_dlsym)(void handle, const char* symbol);

请问通过ASM调用syscall的方式有办法■■吗,是不是只能改二进制?

找到了

静态patch和动态patch都可以的

或者内核patch

好的 我试试看 谢谢了 :pray:t2:

Target 0: (No executable module.) stopped

目前在32位机器上使用
#ifdef arm
asm volatile(
“mov r0,#31\n”
“mov r1,#0\n”
“mov r2,#0\n”
“mov r12,#26\n”
“svc #80\n”

    );

#endif

会发生崩溃,请问这个如和解决,谢谢

寄存器保存了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额?