Android 调试任意APK - smail工程--多进程
2019-09-07 18:59:00 Author: mp.weixin.qq.com(查看原文) 阅读量:64 收藏

本文为看雪论坛优秀文章

看雪论坛作者ID:younghare

好久没有来看雪发表了,今天抽空把有道云笔记的smali多进程调试方法发表上来。

只为伙伴们更方便调试smali代码。

准备工具:

Android Studio

adb

App对应的smali工程

ddms (Android Device Monitor)

Smalidea (Android Studio动态调试smali插件)

Android Studio3.2.1动态调试smali

BuildProp.apk(用于修改apk的调试标志)

Xposed框架

apkDB(本文将用该工具把apk转成smali工程)

App对应的smali工程准备

apk转smali工程的方法有很多,在次我介绍一个最为简单的办法。

1.下载apk到硬盘,并改扩展名为zip(其实不修改也可以)。

2.用解压软件解压到temp目录。
3.在资源管理器中使用apkDB编译不同的dex文件。(apkDB回自动插件对应的目录如:Smali_classes8目录)。
4.新建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)
Android Studio导入App Smali 工程
File/New/Import Project
选择smali工程目录:
调试前准

配置AS调试配置,Run->Edit configurations,点击+号,新建remote类型调试器,设置Name, 修改端口号,可以选择被占用的任意端口,本次设置为8700。
ddsm(Android Device Moniter)中选中进程

按debug模式启动apk
用adb命令启动apk(如果断点不是在app启动过程,可以跳过这一步,建议从这布开始)。
命令格式:adb shell am start -D -n 包名/activity路径。
这里以微信为例:
adb shell am start -D -n com.tencent.mm/.ui.LauncherUI
手机出现如下界面:
在Android Stuido上attach上进程。
在ddms上可以看到被debug的图标变为绿色。
App应用上触发可能发生断点的事件
如果要调试一个App的两个或多个进程
如果要调试一个App的两个进程或多个进程,我是用同时打开2个smali工程或多个工程。
设置romote调试的另外一个端口。
然后同意绑定一下进程。

- End -

看雪ID: younghare

https://bbs.pediy.com/user-746297.htm  

*本文由看雪论坛 younghare 原创,转载请注明来自看雪社区

推荐文章++++

VMP学习笔记之反汇编引擎学习

漫谈挖洞

某企业办公APP逆向TCP协议分析

Unicorn 调用SO之加载模块

FART正餐前甜点:ART下几个通用简单高效的dump内存中dex方法


“阅读原文”一起来充电吧!

文章来源: http://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&mid=2458298730&idx=3&sn=3899ba897dc9c395861d6527dfd7665d&chksm=b18199e086f610f668db5427b0673aa228bcff365891ca6cb53da139a3fdd4a60430b0f71af4#rd
如有侵权请联系:admin#unsafe.sh