Android Studio动态调试apk

动态调试是Android逆向不可或缺的技能之一,本文简单介绍一下利用Android Studio动态调试apk的流程。

  • 需要的工具

1.反编译/重打包/签名 工具
2.[smaliIdea](https://github.com/JesusFreke/smali/wiki/smalidea
): 在Android Studio内安装该插件后,可以高亮smali语法,方便我们阅读。

  • 重打包Apk

想要调试apk,必须在AndroidManifest内application的属性内,设置可调式属性。我们将apk反编译,添加android:debuggable="true"后,重打包再次签名,安装到手机上即可。

  • debug流程

1.新建文件夹,在其子文件夹的src文件夹内存放反编译后的smali代码。


smali

2.在Android Studio内选择打开现有工程,选择Create Project From Existing Sources,选择下一步直到完成。

3.在工程内,选择src - Mark Directory as - Sources Root。

project

4.在菜单栏内选择Run - Edit Configurations。


Edit Configurations

5.点击 "+" ,新建一个Remote。


remote

6.将localhost的端口号设置为8700,点击OK。
localhost

7.在菜单栏内选择File - Project Structure,配置Project SDK。
Project Structure

8.打开DDMS(Android Device Monitor)。
9.在Terminal 内使用命令,以调试方式启动App,启动成功后,可以在手机上看到Wating For Debugger对话框。


am start

10.打断点,点击Debug开始调试。可以看到我这里debug的invoke值都调试出来了,这样就达到了,无需详细分析代码,直接获取关键值的效果。

execution point
Variables
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容