前言: 当一个进程被调试时,该进程中会有一个标记位来标记他是否被调试.可以通过systrl函数来查看当前进程的信息,通过是否有这个标记位即可检查当前调试的状态
1.反调试


我们先来看看xcode连接调试的状态

现在我们断开Xcode 用控制台看

2.反反调试
反反调试的逻辑就是注入动态库因为systrl是系统函数 用fishhook hook能hook systrl
1)新建一个动态库插入到ipa中


需要注意的是 我门在fishhook里面需要保留系统其他sysctl的用法 只需要hook监听调试的逻辑
网友评论