1.APK版本安全问题,阻止二次打包,无论加壳,dex动态加载,签名验证等都只是一定程度上阻止罢了,无论如何处理,只要破解者通过gdb动态调试,dump出dex文件,稍加分析,就可以比较轻松的实现二次打包。
2.如何阻止被动态调试,首先是关闭android:debugable="false",然后是在so中ptrace主进程,但是这样做不全面,因为每个应用都有一个进程组,里面有很多进程,只要附着到任意一个组进程上,都可以实现动态调试。
3.在so中对proc/xxx/task和proc/xxx/status进行检测,理论上,无论是task下增加或者删除进程,都会被处罚,相应的增加或删除对status的修改的检测,因为默认情况下status中TracerPid值为0,只有被调试时才会出现调试进程的id。
2.如何阻止被动态调试,首先是关闭android:debugable="false",然后是在so中ptrace主进程,但是这样做不全面,因为每个应用都有一个进程组,里面有很多进程,只要附着到任意一个组进程上,都可以实现动态调试。
3.在so中对proc/xxx/task和proc/xxx/status进行检测,理论上,无论是task下增加或者删除进程,都会被处罚,相应的增加或删除对status的修改的检测,因为默认情况下status中TracerPid值为0,只有被调试时才会出现调试进程的id。