如何不重打包调试Android应用

f663x 10年前

原文  http://appscan.360.cn/blog/?p=73


安全工程师在进行Android逆向的时候常常会有动态调试的需求,由于厂商对外发布的APP都是release版,发布产品时都会将debuggable设置为 false,使第三方不能直接调试分析APP。

目前流行的方法是修改APK的 AndroidManifest.xml 将 android:debuggable 设置为 true,再重新打包签名,操作较简单,但如果碰到做了自校验加固的APK包,还要去除APK的自校验才能重打包成功,对安全人员的逆向水平和技术要求又 提高了不少。另一种方法需要刷机,定制boot.img 修改 prop里的ro.secure和ro.debuggable,操作较麻烦。

下面我就介绍一种简单且成本低的方法,使用Xposed的HOOK插件xinstaller开启系统中所有应用的调试功能:

第一步,非常简单,在已经ROOT好的手机或虚拟机里安装好xpose框架和xinstaller插件

http://repo.xposed.info/module/de.robv.android.xposed.installer

http://repo.xposed.info/module/com.pyler.xinstaller

第二步,开启模块,点击xinstall插件设置专家模式,进入其他设置开启调试应用,最后重启

如何不重打包调试Android应用

如何不重打包调试Android应用

如何不重打包调试Android应用

如何不重打包调试Android应用

最后我们就可以任意调试系统中的任意APP了, jdwp协议类型的调试工具JDB和andbug都可以顺利使用。

adb forward tcp:12345 jdwp:pid号

jdb -attach localhost:12345

如何不重打包调试Android应用