用户
 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,登录网站

小程序社区 首页 教程 实战教程 查看内容

反编译微信小程序插件及遇到的问题

Rolan 2021-2-22 22:28

反编译微信小程序wxapkg文件

反编译微信小程序wxapkg文件

编译命令

# node .\wuWxapkg.js 文件路径
# node wuWxapkg.js 文件路径

_-452579966_118.wxapkg
node .\wuWxapkg.js E:\dannisi\源码\2\_-452579966_118.wxapkg
node wuWxapkg.js E:\dannisi\源码\2\iclub.wxapkg
E:\dannisi\源码\2\iclub.wxapkg

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

下载依赖

npm install esprima
 
npm install css-tree
 
npm install cssbeautify
 
npm install vm2
 
npm install uglify-es
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

遇到问题解决方案

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]();

}*/

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38

解决方案二、

拿取正常的wxappUnpacker中的wuWxss.js文件,覆盖掉出错的文件

鲜花
鲜花
鸡蛋
鸡蛋
分享至 : QQ空间
收藏