【本教程仅提供学习,不得做破坏等不文明事情,一旦发现自己负责。未经许可不得转载,若转载标明出处。】使用node.js获取微信小程序源码简易教程。本教程去年写的,今天把它放在自己的博客!!


若想看最新变化请看此文章https://blog.csdn.net/Rahman510/article/details/88385027

今天电脑出问题,以前写的微信小程序源代码丢失了,悲剧啊!!

然后就找各种办法数据恢复,但是种种原因恢复不过来了。。。。。。。凉凉。。。。。。

继续想解决办法,结果呢想到了反编译,对,就这样反编译!

先看下最终结果吧

img点击并拖拽以移动

找了下大神写的反编译工具,先给地址:wxappUnpacker点击就可以去下载工具;

记得要安装最新版本的node.js哦

使用模拟器或者越狱的苹果手机,获得root权限的安卓手机来抓取wxapkg包

我的是使用苹果手机来抓取包的,需要越狱。这里就不多说了,直接放图:

img点击并拖拽以移动

使用反编译脚本解包 wxapkg

  • ● 到这里你应该已经将反编译脚本从github下载 或者 clone 到本地某个目录

  • ● 打开nodejs命令窗口,按住shift+右击

  • ● cd 到你clone或者下载好的反编译脚本目录下

  • ● 在node命令窗口中依次安装如下依赖(当然,你也可以选择-g全局安装):

1
2
3
4
5
6
- 1、npm install esprima*
- *2、npm install css-tree*
- *3、npm install cssbeautify*
- *4、npm install vm2*
- *5、npm install uglify-es*
- *6、npm install js-beautify

*

  • ● 安装好依赖之后,就是最后一步了,反编译 .wxapkg 文件

  • 在当前目录下输入 node wuWxapkg.js [-d] //files 就是你想要反编译的文件名 例如:我有一个需要反编译的文件 1.wxapkg 已经解压到了C盘根目录下,那么就输出命令 node wuWxapkg.js C:\1.wxapkg

按照描述进行了反编译,奇迹发生了,果然反编译成功了,但是一跑起来就出问题了,wxcc文件成了.html文件,

而且发现反编译的时候报错了;错误图:

img点击并拖拽以移动

不知道咋弄,继续网上搜解决办法,结果没找到。最后想放弃去某宝花钱。去问了一个店铺,我把我遇到的问题给店主描述了下,说要花80元给我搞定。花钱是值得的,但是呢我还是不服气,既然编译了,那得自己尝试么,对吧,然后我问店主,我出现的问题在哪里,店主说github上的有问题,最新的没更新,我这里有新的,300元我给你,我去,你这个也太坑了吧,300元把人家工具给我。我就直接不理他了。

休息下。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

然后我把ReferenceError: $gwx is not defined问题谷歌上一搜出来了解决办法,有的到一半就要钱,有的还不全,咋办呢,继续搜,最后在知乎上找到一个wuWxx.js需要修改的代码,提地址:https://zhuanlan.zhihu.com/p/56056561,没删之前赶紧去看看。果然把这个js修改,成功编译到以前的代码,虽然有些变动,但是大部分都正常。

修改部分代码:

img点击并拖拽以移动

需要源码或者需要编译指导可以联系我!!第一次写博客,望大家多多支持,谢谢!

心得就是:动手尝试—————————

以下为其他大神今年研究的教程,值得参考

仅供参考

在这里插入图片描述
微信小程序反编译截图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命令窗口中依次安装以下依赖:

1
2
3
4
5
6
7
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文件,也就是关键的样式文件。