记录一次逆向调试微信过程
最近接了个微信逆向相关的项目,需要调试微信,在这里记录一下过程以便参考。我们之前调试过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]