博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于Smali文件 Android Studio 动态调试 APP
阅读量:6245 次
发布时间:2019-06-22

本文共 969 字,大约阅读时间需要 3 分钟。

最近在研究动态调试技术,网上关于基于Smali动态调试App的教程很多,很多细节都没有贴 出来,走了很多弯路,将调研结果分享一下,如果有写的不好地方,欢迎指正

github:

准备工作

  • 一部Root过的Android手机,打开开发者模式
  • Xposed的运行的环境
  • 安装smalidea插件,
  • 安装BDOpener.apk或者XDebug.apk

反编译Apk(apktool)

点击最新的apktool, 并配置好环境(不同环境配置的方式不同,参考)

下载你需要反编译的Apk文件,执行

apktool d 反编译Apk名字.apk复制代码

如果反编译出来多个smali文件夹,可以用ant写个脚本,多个文件夹合并成一个

smalidea

AndroidStudio如果要调试smali代码,需要安装第三方插件: smalidea

AS中【Android Studio-->Preferences-->Plugins-->Install plugin from desk...】,安装插件

AS导入smali

  • 新疆一个Android工程项目(ps: 一定要新建Android项目,否则可能会找不到 “Attach debuger to Android Process”)删掉自动创建的资源和代码文件

  • 复制反编译好的smali文件, 到新建Android项目java文件夹下

PS: 也可以使用我配置好的项目 "ApkSampleSmali" , 需要安装提供的Sample.apk进行测试

AS动态调试配置

新建调试配置,【Run-->Edit Configurations--> + -->Remote】,name随意,端口8700

动态调试

  • 在smali代码中打入断点,如下图标记1

  • 然后点击 “Attach debuger to Android Process” ,如下图标记2

  • 选择你要调试的进程,手动进入对应功能, 即进入断点动态调试(ps: 如果你想要的进程没有展示出来,请重新勾选xposed module(BDOpener), 重启手机)

运行环境信息

  • Xposed Version90-beta3
  • BDOpener 1.0
  • AndoridStudio 3.3.2
  • smalidea 0.0.5
  • apktool 2.4.0

转载地址:http://svvia.baihongyu.com/

你可能感兴趣的文章
Linux远程管理常用命令
查看>>
魅族mx5详细打开usb调试模式的步骤
查看>>
ConstraintLayout的使用教程
查看>>
前后端俱全的 具有聊天功能的 react 项目
查看>>
Redux reselect
查看>>
Spring 通过xml获得容器的三种方法比较
查看>>
MySQL索引面试题
查看>>
Systemd 入门教程:命令篇
查看>>
JS 常用函数垫片
查看>>
快速批量检查所有虚拟机的各项指标
查看>>
【软件开发底层知识修炼】五 gcc-C语言编译器
查看>>
React组件生命周期
查看>>
RxJava2.0的初学者必备教程(三)
查看>>
Git代码托管,SSH不同环境办公
查看>>
老司机 iOS 周报 #58 | 2019-03-11
查看>>
Hystrix问题记录
查看>>
Linux 上ps 命令的使用
查看>>
祛斑用什么产品比较好?简单一步轻松搞定
查看>>
OkHttp发起请求源码阅读(一)
查看>>
复杂度分析(上):如何分析、统计算法的执行效率和资源消耗?
查看>>