android 反调试常见方法

TracerPid反调试

/proc/%d/status中的tarcerpid值不为0,就意味着有人调试
同样还有 State属性值T 表示调试状态


23946端口检测反调试

检测/proc/net/tcp文件里是否有00000000:5D8A,0x5D8A的十进制就是23946

./androidserver -p1995 切换端口为1995


读取/proc/%d/wchan

会有不同状态,sys_epoll_wait、ptrace_stop


inotify机制反调试

http://blog.csdn.net/u010657219/article/details/44175085


查看时间差

判断单步调试的时间差


检测进程名

查看是否有androidserver


ptrace保护子进程

在子进程中使用ptrace,将请求类型设为PTRACE_TRACEME,表示让父进程跟踪自己,而进程在同一时间,只能被一个调试器调试或者跟踪,来保护子进程。

你可能感兴趣的:(android)