小程序反编译方法,如何找回微信小程序源码?2019年微信小程序反编译最新教程

1,477 阅读2分钟

前言:在网上看了找回微信小程序源码很多教程,都没法正常使用。微信版本升级后,会遇到各种报错, 以及无法获取到wxss的问题。查阅各种资料,最终解决,于是贴上完整的微信小程序反编译方案与教程。 本文章仅作学习使用。

微信小程序反编译截图1

微信小程序反编译截图2

----- 常见的微信小程序反编译失败问题 -----

1 获取不到Wxss

2 遇见分包,无法反编译。

3 apkg反编译报错。 ( 目前都已解决)

准备工具

1 node.js 运行环境

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

2.反编译的脚本

在网上找的大神写的node.js版本的地址:github.com/qwerty47212…

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

地址:www.yeshen.com/cn/download…

接下来正式开始反编译

1 获取小程序pkg包:

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

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

继续找到/appbrand/pkg/xxx,接下来会出现小程序A的wxapkg包

2 压缩apkg包,然后长按发送到QQ,微信暂不支持发送。

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

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

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

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

need-to-insert-img

.wxapk

已经解压到了D盘根目录下, 这时已经解压到了wxapkg的存放目录。

need-to-insert-img

need-to-insert-img

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

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

解决方案: 修改反编译目录下的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);

wxAppCodename;

}

}

}

附上最新修改好的 wuWxss.js文件 ,替换即可。

注:(大型项目 分包编译失败问题,需要手动调整)

need-to-insert-img

然后再次执行命令 ,大功告成,编译成功。有什么问题可以加我一起交流噢,我的私人微信:2477807508

本文章仅作学习使用。