1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 反编译获取小程序源码

反编译获取小程序源码

时间:2023-07-04 14:49:53

相关推荐

反编译获取小程序源码

准备工具

1 node.js 运行环境

如果没有安装nodejs,请先安装一下下载地址:/en/

2.反编译的脚本

在网上找的大神写的node.js版本的地址:/qwerty472123/wxappUnpacker

3.夜神模拟器需要安装微信和QQ

地址:/cn/download/fullPackage

参考:/as66708/article/details/80618978

接下来正式开始反编译

1 获取小程序pkg包:

在模拟器中登录微信,随便打开一个小程序A

打开文件管理器,找到/data/data/com.tencent.mm/MicroMsg 目录 ,然后找到一个很长的16进制用户随机码

继续找到/appbrand/pkg/xxx,接下来会出现小程序A的wxapkg包。根据打开时间找到它

2 压缩apkg包,然后长按发送到电脑。安装了QQ后才有

3 到此我们获取到了小程序的包 ,打开node.js , 路径切换到我们下载的反编译脚本的目录,

cd /d D:\study\wx

提示: ( 路径不要包含中文名称,否则反编译时可能因编码不对 造成异常 )

4 切换到反编译脚本的目录后 ,在node命令窗口中依次安装以下依赖:

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

找不到escodegen模块

运行如下命令:npm i --save-dev escodegen

wxss文件未找到

修改wxappUnpacker文件中的 wuWxss.js的 runVM函数

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]();//}let wxAppCode = {};let handle = {cssFile: name};let gg = new GwxCfg();let tsandbox = {$gwx: GwxCfg.prototype["$gwx"],__mainPageFrameReady__: GwxCfg.prototype["$gwx"], //解决 $gwx is not defined__vd_version_info__: GwxCfg.prototype["$gwx"], //解决 __vd_version_info__ is not defined__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]();}}}

然后执行反编译命令 node wuWxapkg.js D:\study\1.wxapkg

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。