为了防止App被别人动态调试(动态调试目的),可以在项目中进行动态调试检测或者禁止动态调试。 参考自庆哥的关于反调试&反反调试那些事
庆总写的方法实现以及方法的原理以及挺详细了,但是Swift项目中调用C的API还是不太方便,顾写了个Swift版的~
(记得方法调用的时候要区分是Release还得Debug版的,不然正常开发调试也会退出程序了)
ptrace
1 | func diyPtrace() { |
sysctl
1 | func isDebugger() -> Bool { |
GCD
1 | private var stopSource: DispatchSourceSignal! |