在写文章时发现, 这两本书缺少对最新的逆向工具和加固工具的描述. 在查阅相关文献后补充了这一部分.
本文从五个维度来讲解Android逆向, 每个维度尽量分'原理', '工具', '实例'三个方面....VMP加固原理
从难度方面来说, 二代加固一般还有破解思路, 但到了四代加固这里, 一般的逆向脱壳技术全部失效, 你面对的是如何破解这个虚拟机.
----
apk加壳实例:
apk加壳示例
apk加壳实例可以用上图来说明...这个dex有脱壳逻辑, 程序运行时, 首先运行这个脱壳dex, 脱壳dex从dex尾部获取到要加密的apk的大小, 然后从自己的dex中拷贝出这个myapk.apk, 最后调用Android系统API运行...否则adb backup/adb restore备份恢复数据
微信6.0以前未设置此属性,可以备份恢复数据
参考地址:
3.2 工具
动态分析工具
这里特别推荐下VirtualXposed, 其基于VirtualApp...因为反逆向代码一般在Application的onCreate或更早就执行, 如果等到程序运行到MainActivity再attach进程, 时机就太晚了.