现在的 Android App 在编译发行时,一般都会混淆代码,或者加密保护 dex,虽然能够有效防止打包客反编译修改后重新发行,但也给我们个人学习 Dalvik 指令和理解程序逻辑带来了很大麻烦。在做静态分析时,面对茫茫一片混淆后无规则的类名,往往难以下手,只能停留在一些 APP 的常见入口,无法继续深入。
Xposed 是 Android 上非常有名的一个 hook 框架。通过 Xposed,可以轻松勾住 Java 层的所有方法。hook 的应用非常广泛,包括资源替换、系统优化、性能分析等,下面就与大家分享一下我利用 Xposed 分析混淆代码应用的一些心得。