反编译微信小游戏

最近想把一些工作经验总结在自己的博客中,方便分享知识。这是我的第一篇博文,望大家多多捧场,下面进入正题:

反编译基本流程:

1. 准备一台root的Android手机或模拟器
2. 在手机(或模拟器)装个微信,打开小程序,进入游戏
3. 获取游戏对应wxapkg包文件
4. 执行反编译程序就大功告成

有木有超级简单,下面详细介绍下每一步…


设备及软件

我使用雷电模拟器演示 官网下载链接

下载安装后,打开运行模拟器,安装微信和RE管理器

接下来,就是进入小游戏,等游戏加载完成进入界面就可以退出游戏了

wxapkg 包的获取

Android 手机最近使用过的微信小程序所对应的 wxapkg 包文件都存储在/data/data/com.tencent.mm/MicroMsg/{User}/appbrand/pkg下,其中{User} 为当前用户的用户名,类似于 0af**************c43.

  1. 用RE管理器打开对应目录,通过目录创建时间判断找出我们刚打开的小游戏对应的wxapkg包
  2. 长按选中文件,然后点击RE管理器的右上角,压缩文件,如下图
  3. 通过微信自带的文件传输助手,将文件发回电脑端

执行反编译程序

前往GitHub下载反编译程序 点击跳转github

node执行安装以下依赖

1
2
3
4
5
6
7
npm install esprima -g
npm install css-tree -g
npm install cssbeautify -g
npm install vm2 -g
npm install uglify-es -g
npm install js-beautify -g
npm install escodegen -g

然后在反编译程序目录中执行

1
node wuWxapkg.js {pkg-name}

其中{pkg-name}为第二步骤中获取对应的wxapkg包名

形如_1926076829_4.wxapkg, 其他命令请参考github上的README

没有报错的话,出现如下图,就说明反编译成功了

运行游戏

  1. 找到第三步中反编译出来的游戏目录

  2. 在微信开发工具中,添加该游戏,此时可能会提示我们不是该游戏的开发者,我们只要把AppID删掉,然后点击小游戏,重新生成个测试的AppID就好了

  3. 然后就可以愉快的玩耍隔壁家的游戏和修改游戏逻辑

注:如果用的官方默认工具生成的代码,游戏主逻辑分别在下面文件中:

  • Egret: js目录下的main.min.js
  • Laya: 游戏根目录下的code.js
  • CocosCreator: src目录下的project.js
文章作者: Shawn
文章链接: https://www.shawnlin.cn/unpack-wxgame/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Shawn's Blog
打赏
  • 微信
  • 支付宝

评论