微信小程序源码逆向 MacOS
前言
日常工作中经常会遇到对小程序的渗透测试,微信小程序的源码是保存在用户客户端本地,在渗透的过程中我们需要提取小程序的源码进行问题分析,本篇介绍如何在苹果电脑 MacOS 系统上提取微信小程序的源码。
0x01 微信小程序提取
在苹果电脑 MacOS 操作系统上,微信小程序的源码统一保存地址如下:
/Users/【电脑用户名】/Library/Containers/com.tencent.xinWeChat/Data/.wxapplet/packages/
这里保存了电脑访问过的所有小程序源码文件夹,文件夹名字是随机生成的,可以根据首次访问小程序的时间来推定你要的小程序源码具体是在哪个文件夹。

cd 命令进入指定文件夹,里面会有个随机数字的文件夹(例如:51),再 cd 命令进入就可以找到小程序的源文件 __APP__.wxapkg ,这个文件可以用 cp 命令复制到指定文件夹,用于后续逆向还原小程序代码。

0x02 微信小程序逆向
1、工具安装
这里使用 wxappUnpacker 工具进行小程序源码逆向还原,原来的作者项目删除了,这里贴一个别人收藏保存的项目地址。
- 项目地址:https://github.com/geilige/wxappUnpacker
该工具是基于 Node 进行开发的,因此需要安装 Node 环境,并且安装以下依赖环境。
- Node 官网地址:https://nodejs.org/zh-cn
npm install esprima -g
npm install css-tree -g
npm install cssbeautify -g
npm install vm2 -g
npm install uglify-es -g
npm install js-beautify -g
npm install escodegen -g
2、工具使用
将源码文件拷贝出来,然后使用小程序反编译工具 wxappUnpacker 还原代码即可。
node wuWxapkg.js __APP__.wxapkg

执行成功后,即可在工具目录下看到对应名称还原后的源码文件夹。

至此,微信小程序源码提取逆向还原成功,后续便是渗透审计分析问题了。
相关文章:
微信小程序源码逆向 MacOS
前言 日常工作中经常会遇到对小程序的渗透测试,微信小程序的源码是保存在用户客户端本地,在渗透的过程中我们需要提取小程序的源码进行问题分析,本篇介绍如何在苹果电脑 MacOS 系统上提取微信小程序的源码。 0x01 微信小程序提取 在苹果电…...
【我的 PWN 学习手札】House of Husk
House of Husk House of Husk是利用格式化输出函数如printf、vprintf在打印输出时,会解析格式化字符如%x、%lld从而调用不同的格式化打印方法(函数)。同时C语言还提供了注册自定义格式化字符的方法。注册自定义格式化字符串输出方法…...
(八)趣学设计模式 之 装饰器模式!
目录 一、 啥是装饰器模式?二、 为什么要用装饰器模式?三、 装饰器模式的实现方式四、 装饰器模式的优缺点五、 装饰器模式的应用场景六、 装饰器模式 vs 代理模式七、 总结 🌟我的其他文章也讲解的比较有趣😁,如果喜欢…...
设计后端返回给前端的返回体
目录 1、为什么要设计返回体? 2、返回体包含哪些内容(如何设计)? 举例 3、总结 1、为什么要设计返回体? 在设计后端返回给前端的返回体时,通常需要遵循一定的规范,以确保前后端交互的清晰性…...
Element Plus中el-select选择器的下拉选项列表的样式设置
el-select选择器,默认样式效果: 通过 * { margin: 0; padding: 0; } 去掉内外边距后的样式效果(样式变丑了): 通过 popper-class 自定义类名修改下拉选项列表样式 el-select 标签设置 popper-class"custom-se…...
C高级(shell)
作业 1、使用case...in实现等级判断 2、计算各个位数和 3、计算家目录下目录个数和普通文件数 4、打印图形 5、冒泡排序...
子宫腺肌症是如果引起的?
子宫腺肌症是一种常见的妇科疾病,它是指子宫内膜的腺体和间质侵入子宫肌层形成的一种病症。那么,子宫腺肌症是如何引起的呢? 一、病因分析 子宫腺肌症的确切病因目前尚不十分清楚,但经过医学研究和临床观察,认为其发…...
网络安全学习中,web渗透的测试流程是怎样的?
渗透测试是什么?网络安全学习中,web渗透的测试流程是怎样的? 渗透测试就是利用我们所掌握的渗透知识,对网站进行一步一步的渗透,发现其中存在的漏洞和隐藏的风险,然后撰写一篇测试报告,提供给我…...
【软考】【2025年系统分析师拿证之路】【啃书】第十四章 软件实现与测试(十五)
目录 程序设计方法代码重用软件测试软件测试的对象和目的软件测试方法按照被测程序是否可见分类按照是否需要执行被测试程序分类自动测试 测试类型按测试对象划分按测试阶段划分按被测试软件划分其他分类 程序设计方法 结构化程序设计:自顶向下,逐步求精…...
自然语言处理NLP深探
1. NLP 的定义、特点、具体工作、历史和流派 定义:自然语言处理(Natural Language Processing,NLP)是计算机科学与人工智能领域的一个重要分支,旨在让计算机理解、处理和生成人类自然语言,实现人与计算机之间用自然语言进行有效通信。特点 交叉性:涉及计算机科学、语言学…...
加载互联网免费地图资源并通过CesiumEarth快速浏览
免费地图资源 地理信息系统(GIS)的搭建主要可分为两部分:1、三维地球引擎;2、基础数据图层。 CesiumEarth提供了可直接使用的三维地球引擎,因此只需准备基础数据图层,即可搭建属于自己的地理信息系统。 …...
Android 键盘输入按确认或换行 直接触发提交
在 Android 开发中,若要实现键盘输入时按下确认键(如 “完成”“发送” 等)或者换行键直接触发提交操作,可以通过以下几种方式实现,下面为你详细介绍。 方式一:使用 EditText 的 setOnEditorActionListene…...
halcon三维点云数据处理(二十七)remove_bin_for_3d_object_localization
目录 一、remove_bin_for_3d_object_localization代码第一部分二、remove_bin_for_3d_object_localization代码第二部分三、效果图一、remove_bin_for_3d_object_localization代码第一部分 1、读图构建3D模型。 2、一次二值化选取区域。 3、一次和背景差值选取区域。 4、在二维…...
XFeat:轻量级的深度学习图像特征匹配
一、引言:图像特征匹配的挑战与XFeat的突破 在计算机视觉领域,图像特征匹配是视觉定位(Visual Localization)、三维重建(3D Reconstruction)、增强现实(AR)等任务的核心基础。传统方…...
[MD] AG stable
当然,以下是A-stable和G-stable的详细定义: A-stable (A-稳定) A-stable是数值方法稳定性的一种分类,主要用于分析求解常微分方程初值问题的数值方法。一个数值方法被称为A-stable,如果它满足以下条件: 对于所有的步…...
微信小程序自定义导航栏实现指南
文章目录 微信小程序自定义导航栏实现指南一、自定义导航栏的需求分析二、代码实现1. WXML 结构2. WXSS 样式样式解析:3. JavaScript 逻辑三、完整代码示例四、注意事项与优化建议五、总结微信小程序自定义导航栏实现指南 在微信小程序开发中,默认的导航栏样式可能无法满足所…...
wav格式的音频压缩,WAV 转 MP3 VBR 体积缩减比为 13.5%、多个 MP3 格式音频合并为一个、文件夹存在则删除重建,不存在则直接建立
🥇 版权: 本文由【墨理学AI】原创首发、各位读者大大、敬请查阅、感谢三连 🎉 声明: 作为全网 AI 领域 干货最多的博主之一,❤️ 不负光阴不负卿 ❤️ 文章目录 问题一:wav格式的音频压缩为哪些格式,网络传输给用户播放…...
面试问题——如何解决移动端1px 边框问题?
面试问题——如何解决移动端1px 边框问题? 最近,不少小伙伴向我反映,他们在面试中频繁被问到关于1px边框的问题。这个看似老生常谈的话题,没想到在面试中的出现率依然这么高,着实让我有些意外。对于那些对这个问题感到…...
鸿蒙开发第4篇__关于在鸿蒙应用中使用Java语言进行设计
本博文很重要 HarmonyOS从 API8 开始不再支持使用Java作为开发语言,未来的新功能将在ArkTS中实现. API 8对应的是HarmonyOS 3.0.0版本。请看下图: 因此, 读者如果看到类似《鸿蒙应用程序开发》(2021年版本 清华大学出版计)书 还使用Java语言…...
什么是Ollama?什么是GGUF?二者之间有什么关系?
一、Ollama:本地化大模型运行框架 Ollama 是一款开源工具,专注于在本地环境中快速部署和运行大型语言模型(LLM)。它通过极简的命令行操作简化了模型管理流程,支持离线运行、多模型并行、私有化部署等场景。 核心特性 本地化运行:无需依赖云端API,用户可在个人电脑或服务…...
网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...
Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...
iview框架主题色的应用
1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题,无需引入,直接可…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
R 语言科研绘图第 55 期 --- 网络图-聚类
在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。 为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式: R 语言科研绘图模板 --- sciRplothttps://mp.…...
