如何不重打包调试Android应用
原文 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插件设置专家模式,进入其他设置开启调试应用,最后重启
最后我们就可以任意调试系统中的任意APP了, jdwp协议类型的调试工具JDB和andbug都可以顺利使用。
adb forward tcp:12345 jdwp:pid号
jdb -attach localhost:12345