【小白向】微信小程序解密反编译教程
# 前言
最近笔者有做到微信小程序的渗透测试,其中有一个环节就是对微信小程序的反编译进行源码分析,所谓微信小程序反编译,就是将访问的小程序进行反向编译拿到部分源码,然后对源码进行安全审计,分析出其中可能存在的信息泄露或者说路径等一些关键信息。
本文出自:【小白向】微信小程序解密&反编译教程 - 极核GetShell (get-shell.com)
# 前期准备
- 微信PC客户端
- 微信小程序反编译工具:小锦哥小程序工具
# 演示视频
小锦哥小程序工具演示
# 文本教程
首先需要确定微信小程序本地存放文件的路径,一般为微信设置的文件管理路径下,一般格式为:微信数据存放路径\Wechat\WeChat Files\Applet,比如我的微信数据设置在E:\Program_Data\Wechat,那么我的微信小程序文件的存放路径就是E:\Program_Data\Wechat\WeChat Files\Applet。
如果你不确定你想反编译的小程序究竟是哪一个,可以将这里面的文件夹全部删除,然后重新访问你想反编译的小程序,那么应该会出现只有一个文件夹,那么这个文件夹就是你的目标。
![图片[1] - 【小白向】微信小程序解密&反编译教程 - 极核GetShell](https://img-blog.csdnimg.cn/img_convert/c7fabae3adbc8c5ab4350880819da6ba.png)
从上图可以看到很多类似于wx+随机字符的文件夹,这就是微信小程序的文件存放路径。打开任意一个文件夹,一直翻到最里面,会发现类似于__APP__.wxapkg这样的文件,这个文件就是反编译微信小程序的源码所需要的关键文件。
![图片[2] - 【小白向】微信小程序解密&反编译教程 - 极核GetShell](https://img-blog.csdnimg.cn/img_convert/7e180e0a84359c7d99ba57b7be09d647.png)
将类似于__APP__.wxapkg这样的文件复制到任意路径,然后打开小锦哥小程序工具,先对小程序包进行解密:将__APP__.wxapkg放入解密工具,选择好解密后保存的路径,然后点击开始解密后输入这个小程序的ID,一般就是你将__APP__.wxapkg这个文件拖出来的上一级,例如:wx14612994f885db6e。如果提示无需解密,那就无视直接略过。
![图片[3] - 【小白向】微信小程序解密&反编译教程 - 极核GetShell](https://img-blog.csdnimg.cn/img_convert/bd4d4bcd42907e5e9d5d71a9e2f1da9d.png)
然后打开小锦哥小程序工具的反编译包栏目,将解密后的__APP__.wxapkg文件放入到解密工具,选择好反编译后保存的路径,开始反编译。注:反编译需要安装nodejs
![图片[4] - 【小白向】微信小程序解密&反编译教程 - 极核GetShell](https://img-blog.csdnimg.cn/img_convert/b3a7398df9cce3addbf7681044e58fb4.png)
然后在反编译保存的路径就可以看到反编译后的文件夹了,里面就是微信小程序的前端源码,你可以自行用微信小程序工具打开进行查看源码,分析其中可能存在的信息泄露等信息!
![图片[5] - 【小白向】微信小程序解密&反编译教程 - 极核GetShell](https://img-blog.csdnimg.cn/img_convert/7339ed905b43fd767e692374ae9c1a6d.png)
相关文章:
【小白向】微信小程序解密反编译教程
# 前言 最近笔者有做到微信小程序的渗透测试,其中有一个环节就是对微信小程序的反编译进行源码分析,所谓微信小程序反编译,就是将访问的小程序进行反向编译拿到部分源码,然后对源码进行安全审计,分析出其中可能存在的…...
Flutter基础 -- Dart 语言 -- 类抽象接口继承函数库
目录 1. 类 class 1.1 定义、使用类 1.2 构造函数 1.3 初始化列表 1.4 命名构造函数 1.5 重定向构造函数 1.6 callable 2. 类 get set 2.1 定义、使用 get set 2.2 简化 get set 2.3 业务场景 3. 静态 static 3.1 static 定义 3.2 函数内部访问 3.3 静态方法 3…...
【TB作品】msp430单片机,播放蜂鸣器音乐,天空之城
功能 msp430单片机,连接一个无源蜂鸣器,播放蜂鸣器音乐,天空之城。 适用于所有msp430单片机。 硬件 无源蜂鸣器,接单片机P1.5,使用vcc3.3v供电。 如果根据简谱修改音乐? //第一步 //首先修改music0 的变量&…...
C语言(数据存储)
Hi~!这里是奋斗的小羊,很荣幸各位能阅读我的文章,诚请评论指点,欢迎欢迎~~ 💥个人主页:小羊在奋斗 💥所属专栏:C语言 本系列文章为个人学习笔记,在这里撰写成文一…...
Linux shell编程学习笔记56:date命令——显示或设置系统时间与日期
0 前言 2024年的网络安全检查又开始了,对于使用基于Linux的国产电脑,我们可以编写一个脚本来收集系统的有关信息。在收集的信息中,应该有一条是搜索信息的时间。 1. date命令 的功能、格式和选项说明 我们可以使用命令 date --help 来查看 d…...
Realsense的一些事情
Realsense的一些事情 librealsense的安装 官网教程: apt 安装教程: https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md自行clone并编译教程: https://github.com/IntelRealSense/librealsense/blo…...
CISCN 2023 初赛 被加密的生产流量
题目附件给了 modbus.pcap 存在多个协议 但是这道题多半是 考 modbus 会发现 每次的 Query 末尾的两个字符 存在规律 猜测是base家族 可以尝试提取流量中的数据 其中Word Count字段中的22871 是10进制转16进制在转ascii字符串 先提取 过滤器判断字段 tshark -r modbus.pcap …...
初识C语言第三十天——设计三子棋游戏
目录 一.设计游戏框架 1.打印游戏菜单 2.输入选择判断(玩游戏/游戏结束/输入错误重新输入) 二、玩游戏过程设计 1.设计棋格存放棋子——二维数组 2.初始化棋盘——初始化为空格 3.打印棋盘——本质上就是打印数组 4.游戏过程——1.玩家走棋 2.…...
ehcache3多级缓存应用
项目中如果有使用大量的本地缓存场景,可以使用redisehcache组合缓存,优先使用ehcache本地缓存,本地缓存没有查询到再使用redis缓存 可看前文中如何集成 本地缓存使用存在的问题 1、本地缓存如何保证缓存的是最新值 可定义版本号、自增id或者…...
C# WinForm —— 24 Threading.Timer 组件介绍与使用
1. 简介 System.Threading.Timer 多线程 轻量级 精度高 提供以指定的时间间隔对线程池线程执行方法的机制 和System.Timers.Timer 类似,每隔一段时间触发事件,执行操作(不是由UI线程执行的),即使事件中执行了比较耗时的操作,也…...
03-07Java自动化之JAVA基础之循环
JAVA基础之循环 一、for循环 1.1for循环的含义 for(初始化语句;条件判断;条件控制或–){ //代码语句 } 1、首先执行初始话语句,给变量一个起始的值 2、条件判断进行判断,为true,执行循环体中的代码语句 …...
【人工智能Ⅱ】实验8:生成对抗网络
实验8:生成对抗网络 一:实验目的 1:理解生成对抗网络的基本原理。 2:学会构建改进的生成对抗网络,如DCGAN、WGAN、WGAN-GP等。 3:学习在更为真实的数据集上应用生成对抗网络的方法。 二:实验…...
vmware将物理机|虚拟机转化为vmware虚机
有时,我们需要从不同的云平台迁移虚拟机、上下云、或者需要将不再受支持的老旧的物理服务器转化为虚拟机,这时,我们可以用一款虚拟机转化工具:vmware vcenter converter standalone,我用的是6.6的版本,当然…...
redis 高可用及哨兵模式 @by_TWJ
目录 1. 高可用2. redis 哨兵模式3. 图文的方式让我们读懂这几个算法3.1. Raft算法 - 图文3.2. Paxos算法 - 图文3.3. 区别: 1. 高可用 在 Redis 中,实现 高可用 的技术主要包括 持久化、复制、哨兵 和 集群,下面简单说明它们的作用…...
封装tab栏,tab切换可刷新页面
dom结构 <template><div class"container"><!-- tab栏 --><div class"border-b"><tabs:tabsList"tabsList":selectTabsIndex"selectTabsIndex"tabsEven"tabsEven"></tabs></div>…...
JavaScript第八讲:日期,Math,自定义对象
目录 前言 日期 1. 创建日期对象 2. 年/月/日 3. 时:分:秒:毫秒 4. 一周的第几天 5. 经历的毫秒数 6. 修改日期和时间 Math 1. 自然对数和圆周率 2. 绝对值 3. 最小最大 4. 求幂 5. 四舍五入 6. 随机数 自定义对象 1. 通过 new Object 创建对象 2. 通过 funct…...
php质量工具系列之phploc
phploc是一个快速测量PHP项目大小的工具 结果支持raw csv xml json格式,可输出文件或者打印到控制台 安装 PHAR方式 wget https://phar.phpunit.de/phploc.pharphp phploc.phar -vComposer方式(推荐) composer global require --dev phploc/phplocphploc -v使用 …...
创建模拟器
修改模拟器默认路径 由于模拟器文件比较大,默认路径在C:\Users\用户名.android\avd,可修改默认路径 创建修改后的路径文件 D:\A-software\Android\AVD添加系统变量ANDROID_SDK_HOME:D:\A-software\Android\AVD重启Android Studio 创建模拟…...
【Java】接口详解
接口是抽象类的更进一步. 抽象类中还可以包含非抽象方法, 和字段. 而接口中包含的方法都是抽象方法, 字段只能包含静态常量。 一个简单的接口代码示例 interface IShape { void draw(); } class Cycle implements IShape { Override public void draw() { System.out.println…...
去掉el-table表头右侧类名是gutter,width=17px的空白区域(包括表头样式及表格奇偶行样式和表格自动滚动)
代码如下: <el-table:data"tableData"ref"scroll_Table":header-cell-style"getRowClass":cell-style"styleBack"height"350px"style"width: 100%"><el-table-column prop"id" l…...
【实战】从理论到代码:用Python实现相位一致性特征提取
1. 相位一致性特征提取的核心原理 相位一致性(Phase Congruency)是计算机视觉领域一种强大的特征提取方法,它从根本上改变了传统边缘检测的思路。我第一次接触这个概念是在处理一组光照条件差异很大的工业检测图像时,当时用Sobel和…...
单片机:从核心原理到智能应用实战
1. 单片机:智能时代的微型大脑 想象一下清晨醒来,窗帘自动拉开,咖啡机开始工作,室内温度始终保持在最舒适的状态——这些看似简单的智能场景背后,都藏着一个不起眼却至关重要的核心部件:单片机。这块比硬币…...
DAMO-YOLO在工地安全监管中的应用:防护装备检测系统
DAMO-YOLO在工地安全监管中的应用:防护装备检测系统 1. 工地安全监管的现实挑战 建筑工地从来都不是一个安静的场所。钢筋切割的刺耳声、塔吊运转的轰鸣、混凝土泵车的震动,这些声音背后是数百名工人同时作业的复杂场景。就在这样的环境中,…...
GLM-5.1 全面支持与 Gemini CLI 集成:HagiCode 的多模型进化之路
GLM-5.1 全面支持与 Gemini CLI 集成:HagiCode 的多模型进化之路 本文介绍了 HagiCode 平台近期的重要更新——智谱 AI GLM-5.1 模型的全面支持,以及 Gemini CLI 作为第十个 Agent CLI 的成功集成。这两项更新进一步强化了平台的多模型能力和多 CLI 生态…...
5个步骤掌握LibreCAD跨平台部署:从安装到精通的开源解决方案指南
5个步骤掌握LibreCAD跨平台部署:从安装到精通的开源解决方案指南 【免费下载链接】LibreCAD LibreCAD is a cross-platform 2D CAD program written in C17. It can read DXF/DWG files and can write DXF/PDF/SVG files. It supports point/line/circle/ellipse/pa…...
终极指南:如何快速构建响应式React网格布局
终极指南:如何快速构建响应式React网格布局 【免费下载链接】react-grid-layout A draggable and resizable grid layout with responsive breakpoints, for React. 项目地址: https://gitcode.com/gh_mirrors/re/react-grid-layout React网格布局࿰…...
Godep历史意义揭秘:Go依赖管理工具的开创者如何改变开发方式
Godep历史意义揭秘:Go依赖管理工具的开创者如何改变开发方式 【免费下载链接】godep dependency tool for go 项目地址: https://gitcode.com/gh_mirrors/go/godep Godep作为Go语言依赖管理工具的开创者,在Go生态系统的演进历程中扮演了至关重要的…...
eNSP安装避坑指南:WinPcap/Wireshark/VirtualBox依赖关系解析
eNSP安装避坑指南:WinPcap/Wireshark/VirtualBox依赖关系解析 当你第一次打开eNSP安装包时,可能会疑惑为什么需要同时安装WinPcap、Wireshark和VirtualBox这三个看似不相关的软件。这就像组装一台精密仪器——少了任何一个螺丝,整台机器都无法…...
35AE92 GJR5137200R0005电子模块
35AE92 GJR5137200R0005 电子模块是一款工业控制系统用的电子控制模块,通常用于西门子或ABB等自动化设备中,承担信号处理、控制逻辑执行及系统接口功能。开头:35AE92 GJR5137200R0005电子模块是工业自动化控制系统的重要组成部分,…...
投入式水位监测站 地下水位监测设备
地下水位自动监测设备,核心亮点在于“本安防爆设计”,严格遵循本安型防爆标准,从电路设计、材质选用、结构防护三方面杜绝点火源,确保在井下易燃易爆气体环境中安全运行,彻底消除设备运行带来的安全隐患,真…...
