开发 Xposed 微信插件(1) - 反编译微信
本系列将手把手教你如何开发一个基于 Xposed 的微信插件,实现微信自动抢红包等实用功能。
插件将可以在免 root 情况下运行在 VirtualXposed 上。
下载安装包并解压
下载微信Android 安装文件 weixin667android1320.apk
实际上这是一个 zip 文件,将文件重命名为 weixin667android1320.zip
解压获得 weixin667android1320 文件夹
这是解压后的文件夹
其中.dex 文件就是微信的代码,这里可以看到一共有7个,最早的时候只有两三个,更新真快
classes.dex
classes2.dex
classes3.dex
classes4.dex
classes5.dex
classes6.dex
classes7.dex
可以看都都还蛮大的
使用 dex2jar 转化为 jar 文件
接下来进入反编译核心阶段
dex2jar 可以将 dex 文件转化为 jar 文件
这里偷下懒直接用以前的文件 dex2jar-2.0
image.png
在命令行下进入目录
image.png
文件很多,用到的为 d2j-dex2jar.sh
image.png
针对 dex 文件执行
image.png
依次对7个 dex 文件执行
./d2j-dex2jar.sh ../weixin667android1320/classes.dex
./d2j-dex2jar.sh ../weixin667android1320/classes2.dex
./d2j-dex2jar.sh ../weixin667android1320/classes3.dex
./d2j-dex2jar.sh ../weixin667android1320/classes4.dex
./d2j-dex2jar.sh ../weixin667android1320/classes5.dex
./d2j-dex2jar.sh ../weixin667android1320/classes6.dex
./d2j-dex2jar.sh ../weixin667android1320/classes7.dex
执行完后得到7个 jar 文件
生成的 jar 文件使用 jd-GUI 查看和保存源代码
然后就上 jd-GUI 了,它可以打开和查看这些 jar 文件
打开 jd-gui-1.4.0.jar,界面如下
image.png
File -> Open File...
找到并打开得到的 jar 文件
image.png
已经可以查看源代码了
image.png
微信源码的重点在 com.tencent.mm 目录下
image.png
将 jar 文件保存为源文件
保存为源文件
重复这个操作,得到所有 jar 文件的源文件
image.png
解压这些文件,就可以看到微信的源代码了。
为了更加方便查看源代码,我们需要将这七个源文件合在一起,
我们先到7个源码所在的目录,然后使用如下命令进行文件合并
rsync -av classes*.src/ ../all7/
参考信息
dex2jar Git地址: https://github.com/pxb1988/dex2jar
本文所用文件
链接:https://pan.baidu.com/s/1lcYk7ETRrm8aPUsk--hgqA 密码:em8t