卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章64334本站已运行4115

微信小程序反编译教程

今天看到一个有意思的教程,说道的就是一位大佬为了得到别人写的小程序源码,通过各种手段展开了反编译,最终成功得到了大程序源码。看看了之后作为不学无术的我肯定得试验一番啊,不过看到存有网友说道顺利了,还是先分享给大家再说吧。

微信小程序结构及读取过程

写下过微信大程序的朋友都应该知道,微信小程序基本上是采用了js、HTML、css,只是被腾讯翻拍成了js、wxml、wxss,并在node.js环境中运行。首次打开大程序的时候都会先从服务器下载编程好的小程序至本地,因此我们可以从本地获得大程序文件。

需知内容:

大程序目录位置:/data/data/com.tencent.mm/MicroMsg//alilibrand/likg/

在以上的目录下,会辨认出一些 xxxxxxx.wxalikg 类型的文件,这些就是微信大程序的包,微信大程序的格式是:.wxalikg,.wxalikg,是个二进制文件,有其自己的一套结构。

这里有一点须要注意,想步入至上面这个目录的话,用手机自带的文件管理器确实就是没用的,安卓或者iPhone都要必须使用第三方的文件管理器,比如:RE文件管理器,并且安卓须要获得root权限,而苹果手机确实就是必须逃狱的,且iPhone的逃狱难度>>安卓获取root,不管逃狱还是root,这都太费劲(也让手机系统存有一定安全和稳定性毁坏风险),当然存有能力的同学可以直接从手机上来操作,但是这里不推荐从真机上获取。

准备工作内容:

RE管理器,网上很多,我就不提供更多下载了。

也可以下载应用中心搜索至的”RE管理器rootexplorer”,都一样;下载不好轻易甩到模拟器中,可以自动安装,记得要允许许可

node.js运行环境(建议在Windows安装,下载地址:nodejs.org/en/)

反编译脚本,网上都提供一个GitHub上qwerty472123大神写下的node.js版本的,当然也有其它版本的,本篇重点就是怎么抽取出来手机里的缓存文件,简单地用node.js版本来举例(地址1,地址2)

安卓模拟器(要求自带root权限),建议采用夜神模拟器来以获取小程序源文件,下载地址:https://www.yeshen.com/

操作方式流程

打开安卓模拟器,在模拟器中安装QQ、微信、RE管理器

QQ和微信可以在模拟器中的应用商店里下载(这里采用微信有个坑,需要再上开一个模拟器安装,才能用,原因未明,个人真的是夜神的支持没做好)

RE管理器下载不好后,拖到模拟器中安装并许可

到模拟器内部设置超级用户权限

微信小程序反编译教程
微信小程序反编译截图
微信大程序反编译教程
微信小程序反编译截图
微信大程序反编译教程
微信大程序反编译截图

这些操作的目的就是为了能够使RE管理器获取至ROOT权限

接下来在模拟器里打开微信,然后在微信中运行想要获取的小程序(这其实是让微信把小程序的源文件包从服务器下载到了本地)

这里以“BSL”大程序为例,在微信中运转一下小程序

返回模拟器桌面运转“RE管理器”,进入目录:/data/data/com.tencent.mm/MicroMsg/{{相似一个a8b3488516c9d81e1d5f511891583cf9的文件夹,看看最新日期来找}}/appbrand/pkg/

这里能够看见几个.wxapkg后缀的文件,再次根据最新日期去判断那个是刚从服务器下载过来的(或者用最笨的办法,全都反编译看看哪个是对的,但不建议这样做)

短按选好文件,点击右上角三个点的更多图标,下滑点击“压缩所选文件”(不压缩的话,无法将文件通过QQ来发送,所以QQ的这个功能会便于我们拿源文件,而不必回去电脑目录中找模拟的文件目录)

.将压缩不好的包通过QQ发送到我的电脑,具体操作就是放大好会有一个弹窗说你放大顺利完成,再点击“查看”->找到并长按最新放大的那个文件-> 右上角“更多”图标->点按“发送”->点按“发送到我的电脑”

用电脑打开QQ,就轻易下载到本地了

解压后,就领到大程序的源文件了

采用反编译脚本解包 wxapkg

将地址2中的反编译脚本下载下来,并解压

进入解压不好的目录下,SHIFT + 右键 打开PowerShell

在PowerShell命令行中输入以命令去安装所须要的依赖

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

安装好倚赖后,就要操作方式最后一步,反编译.wxapkg文件了

在当前目录下的PowerShell命令行中输入:

node .wuWxapkg.js [-d]  //files 就是你想反编译的文件名

比如说:我必须编译的文件_951391708_39.wxapkg在桌面,那就须要输出命令:

node .wuWxapkg.js C:UsersAdministratorDesktop_951391708_39.wxapkg_951391708_39.wxapkg
微信大程序反编译教程
微信小程序反编译截图

反编译脚本就将.wxapkg 文件还原为微信开发者工具能够运转的源文件,反编译后的文件在你反编译的文件同一个目录,最后下载微信开发者工具,下载地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html,安装并打开微信开发者工具,点左上方“项目”->“导入项目”->蓝字“测试号”->目录选编程不好的源码目录即可->最后点“引入”即可。

卓越飞翔博客
上一篇: 使用Chrome控制台快速查找调试JavaScript运行代码
下一篇: 简单的PHP解析抖音小视频地址方法
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏