LOADING

正在加载

微信小程序反编译

壹 简介

在平时做微信小程序测试中,有的时候需要获取里面的域名或者ip等,这时候我们可以将微信小程序进行反编译获取源码。

工具 版本
node 18.4.0
unveilr 2.0.1
微信 3.9.8.15

贰 小程序反编译

2.1 node下载

安装过程一路NEXT即可,注意将node设置为环境变量,安装完成后,通过node -v查看版本,出现下面界面说明安装成功!
638aa46a98203b01473065513da63a1c.png
node的官网:传送门
安装教程可以参考这篇:2023年最新Node.js安装详细教程及node.js配置

2.2 小程序解密

首先我们需要加载和运行小程序,在微信中随机搜索一个小程序,然后打开获取小程序包,微信小程序每个地方每个页面都点一下,让其加载完全,否则解密的小程序代码会不全:
dd41dfa0e3f04a6cec6f51ed8a42c93a.png
然后在微信中打开设置=》文件管理,需要注意的是这里他打开的文件夹需要跳转到上一级也就是WeChat Files,然后点击Applet,这时候会多出来一个wxaaaaaaaaa形式的文件夹,这个文件夹就是我们需要反编译的小程序:
cf6d222f5ba8e65f0854e5552dab9b68.png
可以看到进入wxaaaaaaaaa形式的文件夹后有会数字文件夹,文字文件夹里面就是我们需要的小程序,注意这个__APP__.wxapkg是主包,其他的都是分包:
8e2eac2c9abc9354b13c27ea12071e4b.png
接着我们使用工具unveilr.exe去反编译小程序包,出现Storage has written xx files,说明解压包成功:

# 编译命令
unveilr.exe [小程序文件夹内全部后缀为.wxapkg的文件]

adedf603d608da8acae56249f562f9dc.png
生成一个__APP__,该压缩包就是我们要的小程序反编译代码:
a42a6ff17e427889952c1add9c3aff9a.png
e4b670dbc807918bbf5da97d85987539.png
接着测试使用微信开发者工具打开该压缩包项目:
c241f318949665b8989553861ad9ae93.png
这里的AppID需要我们注册申请,而且我们还要确定文件夹下是app.js还是game.js,根据这两个文件来确定是小程序还是游戏,其他的就按照下图操作(这里这个小程序是小游戏,不是小程序):
a14d25abfed95f4128fbe5f818b0794e.png
a06a03bd91cecf0d03e66d6d21597efe.png
打开成功,有一些小程序可以运行,有一些可能需要配置其他内容信息,但是基本上整体的反编译就是这样:
569941f42e5422678a1f7d262aa178fc.png

2.3 小程序结构说明

bd9152974eca6f1f353098a178278b51.png
pages是微信小程序里的页面
utils是包含了一些小程序需要的依赖
app.js是运行小程序的关键,game.js是运行游戏的关键,没有是运行不起来的

2.4 小结

其实反编译一般的小程序前端都是可以的反编译的,只是部分比较复杂,建议找没有后端的小程序反编译,因为有后端反编译了也没啥用,除非自己写后台或者使用别人接口,当然如果需要获取小程序的的域名或者IP可以通过这种方式获取。

叁 问题

3.1 设置微信开发者工具不需要校验合法域名

在运行微信开发者工具时,我们在详细里选择本地设置选择不校验合法域名。
53fa37f85e7d064da08b640eeeea3c46.png

3.2 需要注意打开的小程序

肆 参考

avatar
小C&天天

修学储能 先博后渊


今日诗句