一 如何不被反编译解析
1防止反编译工具的反编译
-
- 查看反编译工具的源码,查找漏洞
- 压力测试
2 混淆代码
3 加壳保护
ndk保护,简化apk,dex,核心代码使用.so文件或者.jar
4 防止动态调用
挂钩 运行时数据,添加调试器代码,find, kill 进程。
5 防止重编译打包
注入代码,添加签名测试,如果不一致,kill 进程
二 恶意攻击
1 acitivity劫持
2 broadcast的安全 不使用有序的广播
3 service,content provider 加访问权限,使用公钥密钥安全校验。
4 串权限攻击
核心思想是一个程序A 有某个特定的执行权限,一个程序B 没有这个权限。但是B可以利用A的权限来执行这个权限,说白了就是借刀杀人