admin 发表于 2021-5-21 10:23:14

记录一次逆向调试微信过程

最近接了个微信逆向相关的项目,需要调试微信,在这里记录一下过程以便参考。我们之前调试过QQ,详细请看文章:用Android Studio动态调试手机QQ
现在我用同样的方法调试微信,发现已经不行了。经过一番摸索之后确定了原因:
smalidea不支持Android Studio4.1及以上的版本(无法单步调试甚至无法安装)。我的解决方案是改用IntelliJ IDEA代替Android Studio。在官网下载了IntelliJ IDEA Community 2020.3.1,安装好smalidea0.0.5插件。另外需要按照以下方式设置,因为他自带Smali support插件会导致smalidea失效。File -> setting-> Editor -> file Types 里面找smali ,会发现有两个,改成下图这样(去掉自带的*.smali,给smaliidea的加上*.smali)就可以了
设置完之后按照以前的方法就可以愉快地调试了:
BuildProp Enhancer插件里设置ro.debuggable为1


模拟器里启动微信android-sdk\tools 启动monitor.bat
选中微信进程,后面的端口8700填入IntelliJ IDEA的远程调试设置端口随后Run-Debug wechat运行即可:另外分享一些我到的类和方法:
--朋友圈核心操作类MicroMsg.SnsCore(7.0.17)com.tencent.mm.plugin.sns.model.ag
取朋友圈存储操作对象(MicroMsg.SnsInfoStorage)public static q dOx() {AppMethodBeat.i(95820);g.ahJ().agN();if (dOe().yBl == null) {dOe().yBl = new q(dOe().gmy);com.tencent.mm.plugin.sns.b.o.ytZ = dOe().yBl;}q qVar = dOe().yBl;AppMethodBeat.o(95820);return qVar;}取下载管理器对象(MicroMsg.DownloadManager)   public static b dOs() {       AppMethodBeat.i(95815);       g.ahJ().agN();       if (dOe().yBw == null) {         dOe().yBw = new b();       }       b bVar = dOe().yBw;       AppMethodBeat.o(95815);       return bVar;   }--朋友圈工具类MicroMsg.SnsUtil(7.0.17)com.tencent.mm.plugin.sns.data.q--朋友圈相册处理类MicroMsg.SnsGalleryAdaptercom.tencent.mm.plugin.sns.ui.SnsInfoFlip--图片加载类MicroMsg.LazyerImageLoader2 (7.0.17)com.tencent.mm.plugin.sns.model.f--

原文地址:https://mp.weixin.qq.com/s/RsESkLPrbUxKHPWvuxHeAw

页: [1]
查看完整版本: 记录一次逆向调试微信过程