类别:技术杂谈 / 日期:2021-03-22 / 浏览:1199 / 评论:0

因为有一次看到某小程序界面做的很简单,但又好奇这个运行原理,作为小白的我,居然想去研究下,这个小程序运行的过程,于是从网上搜索资料决定去对小程序来个反编译,操作开始。

按照网上的教程,正常是需要从手机上来获取小程序的.wxapkg安装包的,但后来我琢磨PC端也是可以运行小程序的,那么应该也可以获取到小程序的安装包的,于是继续搜索教程,找到如下网址的教程:https://www.vvso.cn/xlbk/2670.html,按照这个教程,PC端的小程序安装包是加密的,所以我们需要先把小程序包给解密,然后再去反编译即可。

1、我们需要先找到PC端的小程序包,找到这个安装包以前,建议先把需要反编译的小程序打开一下,然后从微信的文件存放目录里找到小程序安装包,一般在如下目录:WeChat Files / Applet 下wx开头的文件夹里,进去以后你会发现有很多的文件夹,那么这个时候因为提前打开过小程序,所以我们点击列表里的“修改日期”,文件夹即可按照日期来排序,最新日期的即是我们要找的小程序目录了,进去以后找到 __APP__.wxapkg ,这个就是小程序的主安装包了,有的还会有其他wxapkg的分安装包,这个是因为小程序主包和分包之分,如果反编译的话,我们需要把主包和分包一块反编译,才能得到完整的源码。按照教程,我们继续操作。

2、因为反编译需要用到 node.js 的环境,那么我们需要先安装环境,打开 node.js 官网:https://nodejs.org/zh-cn/,直接下载最新版 14.16.0 ,结果提示无法安装,不支持Win7,这只能找低版本去安装了,经过尝试,发现 13.14.0 这个版本可以正常安装,大家可以根据自己的实际情况去选择适合的版本。

3、我们需要准备下反编译的脚本文件,已经有大神写好了脚本,地址①:https://github.com/xuedingmiaojun/wxappUnpacker,地址②:https://gitee.com/sparetime_all/miniToUnpacker/,二者均为同一脚本,可以任选一个去下载,但我发现地址②的  README.md 写的更加详细和值得参考。脚本下载下来以后,我们用CMD命令把脚本安装一下,首先用cd命令进去脚本所在目录,然后把需要的依赖包都安装一遍,依赖安装命令如下:

npm install uglify-es
npm install esprima
npm install css-tree
npm install cssbeautify
npm install vm2
npm install uglify-es
npm install js-beautify
npm install escodegen
npm install cheerio

4、准备小程序包解密工具

微云分享地址:https://share.weiyun.com/uMqNGOXv  备用下载地址:https://kodsky.com/#s/6zebl17A

5、所有环境和工具都准备好以后,我们开始准备反编译工作。我们把找到的小程序包,用解密工具进行解密,之后开始对小程序包进行反编译,这个时候不建议参考我刚开始写的那个教程网址,我测试不能完整的进行反编译,需要参考脚本文件地址②里分享的说明来进行操作,在CMD命令里输入如下命令:node wuWxapkg.js D:\mini\主包名.wxapkg,之后会得到跟小程序包名称一样的文件夹,这个时候反编译就成功了,我们可以把已经反编译好的程序包文件夹改个名字,然后继续反编译其他分包,得到全部的程序包源文件,至此,全部反编译工作完成。

后记:反编译完成后,发现文件还是缺失的,比如wxml的文件就没有,具体不知道是哪里的问题,如果有知道的小伙伴可以给我留言,我们一起探讨!

打赏

感谢您的赞助~

打开微信扫一扫,即可进行扫码打赏哦~

版权声明 : 本文使用「署名-非商业性使用-禁止演绎 4.0 国际」创作共享协议,转载或使用请遵守署名协议。

评论区

发表评论 / 取消回复

必填

选填

选填

◎欢迎讨论,请在这里发表您的看法及观点。