最近想把一些工作经验总结在自己的博客中,方便分享知识。这是我的第一篇博文,望大家多多捧场,下面进入正题:
反编译基本流程:
1. 准备一台root的Android手机或模拟器
2. 在手机(或模拟器)装个微信,打开小程序,进入游戏
3. 获取游戏对应wxapkg包文件
4. 执行反编译程序就大功告成
设备及软件
我使用雷电模拟器演示 官网下载链接
下载安装后,打开运行模拟器,安装微信和RE管理器
接下来,就是进入小游戏,等游戏加载完成进入界面就可以退出游戏了
wxapkg 包的获取
Android 手机最近使用过的微信小程序所对应的 wxapkg 包文件都存储在/data/data/com.tencent.mm/MicroMsg/{User}/appbrand/pkg
下,其中{User}
为当前用户的用户名,类似于 0af**************c43
.
- 用RE管理器打开对应目录,通过目录创建时间判断找出我们刚打开的小游戏对应的wxapkg包
- 长按选中文件,然后点击RE管理器的右上角,压缩文件,如下图
- 通过微信自带的文件传输助手,将文件发回电脑端
执行反编译程序
前往GitHub下载反编译程序 点击跳转github
node执行安装以下依赖
1 | npm install esprima -g |
然后在反编译程序目录中执行
1 | node wuWxapkg.js {pkg-name} |
其中{pkg-name}
为第二步骤中获取对应的wxapkg包名
形如_1926076829_4.wxapkg
, 其他命令请参考github上的README
没有报错的话,出现如下图,就说明反编译成功了
运行游戏
找到第三步中反编译出来的游戏目录
在微信开发工具中,添加该游戏,此时可能会提示我们不是该游戏的开发者,我们只要把AppID删掉,然后点击小游戏,重新生成个测试的AppID就好了
然后就可以愉快的玩耍隔壁家的游戏和修改游戏逻辑
注:如果用的官方默认工具生成的代码,游戏主逻辑分别在下面文件中:
- Egret: js目录下的
main.min.js
- Laya: 游戏根目录下的
code.js
- CocosCreator: src目录下的
project.js