能力值:
( LV3,RANK:30 )
|
-
-
2 楼
不要想太多2333
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
也没想太多吧
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
最后确定是通过syscall调用0x1a系统调用设置禁止调试的
|
能力值:
( LV5,RANK:60 )
|
-
-
5 楼
IOS有这种禁止调试的标志开关,LZ能科普你的经验么
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
有两篇文章讲这个
http://www.coredump.gr/articles/ios-anti-debugging-protections-part-1/
http://www.coredump.gr/articles/ios-anti-debugging-protections-part-2/
第一篇讲通过ptrace系统调用设置PT_DENY_ATTACH,通过断ptrace系统调用就行;有时候开发中不会直接调用ptrace,而是通过syscall加系统调用号0x1a来实现。
第二篇就是通过sysctl,查看进程信息里的标记,看自己进程有没有被trace,有的话可以自己退出或其他。
另外就是stackoverflow上也有讲其他方法,http://stackoverflow.com/questions/3596781/detect-if-gdb-is-running
fork一个子进程去ptrace attach父进程,如果父进程已经被gdb依附,这个操作就会失败,于是判断有调试器。
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
mark
|
|
|