使用Android Studio调试smail源码

前期准备

添加android:debuggable=”true” 属性

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

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

这里写图片描述

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

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

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

这里写图片描述

查看端口号

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

android studio导入smail代码

1.导入smail文件 选择红框选择的类型
这里写图片描述
2.将smail文件夹设置Generated Source Root
这里写图片描述

设置端口号

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

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

这里写图片描述

开始调试

在插入 invoke-static {}, Landroid/os/Debug;->waitForDebugger()V 代码附件添加几个断点点击,同时打开待调试的app,点击android studio 的调试按钮。
这里写图片描述

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

这里写图片描述

参考资料

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

我是IT小王,如果喜欢我的文章,可以扫码关注我的微信公众号
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值