静态反编译只剩 StubApp,我怎样从运行中的 360 加固 APK 抓回业务 DEX
这次研究的样本是 BlockyTime 2.19.28。直接把 APK 丢给 JADX,业务代码几乎没有出现。Manifest 里的 Application 是 com.stub.StubApp,包里同时存在四个 ABI 的 libjiagu。最终我在 API 34 x86_64 userdebug 模拟器里让应用走到目标页面,从进程内存恢复出多份业务 DEX。合并反编译后共有约 18,027 个 Java 文件,其中 613 个位于应用自身命名空间。
恢复结果没有变回原始工程,JADX 仍报告 215 个错误。它已经足够回答这次复刻最棘手的问题。截图里,左侧时间标签和右侧时间块像一张网格,源码显示它们是两个独立触摸区。左侧 TimeScrollView 拖动小时窗口,右侧 BlockLayout 拖选时间块。把两者写进同一个手势控件,会得到一个外观接近、用起来完全不同的页面。