不运行代码,采用反编译工具生成程序的反编译代码,然后阅读反编译代码来掌握程序功能....这样即使被破解拿到Dex, 这个Dex也是残缺的, 没有关键的函数.这时候如果我们查看Dex, 会发现getPwd的方法是个空方法....这种方法将核心代码转化为虚拟机自己的指令, 破解apk的难度和破解虚拟机指令的难度一致. PC上存在类似的VMProtect, 号称无人一定能破....为了防止特征破解, 我们可以改写apk魔数. 这样下来, 一个简单的加固工具就完成了....而且Frida支持脚本, 这样可以更方便的复现结果.
比如Frida的这个Android示例. 将下面的代码放到一个py脚本中, 随时运行都可以获得结果. 不像IDA还需要恢复现场.