使用Android Studio调试smail源码

前期准备

添加android:debuggable=”true” 属性

在AndroidManifest.xml application 标签中添加 android:debuggable=”true” 属性
添加方式有两种

  1. 使用apktool反编译apk,在AndroidManifest.xml中添加
  2. 使用 四哥的 AndroidManifest ARSC文件二进制修改工具 工具地址 使用教程
android:debuggable="true"

使用Android Studio调试smail源码_第1张图片

在入口处添加waitForDebugger代码进行调试等待

这里说的入口处,就是程序启动的地方,就是我们一般的入口Activity,查找这个Activity的话,方法太多了,比如我们这里直接从上面得到的AndroidManifest.xml中找到,因为入口Activity的action和category是固定的。

invoke-static {}, Landroid/os/Debug;->waitForDebugger()V

使用Android Studio调试smail源码_第2张图片

查看端口号

将已经重新打包的apk安装到手机上,打开Android Device Monitor (Tools -> Android ->Android Device Monitor),可以看到程序已经处于等待调试状态,记录下端口号 8700,下一步要使用。
使用Android Studio调试smail源码_第3张图片

android studio导入smail代码

1.导入smail文件 选择红框选择的类型
使用Android Studio调试smail源码_第4张图片
2.将smail文件夹设置Generated Source Root
使用Android Studio调试smail源码_第5张图片

设置端口号

  1. 在菜单栏选择 “Run”标签,并在下拉选项中选择 "Edit configuration"选项。在新页面选择 “+”,并选择Remote。

  2. 将前边在 Android Device Monitor 看到的端口号填到Port中。单击OK保存

使用Android Studio调试smail源码_第6张图片

开始调试

在插入 invoke-static {}, Landroid/os/Debug;->waitForDebugger()V 代码附件添加几个断点点击,同时打开待调试的app,点击android studio 的调试按钮。
使用Android Studio调试smail源码_第7张图片

调试过程中app可能会处在白屏状态。

使用Android Studio调试smail源码_第8张图片

参考资料

《智能硬件安全》
apktool动态破解apk https://blog.csdn.net/xiangzhihong8/article/details/51483224
Android逆向之路—IDEA动态调试smali语言 https://blog.csdn.net/hanchaohao2012/article/details/63253725

我是IT小王,如果喜欢我的文章,可以扫码关注我的微信公众号

你可能感兴趣的:(逆向与安全)