码迷,mamicode.com
首页 > 微信 > 详细

反编译获取小程序源码,怎么找回微信小程序源码?

时间:2019-09-30 14:55:17      阅读:268      评论:0      收藏:0      [点我收藏+]

标签:blank   ges   new   str   ram   编译报错   支持   rip   box   

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

技术图片
 
技术图片

下面内容(8月6日版本)仅作学习使用。

 
技术图片

微信小程序反编译截图1

 
技术图片

微信小程序反编译截图2

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

1 获取不到Wxss     2 遇见分包,无法反编译。   3 apkg反编译报错。 ( 目前都已解决)

一 准备工具

1 node.js  运行环境

    如果没有安装nodejs,请先安装一下

下载地址:https://nodejs.org/en/

2.反编译的脚本

    在网上找的大神写的node.js版本的

地址:https://github.com/qwerty472123/wxappUnpacker

3 夜神模拟器

需要安装微信和QQ

地址:https://www.yeshen.com/cn/download/fullPackage

接下来正式开始反编译

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

.wxapk

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

部分小程序反编译,会丢失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);

wxAppCode[name]();

}

}

}

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

JS链接:https://pan.baidu.com/s/1t-zzrkkwiBTenyIcSFnJxg 提取码:wjug

注:(大型项目 分包编译失败问题,需要手动调整)然后再次执行命令 ,大功告成,编译成功。有什么问题可以一起交流

反编译获取小程序源码,怎么找回微信小程序源码?

标签:blank   ges   new   str   ram   编译报错   支持   rip   box   

原文地址:https://www.cnblogs.com/wukong8/p/11612470.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!