Android Studio动态调试smali

前言

之前对于app反编译的smali汇编语言都是静态分析为主,加上一点ida6.6的动态调试,但是ida的调试smali真的像鸡肋一样,各种不爽,遇到混淆过的java代码就欲哭无泪了。后来知道IDEA用一款插件也可以实现smali的动态调试,但是只有14.1之后的版本才支持。熟悉Android开发的人还是比较喜欢用Android Studio,就想着用Android Studio来代替idea来达到动态调试的目的。

工具

  1. Android Studio
  2. apktool,尽量使用最新版的。
  3. ideasmali插件,可以在Android Studio插件库中找到

具体步骤

Step1:安装ideasmali插

安装ideasmali插件,File->Settings->Plugins,安装之前下载的ideasmali插件。

这里写图片描述

Step2:反编译apk

这里写图片描述

Step3:以调试状态启动app,并转发8700端口

以调试状态启动app,并转发8700端口 [app_pid]。记住这时候需要将DDMS关掉,不然会出现错误

这里写图片描述
这里写图片描述
这里写图片描述

Step4:导入smali文件到Android Studio

使用AS导入之前反编译的目录,这里选择debugsmali文件夹就可以了。

这里写图片描述

然后选择Create project from existing sources,之后一直选择next。

这里写图片描述

Step5:Android Studio项目配置

对之前反编译的debugsmali/src文件夹右键–>Make Directory As —>Source Root

这里写图片描述

配置远程调试的选项,选择Run–>Edit Configurations:

这里写图片描述

增加一个Remote调试的调试选项,端口选择:8700

这里写图片描述

之后选择File–>Project Structure 配置JDK

这里写图片描述
这里写图片描述

Step6:启动调试

下好断点之后Run–>Debug’smali’,这里的smali是我们之前配置好的调试选项。

这里写图片描述  

运行起来之后就可以单步执行,查看寄存器的值,慢慢调试了。

这里写图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值