- 解决微信小程序反编译时 $gwx is not defined
- 反编译微信小程序 解决$gwx is not defined和_
- 反编译小程序$gwx is not defined错误的解决方法
- 2019 微信小程序反编译最新教程 $gwx is not de
- 【加精】微信小程序反编译&$gwx is not defined
- 最新解决微信小程序反编译$gwx is not defined和
- 最新解决小程序反编译$gwx is not defined和__
- 2019微信小程序反编译最新教程 __vd_version_i
- 微信小程序反编译(最新)工具,完美解决分包问题
- 最新微信小程序解包反编译bug处理 解决 $gwx is not
因为过节在家编写自己的一个工具小程序,结果上班后发现没有拷贝到U盘上,但是我的微信里预览过开发版,就想反编译获取自己的代码……
环境 & 工具
win10 + node.js + wxappUnpacker
前期
如何拿到小程序的包,你需要一台已经root了的安卓手机,包的目录在
/data/data/com.tencent.mm/MicroMsg/appbrand/{user}/pkg/
因为名字是数字不好找,通过时间降序排列能更快的找到,测试包没有后缀.wxapkg(反正我的没有),通过rootexplorer 拷贝到/download目录,然后转发到电脑上
执行
node wuWxapkg.js debug_888888888_1_123456789.wxapkg
报错
node_modules\_vm2@3.6.10@vm2\lib\main.js:214
throw this._internal.Decontextify.value(e);
^
ReferenceError: $gwx is not defined
at vm.js:3:3
at Script.runInContext (vm.js:102:20)
解析
懒得深究为什么报错,反正意思就是$gwx没有定义(其实在page-frame.html里面是定义过的,谁知道vm虚机是咋整的)
解决
经过代码分析,与$gwx相关的调用和解析wxss没有任何关系。
那么就删掉吧,嘿嘿
找到每一个调用$gwx的地方,整行删掉。
//类似这样的
__wxAppCode__['pages/card/info.wxml'] = $gwx( './pages/card/info.wxml' );
然后单独运行 wxss 解析工具
node wuWxss.js debug_888888888_1_123456789
注意,后面跟的是目录,不带.wxapkg 后缀
再次报错
node_modules\_vm2@3.6.10@vm2\lib\main.js:214
throw this._internal.Decontextify.value(e);
^
ReferenceError: __mainPageFrameReady__ is not defined
at vm.js:6:5
at Script.runInContext (vm.js:102:20)
老办法,继续删
找到调用 mainPageFrameReady的地方,删掉mainPageFrameReady()
ok ,这个世界清净了。
node wuWxss.js debug_888888888_1_123456789
Guess wxss(first turn)...
Import count info: {}
Guess wxss(first turn) done.
Generate wxss(second turn)...
Generate wxss(second turn) done.
Save wxss...
Total use: 52.356ms
题外话
反编译的源码和我自己写的还是有很大差异的,没有注释,已经混淆,格式也乱了
求赞
方法虽然简单,但是有几个人愿意无私分享……
网友评论