微信短信显示服务器解包异常,最新微信小程序解包反编译bug处理 解决 $gwx is not defined 错误...

前期准备:

安装node.js不作细述,按提示安装即可。安装完成后在命令窗口输入:node -v,能查看到版本号即可。

打开脚本地址下载反编译脚本,解压。

安装依赖

在脚本目录下shift+鼠标右键,打开命令窗口,逐条命令安装:

npm install esprima

npm install css-tree

npm install cssbeautify

npm install vm2

npm install uglify-es

npm install js-beautify

npm install escodegen

获取小程序.wxapkg文件

模拟器安装好RE管理器获取root权限,进入存放路径,

安卓存放路径:/data/data/com.tencent.mm/MicroMsg/{User}/appbrand/pkg

其中{User}为当前用户的用户名,类似于2bc*************b65一串。

开始反编译

f3ee3788ef91?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

在脚本目录下shift+鼠标右键,打开命令窗口,输入命令:node wuWxapkg.js

是指小程序.wxapkg文件存放目录。

比如我的文件存放在D:\_xxxxxx.wxapkg

那就在命令窗口输入:node wuWxapkg.js D:\_xxxxxx.wxapkg

等待完成

f3ee3788ef91?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

错误提示代码:

ReferenceError: $gwx is not defined

at vm.js:3:3

at Script.runInContext (vm.js:107:20)

at VM.run (D:\wxappUnpacker-master\node_modules\vm2\lib\main.js:208:72)

at runVM (D:\wxappUnpacker-master\wuWxss.js:69:6)

at runOnce (D:\wxappUnpacker-master\wuWxss.js:97:27)

at Array.preRun (D:\wxappUnpacker-master\wuWxss.js:177:5)

at CntEvent.decount (D:\wxappUnpacker-master\wuLib.js:17:43)

at ioLimit.runWithCb.err (D:\wxappUnpacker-master\wuLib.js:73:11)

at agent (D:\wxappUnpacker-master\wuLib.js:54:14)

at FSReqWrap.oncomplete (fs.js:141:20)

解决方法

修改反编译脚本wuWxss.js代码 将下面原代码

function runVM(name,code){

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

}

}

修改为

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

}

}

修改完再次执行反编译命令

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值