一 如何不被反編譯解析
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的權限來執行這個權限,說白了就是借刀殺人