Smali代码的动态调试
在跟着HXD的论坛经典教程学习安卓逆向的Smali代码调试:
https://www.52pojie.cn/thread-658865-1-1.html
但是,没想到第一关就出现了带问题。教程上面的教授的是使用Monitor,在新版AS中并没有找到相关的入口,所以就转而投向谷歌,结果发现了DDMS这个玩意直接没了:
好的,那接下来就转而寻求DDMS的替换者。那么问题来了,他在哪呢
CSDN和简书你抄我我抄你,传来传去并没有什么有效的方法,甚至有这个抄了一半,那个抄了一半的。
自己折腾来折腾去,结合百家之长,不停试错,终于成功了。接下来请看:
- 首先,按大哥的链接下载ideasmali,有了这个就可以在smali中加入断点:
ideasmali下载链接: 链接:https://pan.baidu.com/s/1htl26qS 密码:0pre
- 安装ideasmali:路径:File->setting
-
选择需要调试的APK文件,反汇编后提取出来smali文件并新建一个文件夹放起来:
-
将这个APK安装到Android Studio的虚拟机上,并且确保连接成功。
-
使用Android Studio打开刚刚的smali文件夹:
-
将这个文件夹设为sources root
-
在File->Project中设置一下这个project的SDK,不然会无法找到附加的进程
-
在config里面编辑一个新的remote用于调试,端口设为8700
-
这样子就可以成功attach到我们的进程了,这个时候在虚拟机中点击就可以进行到相应断点停止了: