小程序笔记(一)程序包wxapkg反编译2020.05版

一. 准备工具:

1 node.js  运行环境

    如果没有安装nodejs,请先安装。下载地址:https://nodejs.org/en/

    测试成功否输入node -v查看node的版本号,

    

    以前安装过node.js然后找node.js安装目录:cmd-->where node

    

2.反编译的脚本

   亲改的2020.05版

   百度网盘:链接:https://pan.baidu.com/s/13-AYgHutvkOn36A-iGsQEQ 提取码:ie8w

3 夜神模拟器(用于获取wxapkg包,PC版微信的wxapkg包不能用于反编译)

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

二. 接下来正式开始反编译

1 获取小程序wxapkg包:

   详细方法请看链接:小程序笔记(二)程序包wxapkg获取方法

2.找到nodejs安装目录下的node_modules并把node_modules复制一份到之前下载的反编译脚本文件夹中(脚本中有node_modules,可删除后再复制,也可直接替换)

3.把反编译脚本文件丢到nodejs安装目录下(也可不丢)

4.把小程序wxapkg包丢到反编译脚本文件夹里面(方便输编译指令)

5.打开node.js 或者cmd, 路径切换到我们下载的反编译脚本的目录,如图所示

  或者  

路径切换到我们下载的反编译脚本的目录(切换盘符-->cd打开指定目录):

6.切换到反编译脚本的目录后 ,在cmd窗口中依次安装以下依赖:

npm install esprima
npm install css-tree
npm install cssbeautify
npm install vm2
npm install uglify-es
npm install js-beautify
npm install escodegen -g

7.然后执行反编译命令: node wuWxapkg.js xxxxxxx.wxapkg,如图:

8.小程序源码已经解压到了wxapkg的存放目录。

 

 

*注:

部分小程序反编译,会丢失wxss文件,也就是关键的样式文件。

同时会有报错提示  _vd_version_info__ is not defined   该问题是微信升级导致。

解决方案: 修改反编译目录下的wuWxss.js文件,修改RunVm方法为(本文章2020.05已经对wuWxss.js文件修改,后期如有问题请寻找升级版的runVM方法

    function runVM(name,code){
    		let wxAppCode={},handle={cssFile:name};
		let tsandbox = {
			__vd_version_info__:"",
			$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]();
			}
		}
	}

 

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值