IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 用AndroidStudio动态调试smali -> 正文阅读

[移动开发]用AndroidStudio动态调试smali

思路:APK-->反编译为Smali文件-->导入Android Studio里进行动态调试

一、使用AndroidKiller,反编译为Smali文件?

点击工程管理,右键Smali—>打开方式—>打开路径

? 二、复制上一步的smali文件夹,到其他文件(这里我新建了app-debug文件夹)并重命名为src

?三、在AndroidKiller里查看包名和MainActivity

记住项目的package路径,如果application节点没有开启debug配置,需要加加入配置?android:debuggable="true" 才能debug调试

?

?四、导入smali文件夹到Android Studio

在Android Studio里打开app_debug文件夹:File—>Open—>D:\AndroidKiller_v1.3.1\app_debug

五、配置JDK

选择File->Project Structure

?

?六、要用AndroidStudio动态调试smali代码,首先要安装ideasmali插件

下载地址:?https://bitbucket.org/JesusFreke/smalidea/downloads/

?

?打开Android Studio --> File --> Settings -->Plugins

?

?重启 AS 让插件生效。

七、设置需要调试的smali文件

pp-debug/src文件夹右键-->Make Directory As --->Source Root

?设置调试器:run-->edit configurations,+-->Remote JVM Debug

?

?八、打开命令行 输入命令
1)adb shell am start -D -n com.zjm.myapplication/com.zjm.myapplication.MainActivity
对apk进行动态调试,这条命令运行后手机屏幕将会进入到调试界面,千万别点手机上弹出来的对话框(不要点Force Close),它是在等待debug接入

?2)查看Android Device Monitor 并记住下面红框里的两个值

新版本的AndroidStudio已经淘汰了Android Device Monitor功能,我们不能在AndroidStudio菜单上直接打开Android Device Monitor

找到了新的方法,我的 Android Device Monitor的路径为:D:\Android\Sdk\tools 下打开monitor.bat

?

?

?然后把Android Device Monitor关掉(这里一定要关掉,因为它会占用8700端口 导致后面转发端口失败)

3)开启转发

C:\Users\Administrator>netstat -aon |findstr 8700
? TCP ? ?127.0.0.1:8700 ? ? ? ? 0.0.0.0:0 ? ? ? ? ? ? ?LISTENING ? ? ? 10708

看看有没有哪个进程占用端口,没有就直接开启端口转发:?

C:\Users\Administrator>taskkill /PID 10708 /F
成功: 已终止 PID 为 10708 的进程。

C:\Users\Administrator>

然后输入以下命令开启转发(这里jdwp是自己Android Device Monitor中要调试app的Online值,tcp为debug值)

C:\Users\Administrator>adb forward tcp:8700 jdwp:3669
8700

C:\Users\Administrator>
?

?九、动态调试

打断点

Run-->Debug 'myapp-smail'进行调试

?

?android studio 已经进入debug模式了??按F8执行下一步,F9运行程序?

?

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-05-05 11:29:59  更:2022-05-05 11:34:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 22:47:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码