任何人都进行了实际的Android反调试检查。我知道有像
这样的东西IsDebuggerConnected()
boolean isDebuggable = (0 != (getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE));
我正在寻找类似ptrace的东西,使用NDK或任何其他机制,其中进程的句柄不能被其他人调试。比如,在应用程序启动时在diff线程中进行自我调试,这不允许其他调试器获取进程。
对此的任何见解都非常有用。
答案 0 :(得分:1)
无法可靠地阻止调试和逆向工程应用程序。你可以通过obfiscation使其变得更加困难,但如果值得进行逆向工程,它将会完成(Sovjet IT专家确实设法对System 360进行逆向工程甚至在机器代码中修补它) - 所以这是不值得的