问题背景
随着APP业务增多,APK体积越来越大,包含dex的很多。有时候拖入jeb甚至有卡死的情况。那么我们如何快速定位到一个类在哪个DEX中?(其实是为了然后拖入jeb直接用插件写Frida脚本)
看到LeadroyaL发的dex-finder,很好的解决了这个问题:
https://github.com/LeadroyaL/dex-finder

原理就是通过dexlib2遍历所有APP的所有dex的Clss名。然后目标类打印其所出现的dex。

也能通过此方法找到类出现的动态加载的其他 dex。
dexlib2介绍
是一个使用JAVA编写Dex文件的编辑库。常用来修改dex,合并dex等。

源码简单分析
https://www.cnblogs.com/coffee520/p/11264449.html
修改DEX里方法的返回值
https://juejin.im/post/6844904077399162888
其他用途
修改dex文件实现插件加载:https://zhuanlan.zhihu.com/p/25074791
解析APK常出现的泄漏点:
https://github.com/UsmanNadeem/SPROJ
实现java层的混淆:
方法名混淆:https://www.jianshu.com/p/179fff0dd7df
https://bbs.pediy.com/thread-255514-1.htm
https://github.com/CvvT/DexTamper/blob/master/src/com/cc/dextamper/Test.java
https://github.com/DexPatcher/multidexlib2

本文介绍了一种通过dex-finder工具快速定位APK中特定类所在DEX文件的方法,利用dexlib2库遍历所有DEX文件的Class名,帮助开发者解决APK体积增大导致的问题,并提供修改DEX文件、实现插件加载及混淆的资源。
2455

被折叠的 条评论
为什么被折叠?



