在读了姜维的Android应用安全防护和逆向分析和丰生强的Android软件安全与逆向分析后, 准备分享下这方面知识. 在写文章时发现, 这两本书缺少对最新的逆向工具和加固工具的描述....最常用反编译工具
从上图可以看到有很多反编译工具, 我们平时最常用的是dex2jar+jd-gui和ApkTool.
jd-gui不仅有不错的界面, 最关键的是支持类之间的跳转, 在混淆后的代码中跳转可以大大方便我们查看...壳程序先取得程序的控制权, 之后把加密的可执行程序在内存中解开为真正的程序并运行.
可执行文件加固示意图
三代加固:
抽取dex文件中DexCode的部分结构,即虚拟机操作码。...那么生成Dex文件后, 找到Dex文件中的getPwd的方法体, 将对应的方法体抽取出来放到so文件或者特定位置...., 注释掉或nop掉
如果到这一步, 光靠本地的检测基本无效, 可以考虑在http请求时加入对apk签名的检查, 如果不合法就不返回数据.