android 调试任意apk -smail工程--多进程
2019-08-29 15:43:51 Author: bbs.pediy.com(查看原文) 阅读量:250 收藏

[原创]android 调试任意apk -smail工程--多进程

1天前 375

[原创]android 调试任意apk -smail工程--多进程

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

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

  • android studio
  • adb
  • app对应的smali工程
  • ddms (Android Device Monitor)
  • Smalidea (Android Studio动态调试smali插件)
  • AndroidStudio3.2.1动态调试smali
  • BuildProp.apk(用于修改apk的调试标志)
  • Xposed框架
  • apkDB(本文将用该工具把apk转成smali工程)

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

  1.     下载apk到硬盘,并改扩展名为zip(其实不修改也可以)
  2. 用解压软件解压到temp目录
  3. 在资源管理器中使用apkDB编译不同的dex文件。(apkDB回自动插件对应的目录如:Smali_classes8目录)
  4. 新建appSmali目录(你的smali工程目录),把各个 Smali_classesX(X表示不同的dex)目录下的文件copy到同一个目录 appSmali


smalidea插件建议到官方下载最新版本,比如smalidea-0.04.zip在Android Studio3.x好像支持的效果不好

在此提供smalidea-0.05.zip下载链接

https://yunpan.360.cn/surl_y3Xx2pkJFCW (提取码:997a)



File/New/Import Project


选择smali工程目录



一路next,知道finsh

配置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


手机出现如下界面


在Android stuido上attach上进程


在ddms上可以看到被debug的图标变为绿色


如果要调试一个app的两个进程或多个进程,我是用同时打开2个smali工程或多个工程



设置romote调试的另外一个端口


然后同意绑定一下进程

[活动]走进企业看安全第22站--蚂蚁金服!


文章来源: https://bbs.pediy.com/thread-254166.htm
如有侵权请联系:admin#unsafe.sh