开发 Xposed 微信插件(1) - 反编译微信

本系列将手把手教你如何开发一个基于 Xposed 的微信插件,实现微信自动抢红包等实用功能。
插件将可以在免 root 情况下运行在 VirtualXposed 上。

下载安装包并解压

下载微信Android 安装文件 weixin667android1320.apk
实际上这是一个 zip 文件,将文件重命名为 weixin667android1320.zip
解压获得 weixin667android1320 文件夹

解压后的微信 apk

这是解压后的文件夹

其中.dex 文件就是微信的代码,这里可以看到一共有7个,最早的时候只有两三个,更新真快

classes.dex
classes2.dex
classes3.dex
classes4.dex
classes5.dex
classes6.dex
classes7.dex

7个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...

image.png

找到并打开得到的 jar 文件


image.png

已经可以查看源代码了


image.png

微信源码的重点在 com.tencent.mm 目录下


image.png

将 jar 文件保存为源文件


保存为源文件

重复这个操作,得到所有 jar 文件的源文件


image.png

解压这些文件,就可以看到微信的源代码了。

为了更加方便查看源代码,我们需要将这七个源文件合在一起,
我们先到7个源码所在的目录,然后使用如下命令进行文件合并

image.png

rsync -av classes*.src/ ../all7/

image.png

参考信息
dex2jar Git地址: https://github.com/pxb1988/dex2jar
jd-GUI

本文所用文件
链接:https://pan.baidu.com/s/1lcYk7ETRrm8aPUsk--hgqA 密码:em8t

你可能感兴趣的:(开发 Xposed 微信插件(1) - 反编译微信)