乐趣区

关于javascript:获取小程序源码总结

一 筹备工具

1 node.js 运行环境

下载地址:https://nodejs.org/en/

2 反编译的脚本

链接:https://pan.baidu.com/s/1InxRoozDDb-C-g2rKGi1Cw
提取码:i50k

3 夜神模拟器

下载地址:https://www.yeshen.com/cn/download/fullPackage

二 开始反编译

1 获取小程序 pkg 包:

在模拟器中登录微信,轻易关上一个小程序 A

关上文件管理器,找到 /data/data/com.tencent.mm/MicroMsg 目录,而后找到一个很长的

用户随机码,持续找到 /appbrand/pkg/xxx,接下来会呈现小程序 A 的 wxapkg 包(右键抉择复制)


找到安卓共享门路

黏贴按钮始终在下面,把小程序 pkg 包复制到安卓共享门路,这样就能够在电脑拜访小程序 pkg 包

2 装置脚本依赖
利用 cmd cd 到你刚刚下载下来的脚本目录下,执行 npm install 装置依赖

3 执行脚本命令
复制小程序 pkg 的门路 执行

node  wuWxapkg.js C:\Users\pc-03\Nox_share\ImageShare\xx.wxapkg

C:\Users\pc-03\Nox_share\ImageShare\xx.wxapkg 是我的小程序门路,你要复制本人的小程序门路

三 编译胜利

四 异常情况
1、Module build failed: Error: Cannot find module‘escodegen’(我遇到的)
npm i –save-dev escodegen
2、Error: Cannot find module‘cheerio’(我遇到的)
npm install uglify-es –save
npm install esprima –save
npm install css-tree –save
npm install cssbeautify –save
npm install vm2 –save
npm install uglify-es –save
npm install js-beautify –save
npm install escodegen –save
npm install cheerio –save
3 未辨认的包
阐明拿到的两个.wxapkg 文件里,以后反编译的包不是工程文件夹,再去 RE 文件管理器看下,是不是还有另一个文件呢!这个.wxapkg 外面都是微信的根底包,是无需还原的!!!很多博客都没阐明这块,害我认为没反编译胜利!

4 SyntaxError: Unexpected end of input 解决 wxss 缺失问题
批改 wxappUnpacker 中 wuWxss.js 局部代码,具体如下:

function runVM(name,code){let wxAppCode={},handle={cssFile:name};

let gg = new GwxCfg();

let tsandbox = {$gwx:GwxCfg.prototype["$gwx"],__mainPageFrameReady__: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]();}

/*

let wxAppCode={},handle={cssFile:name};

let vm=new VM({sandbox:Object.assign(new GwxCfg(),{__wxAppCode__:wxAppCode,setCssToHead:cssRebuild.bind(handle)})});

vm.run(code);

for(let name in wxAppCode)if(name.endsWith(".wxss")){handle.cssFile=path.resolve(frameName,"..",name);

wxAppCode[name]();}*/

}

再次反编译小程序,OK,wxss 进去了

如果有遇到问题的小伙伴能够加我 qq392716797 帮你反编译获取小程序源码

退出移动版