记录一次微信小程序逆向之旅

发布于 2020-05-05  157 次阅读


话说在前头:用的是别人的接口,大佬们别喷。

  1. 起因:2020.5.5凌晨,失眠、睡不着、无聊、没事干。

  2. 准备环境:

    • 一个安卓模拟器,我用的是夜神模拟器
    • node.js环境:下载链接安装教程
    • 目标小程序,随便找一个
    • 随便在某个盘里新建一个unpacker文件夹,我放在了D盘
  3. 获取wxapkg文件
    • 安卓模拟器里下载微信和re文件管理器,直接在模拟器里用浏览器百度就好

      准备

    • 登陆微信,找到发现页里的小程序,点进去添加你想要逆向的小程序

      步骤

      选择

    • 打开RE文件管理器,找到data/data/com.tencent.mm/MicroMsg/(一个很奇怪的字符串)/appbrand/pkg

      • 记得要给root权限

      文件目录

    • 接着将这个文件压缩发送给电脑,电脑端接收压缩包,将wxapkg文件放入一开始创建的unpacker文件夹里。

    • 怎么压缩自己摸索

  4. 搭建反编译环境

    • 终端进入unpacker目录下,安装以下依赖:
      git clone https://github.com/museL/wxappUnpacker-master.git
      npm install esprima
      npm install css-tree
      npm install cssbeautify
      npm install vm2
      npm install uglify-es
      npm install js-beautify
      npm install escodegen
      
  5. 开始反编译
    • 终端进入unpacker文件夹下的wxappUnpacker-master文件夹,执行以下命令
      node wuWxapkg.js D:\unpacker\xxx.wxapkg
      
    • 后面跟的路径是wxapkg文件的路径,xxx代表wxapkg的名字(主要名字太长,懒得写)

    • 之后你就会看到一份和wxapkg文件一样名字的文件夹,此文件夹就是小程序的源码哦。


没有肆意生长的野心,哪来梦想的星辰大海。