原料
工具AndroidStudio、Xposed、BDOpener、smalidea、apktool
已root手机,或者模拟器
微信安装包
准备工作
手机安装xposed,地址https://repo.xposed.info/module/de.robv.android.xposed.installer
教程此处就不详说了,网上很多。
BDOpener工具,将正常应用的debugable属性改为true。直接安装到手机,在Xposed模块中启用,重启生效。
https://security.tencent.com/index.php/opensource/detail/17
生效后,Logcat日志打会印以下信息
smalidea 是Android Studio的调试插件。下完不解压,直接到Android Studio安装
https://bitbucket.org/JesusFreke/smali/downloads/smalidea-0.05.zip
反编译微信
apktool d weixin.apk
打开Android studio import导入反编译后的项目,向导中一路next
点击Edit Configurations...
出现的对话框中点击+,选择Remote 修改port为8700,保存
手机端打开USB调试。下面两步可以不做
开始调试
启动微信
在命令行窗口执行命令查看微信进程端口
linux / mac 执行
adb shell ps | grep tencent
windows 执行
adb shell ps | findstr tencent
再设置端口转发,注意端口号选择进程名为 com.tencent.mm
adb forward tcp:8700 jdwp:3885
AndroidStudio smali源码中打断点,调试 run->debug选择刚才新增的调试器Remote,调试器即成功附加到手机微信上,可以单步调试了。
可能遇到的问题,启动调试的时候,AndroidStudio可能会提示下列错误
Unable to open debugger port (127.0.0.1:8701): java.io.IOException "handshake failed - connection prematurally closed"
完全关掉所有Android Studio,重新打开就好了。
发表评论