美文网首页
开发 Xposed 微信插件(1) - 反编译微信

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

作者: 星空冰淇淋 | 来源:发表于2018-06-07 21:41 被阅读172次

    本系列将手把手教你如何开发一个基于 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

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

    相关文章

      网友评论

          本文标题:开发 Xposed 微信插件(1) - 反编译微信

          本文链接:https://www.haomeiwen.com/subject/khensftx.html