进程注入保护
设法在目标APP的进程空间中执行一段代码。
一般的方法是在Native层通过pTrace,让远程进程加载一个.so链接库,从而侵入目标进程空间。
需要root;
需要编写专门的Native测试工具;
GDB也使用了类似的方法来操作远程进程。
反调试技术实现复杂,一般通过加壳解决
Activity/界面劫持保护
在目标APP启动时,立即弹出一个假界面覆盖之。
一般是通过Broadcast Receiver来监听目标APP的android.intent.action.BOOT_COMPLETED事件。
在JAVA层完成,不需要root
诱骗用户在假界面上操作,以获取其敏感信息,很难察觉Android 5.0以后从系统机制层面解决了这个问题,因此如果APK声明的最小API版本≥21,
此项无需测试,直接记为安全。
ApkTool解包后会产生apktool.yml,内含关于API版本的声明信息。