基于微信小程序渗透-反编译小程序

news2024/12/29 11:55:15

文章目录

  • 一、概述
  • 二、使用电脑版微信获取小程序源码
  • 三、使用工具解密源码
  • 四、配置nodejs环境
  • 五、使用工具解包


一、概述

微信小程序渗透时,因为小程序没有网页端页面,所以不能直接访问抓包分析,如果需要抓包分析,那么一般就是用电脑上的安卓模拟器登录微信利用burp抓包、要么就是用burp抓手机的包、要么就是从手机上直接抓包。方式方法有很多种,个人一般用来抓包的工具也就是IOS上用 Stream软件,或者是Postman等工具很容易就抓包了。

接下来主要介绍的时微信小程序的反编译,因为反编译出来可以看到小程序的前端源码,可以渗透出更多的东西。

二、使用电脑版微信获取小程序源码

具体的操作是这样的:

大概在微信的这个地方
在这里插入图片描述
这里直接打开微信存储文件的文件夹
在这里插入图片描述
在这个文件夹下以wx开头的文件就代表一个小程序,如果之前用电脑版微信打开过小程序,每打开一个小程序,就会创建一个以wx开头的小程序文件夹,如果这个里面有很多文件夹,具体不知道哪个是哪个小程序的,那就直接将所有都删除掉,然后再去重新打开小程序,就会自动生成一个文件夹。
在这里插入图片描述
我们进入到文件夹里面,这里面就一个文件,这就是我们小程序的源码,但是呢!这个文件是加密的,我们需要对其解密。

网上有很多的办法和解密工具,接下来就演示一下其中的一个方法。

三、使用工具解密源码

解密工具https://github.com/superBiuBiuMan/wechatMiniAppReverse

这个工具是解密+反编译 使用起来很方便,工具自带使用方法,接下来看操作

进入1.first文件夹
在这里插入图片描述
看到这里有使用方法和exe文件,我们用命令行进入这个文件夹,然后输入以下命令

pc_wxapkg_decrypt.exe -wxid wxffbeadbd7aa1464d -in C:\Users\Administrator\Desktop\1.wxapkg -out C:\Users\Administrator\Desktop\app.wxapkg

在这里插入图片描述
这段命令先是制定了这个文件夹下的exe文件,然后需要输入小程序的wxid,这个直接就是复制刚刚那个小程序文件夹的名称即可。然后指定输入文件和输出文件,我这刚刚把加密的小程序复制到了桌面并改名为1.wxapkg了,这样方便一点,输出文件的路径和名字自行定义。

提示解密成功就解密好了。

四、配置nodejs环境

解密后的源码依然是wxapkg格式,就和压缩包一样,是打包的,所以需要解包。

解包需要nodejs支持,如果电脑没有安装nodejs,或者版本比较旧,就需要安装最新版的nodejs。

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

官网直接下载即可(安装完成后会自动配置好环境变量),如果是默认安装的话应该是在这个路径
在这里插入图片描述
把nodejs文件夹下面的所有文件复制出来,然后粘贴到刚刚那个工具的2.second文件夹下的nodejs文件夹下(如果提示文件相同冲突,一律选择 替换)

五、使用工具解包

命令行进入如下图这个文件夹,输入

npm install uglify-es
在这里插入图片描述
再安装一个

npm install cheerio
在这里插入图片描述
提示错误信息

node:internal/modules/cjs/loader:1073
 throw err;

这个问题的解决方法需要用cnpm安装而不是npm去安装
这个cnpm其实就是淘宝提供的一个镜像服务器,是国内的,比npm国外的稳定

npm config set registry https://registry.npmmirror.com
npm install -g cnpm --registry=https://registry.npmmirror.com

然后输入cnpm -v 看看是否成功配置
在这里插入图片描述
然后在输入
cnpm install cheerio
这个时候虽然有报错,但是也是安装成功的
在这里插入图片描述
这个cheerio已经成功安装了。

接下来就可以运行工具解包了(需要进入2.second的nodejs文件夹) 提前将解密过的wxapkg文件移动到nodejs文件夹内
在这里插入图片描述
node wuWxapkg.js C:\Users\Administrator\Downloads\wechatMiniAppReverse-main\2.second\nodejs\app.wxapkg
在这里插入图片描述
在这里插入图片描述
解包完成后,就可以在当前目录下看到解包后的文件夹了。
在这里插入图片描述
到这里我们就可以用vscode打开这个文件夹,然后就可以进行代审了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/568022.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring:用 Spring 整合 MyBatis(Spring-MyBatis)代码整理

文章目录 Spring:Day 05Spring - MyBatis1. 依赖:pom.xml2. 外部配置文件:db.properties3. MyBatis 核心配置文件:mybatis-config.xml4. 实体类5. 接口:xxxMapper.java6. 实现类:xxxMapper.xml7. Spring 通…

ATA-4014高压功率放大器驱动超声马达测试应用

ATA-4014 高压功率放大器简介 ATA-4014是一款理想的可放大交、直流信号的单通道高压功率放大器。最大输出160Vp-p(80Vp)电压,452Wp功率,可以驱动高压功率型负载。电压增益数控可调,一键保存常用设置,为您提…

利用 PRIMO 重构 M87 黑洞图像,普林斯顿高等研究院成功将「甜甜圈」变身「金戒指」

内容一览:2019 年,「事件视界望远镜 (Event Horizon Telescope,简称 EHT)」全球研究团队发布了人类历史上第一张黑洞照片,受限于当时的观测条件,这张黑洞图像只呈现出一个模糊不清的轮廓。近日,天体物理学期…

打家劫舍 III——力扣337

文章目录 题目描述法一:动态规划 题目描述 法一:动态规划 问题简化:一棵二叉树,树上的每个点都有对应的权值,每个点有两种状态(选中和不选中),问在不能同时选中有父子关系的点的情况…

Kafka题集 - kafka术语面试题总结

文章目录 01. 什么是 Kafka?02. 为什么要用kafka?03. Kafka 消息引擎模型04. kafka 消费方式?05. Kafka 传输消息的编码格式?06. kafka 体系架构?07. kafka 消息和批次?08. kafka 主题和分区?09…

Weex中,关于组件的水平排列竖直排列居中对齐居左对齐居右对齐低部对齐顶部对齐布局对齐说明

容器内子组件排列方向 子组件竖直方向排列&#xff08;默认&#xff09; 子组件水平方向排列 <style> .container {flex-direction: row;direction: ltr; } </style>子组件在父组件容器中的对齐方式 我们主要使用两个属性实现子组件在父组件的对齐方式&#xff…

Qt之程序发布以及打包成exe安装包目录

Qt之程序发布以及打包成exe安装包 目录 一、简述二、设置应用程序图标三、发布程序四、打包程序 回到顶部 一、简述 Qt 项目开发完成之后&#xff0c;需要打包发布程序&#xff0c;而因为用户电脑上没有 Qt 配置环境&#xff0c;所以需要将 release 生成的 exe 文件和所依赖…

hiveSql调优

一、hiveSQL执行顺序 from … where … mapjoin … on … select&#xff08;筛选有用字段&#xff09; … group by ||… join … on … select&#xff08;筛选输出字段&#xff09; … having … distinct … order by … limit … union/union all|| 前是map阶段执行&…

五月最近一次面试,被阿里P8测开虐惨了...

都说金三银四涨薪季&#xff0c;我是着急忙慌的准备简历——5年软件测试经验&#xff0c;可独立测试大型产品项目&#xff0c;熟悉项目测试流程...薪资要求&#xff1f;5年测试经验起码能要个20K吧 我加班肝了一页半简历&#xff0c;投出去一周&#xff0c;面试电话倒是不少&a…

自动化测试框架类型,你知道几种?此处介绍5种比较常见的

每一个测试人员都应该了解每种框架的优缺点&#xff0c;以帮助你的团队更好地确定最适合的测试的框架&#xff0c;以达到事半功倍。 什么是测试自动化框架? 自动化测试框架就是用于测试自动化的框架。具体来说&#xff0c;它提供了自动化测试用例编写、自动化测试用例执行、自…

分布式ID的选择

一、分布式ID策略 1.目前数据库主键ID生成的策略整理了这么几个&#xff0c;我们分析下每个的问题 1.1 数据库自增ID分析 我们创建数据库的时候&#xff0c;指定我们的id字段是主键&#xff0c;并且是自增的 create table demo_table ( id int(10) primary key auto_increm…

【个人笔记】真寻bot部署记录+源码食用记录

安装 0. 系统配置 Centos v8.2 1. 安装 使用真寻bot https://github.com/zhenxun-org/zhenxun_bot-deploy bash <(curl -s -L https://raw.githubusercontent.com/zhenxun-org/zhenxun_bot-deploy/master/install.sh)选择1&#xff0c;安装go-cqhttp和zhenxun_bot&…

SQL Developer如何导入时间格式的字段?

SQL developer有一个非常好用的功能&#xff0c;就是导入本地的数据文件。但是导入文件时&#xff0c;如果含时间字段&#xff0c;常常无法导入成功&#xff0c;如何解决&#xff1f; 第一步&#xff1a;处理表格时间格式 选中时间列&#xff0c;右击弹出【设置单元格格式】—…

指令微调数据集整理

文章目录 开源指令数据集斯坦福数据链家数据 垂直领域数据集医疗领域的英文数据医疗领域的中文数据 COIG数据集&#xff08;可商用的中文数据集&#xff09; 开源指令数据集 斯坦福数据 斯坦福52K英文指令数据&#xff1a;https://github.com/tatsu-lab/stanford_alpaca 52K …

硬件工程师-电路设计2-RC电路

RC滤波 滤波 把干扰的杂波滤除掉。 问题&#xff1a;为什么R和C可以实现滤波&#xff1f; 源 回路 阻抗 理想中的信号源是没有干扰的 实际中是有干扰的 受磁场 电场 地的影响&#xff0c;信号源会耦合一些高频干扰波进来&#xff0c;驼在信号源上。 ---…

链接思想的力量:如何将你的思维联系起来以提高你的学习和记忆能力

是否发现自己收藏的笔记很少做回顾和复盘&#xff1f; 链接你的思维&#xff08;LYT&#xff09;是另一个笔记系统&#xff0c;LYT笔记系统理念进入个人知识管理&#xff08;PKM&#xff09;会提供更有效和令人满意的笔记体验。 在今天的文章中&#xff0c;您将了解什么是链接…

踩坑记录:python + appium +adb 运行出现问题

搭建使用appium运行的环境&#xff0c;准备做个自己的app自动化&#xff0c;环境均已搭建好&#xff0c; appium-doctor 均正常使用 使用python下载Appium-Python-Client &#xff0c;pip 默认安装是最新版本&#xff0c;然后编写demo测试 from appium import webdriver i…

赛灵思-Zynq UltraScale+ MPSoC:QT与OPENCV交叉编译环境搭建

赛灵思-Zynq UltraScale MPSoC&#xff1a;QT与OPENCV交叉编译环境搭建 1、MPSOC 交叉编译环境简介 使用Linux交叉编译工具在开发中可以摆脱对petalinux的依赖&#xff0c;直接使用Linux交叉编译工具进行编译&#xff0c;可以使开发更加便捷。 由于获取Linux编译工具链需要用…

如何在华为OD机试中获得满分?Java实现【跳跃游戏 II】一文详解!

✅创作者&#xff1a;陈书予 &#x1f389;个人主页&#xff1a;陈书予的个人主页 &#x1f341;陈书予的个人社区&#xff0c;欢迎你的加入: 陈书予的社区 &#x1f31f;专栏地址: Java华为OD机试真题&#xff08;2022&2023) 文章目录 1. 题目描述2. 输入描述3. 输出描述…

MyBatis中discriminator鉴别器如何使用?你若不会,我手把手教你 | 超级详细,建议收藏

1. 前言 不知道大家在平时有没有手写sql的习惯&#xff0c;当还没有开源mybatis-plus时&#xff0c;手写sql那是非常的常见&#xff0c;但是在维护一个老项目的时候&#xff0c;竟然勾起了我的一丝回忆。涉及到一个需求&#xff0c;我要追溯到它sql语句上&#xff0c;发现了一个…