第一次写文章,给大家写一篇关于反编译小程序的文章,虽然网络上相关的文章比较多了,但是我竟可能把自己在实际运行中遇到的问题写下来
1>配置node环境,这个很简单,到官网下载就可以啦(https://nodejs.org/en/)
2>下载一个模拟器,我下载的是夜神模拟器,在夜神模拟器中下载QQ和微信,登录微信打开想要获取的小程序
3>下载一个RE文件管理器或者使用系统自带的文件管理器
https://pan.baidu.com/s/1IA19w35x_ESibyMSWGt6zQ 提取码: y49a(RE文件管理器,下载后直接拖到夜神模拟器)
我用自带的文件管理器也找到小程序包
一般情况进入文件管理器会让你授权超级权限,同意就行
文件管理系统中找到以下目录,如果没有看到文件包,可能需要重启一下
/data/data/com.tencent.mm/MicroMsg/{User}/appbrand/pkg
{User} 为当前用户的用户名
接下来就是找到想要程序的.wxapkg文件包,可以通过创建时间来判断是否是自己想要的文件包,
压缩.wxapkg然后通过qq发送文件,有的人用微信发送可能会出问题
4>配置超级用户权限(打开文件管理器的时候会问你,如果没问的话,可以在设置中里面找到超级用户权限)
5>接下来是核心步骤,下载qwerty472123大神写的反编译工具
将下载的.zip解压到文件夹中
文件目录如下
把.wxapkg小程序包放到文件夹中,也可以不放
解压后,npm install一下
然后安装其他依赖包
npm install esprima
npm install css-tree
npm install cssbeautify
npm install vm2
npm install uglify-es
npm install js-beautify
npm install escodegen
下载完成后,通过cmd到文件夹下,使用node wuWxapkg.js <files...>命令
注意这里的 files 即小程序包的路径,需要写绝对路径,就能生成小程序源代码了
本在使用wxappUnpacker反编译的时候出现了一个问题
1: __vd_version_info__ is not defined
第一个问题查阅了大部分文章,发现是微信小程序更新导致出现的问题
需要去修改wuWxss.js 文件里的runVM函数
function runVM(name, code) {
let wxAppCode = {};
let handle = { cssFile: name };
let gg = new GwxCfg();
let tsandbox = {
$gwx: GwxCfg.prototype["$gwx"],
__mainPageFrameReady__: GwxCfg.prototype["$gwx"],
__vd_version_info__: GwxCfg.prototype["$gwx"],
__wxAppCode__: wxAppCode,
setCssToHead: cssRebuild.bind(handle)
}
let vm = new VM({ sandbox: tsandbox });
vm.run(code);
for (let name in wxAppCode) {
if (name.endsWith(".wxss")) {
handle.cssFile = path.resolve(frameName, "..", name);
wxAppCode[name]();
}
}
}
如遇到其他问题,可联系作者微信 weiweics
转发带上本链接,么么