反编译获取任何微信小程序源码

这边文章被我精简,若看全部请前往该作者博客。

原文链接:https://blog.csdn.net/qq_37936542/article/details/81003211

之前因为开发笔记本突然出了毛病,导致小程序的源代码全部丢失了,参照网上大神的博客,反编译wxapkg文件,生成小程序源码,这些原创的作者是真的强。

参考文章一:https://juejin.im/post/5b0e431f51882515497d979f

参考文章二:https://blog.csdn.net/qq_33858250/article/details/80543815  
 

 

先想一个很简单的问题,小程序的源文件存放在哪里?

答:当然是微信服务器上,普通用户想要获取到,肯定是很困难的

简单思考个小程序的场景,

当我们点开一个微信小程序是很,其实是微信已经将它从服务器下载到了手机,然后再来运行的。所以,

我们没能力从服务器上获取到,但是我们可以从手机本地找到已经下载过的小程序源文件

 

那么小程序文件存储再手机上的什么位置呢?

安卓手机举例:(苹果我也不知道)

/data/data/com.tencent.mm/MicroMsg/{{一串32位的16进制字符串名文件夹}}/appbrand/pkg/

在这个目录下,会发现一些xxxxxx.wxapkg类型的文件,这些就是微信小程序的包

微信小程序的格式为: .wxapkg

.wxapkg是一个二进制文件有其一套自己的结构

 

进入正题:

第一步:下载node.js

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

二:下载反编译脚本

下载地址:https://github.com/qwerty472123/wxappUnpacker 记住分支改为master

反编译获取任何微信小程序源码_第1张图片

三:下载安装夜神模拟器(反正本仙女觉得很不很好用,微信都登不上去==,或许是我人品问题)

下载地址:https://www.yeshen.com/

四:下载RE文件管理器(眼睛睁大点看)


反编译获取任何微信小程序源码_第2张图片

五:获取.wxapkg文件

1:打开安装好的安卓模拟器,并在模拟器中安装微信、RE文件管理器
     >微信在模拟器自带的应用商店里搜索下载安装即可

     >下载好的RE文件管理器安装包直接拖拽进打开的模拟器窗口就会自动安装

反编译获取任何微信小程序源码_第3张图片

 

    >按下图进行设置

反编译获取任何微信小程序源码_第4张图片

 

 

3:模拟器里打开微信,在微信中运行你想要获取的小程序

           >模拟器微信中运行一下后,直接切回模拟器桌面运行RE文件管理器

           >按照下面的目录结构找文件

            /data/data/com.tencent.mm/MicroMsg/{数字串}/appbrand/pkg/
 反编译获取任何微信小程序源码_第5张图片

 

六:反编译

准备反编译脚本文件和.wxapkg文件

反编译获取任何微信小程序源码_第6张图片

cd 到下载好的反编译脚本目录下

反编译获取任何微信小程序源码_第7张图片

 

在node命令窗口中依次安装如下依赖:

        >npm install esprima
        >npm install css-tree
        >npm install cssbeautify
        >npm install vm2

        >npm install uglify-es
 

反编译获取任何微信小程序源码_第8张图片

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

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

反编译获取任何微信小程序源码_第9张图片

 

注意1:使用node wuWxapkg.js 反编译命令时,如果报 Cannot find module 'xxx' 这种类型的错误,

就直接使用 npm install xxx 先安装

 

 

 

你可能感兴趣的:(小程序)