如何不重打包调试Android应用
2016-03-23 10:45
423 查看
安全工程师在进行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
转自:http://security.360.cn/blog/show/2848
目前流行的方法是修改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
转自:http://security.360.cn/blog/show/2848
相关文章推荐
- 解决AndroidADT自带Eclipse编辑器不能自动代码提示的问题
- ExpandableListView OnChildClickListener 失效解决
- Android清除本地数据缓存代码
- Android之RecyclerView的动画详解
- android中popupwindow弹出后,屏幕背景变成半透明
- android:windowSoftInputMode属性详解
- Android 使用Jsoup解析Html
- spinner 添加项问题
- Android学习之6.0系统运行时权限设置
- 详解Android线程池ThreadPoolExecutor的教程
- Android按钮的一些我用到的属性
- android随机生成验证码
- android最全学习资料及路线整理分享 (安卓视频教程 从入门到大师 android开发环境搭建 windows和MAC 安卓源码大全4000套)
- android关于The connection to adb is down, and a severe error has occured.这个问题的解决办法
- Android从图库中选择图片并作为Activity的背景(主题)
- Android中的dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()
- Android应用中利用ViewPager实现多页面滑动切换效果示例
- Android之常用功能代码
- android 版本更新 同时清除旧版本数据
- Android WebView和JavaScript之间的交互