-
-
[原创]android 调试任意apk -smail工程--多进程
-
发表于:
2019-8-28 13:34
9024
-
[原创]android 调试任意apk -smail工程--多进程
好久没有来看学发表了,今天抽空把有道云笔记的smali多进程调试方法发表上来。
只为伙伴们更方便调试smali代码
配置AS调试配置,Run->Edit configurations,点击+号,新建remote类型调试器,设置Name, 修改端口号,可以选择被占用的任意端口,本次设置为8700
用adb命令启动apk(如果断点不是在app启动过程,可以跳过这一步,建议从这布开始)
命令格式:adb shell am start -D -n 包名/activity路径
这里以微信为例:
adb shell am start -D -n com.tencent.mm/.ui.LauncherUI
在smali工程中设置好断点,并触发app需要被断点的逻辑
看到调试的信息
如果要调试一个app的两个进程或多个进程,我是用同时打开2个smali工程或多个工程
以微信为例它有多个app,假设现在我们也需要调试:push进程
通过ddms上可以看到该进程是8609端口
复制smali工程到另外一个目录,用android stuido在新窗口打开,并设置remote端口为8609
apk转smali工程的方法有很多,在次我介绍一个最为简单的办法。
- 下载apk到硬盘,并改扩展名为zip(其实不修改也可以)
- 用解压软件解压到temp目录
- 在资源管理器中使用apkDB编译不同的dex文件。(apkDB回自动插件对应的目录如:Smali_classes8目录)
- 新建appSmali目录(你的smali工程目录),把各个
Smali_classesX(X表示不同的dex)目录下的文件copy到同一个目录
appSmali
Android Studio 安装smalidea插件
smalidea插件建议到官方下载最新版本,比如smalidea-0.04.zip在Android Studio3.x好像支持的效果不好
在此提供smalidea-0.05.zip下载链接
https://yunpan.360.cn/surl_y3Xx2pkJFCW (提取码:997a)
选择smalidea.zip包
Android Studio 导入AppSmali工程
File/New/Import Project
选择smali工程目录
smalidea插件建议到官方下载最新版本,比如smalidea-0.04.zip在Android Studio3.x好像支持的效果不好
在此提供smalidea-0.05.zip下载链接
https://yunpan.360.cn/surl_y3Xx2pkJFCW (提取码:997a)
选择smalidea.zip包
File/New/Import Project
选择smali工程目录
一路next,知道finsh
配置AS调试配置,Run->Edit configurations,点击+号,新建remote类型调试器,设置Name, 修改端口号,可以选择被占用的任意端口,本次设置为8700
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
最后于 2019-9-7 10:14
被younghare编辑
,原因: