当前位置: 首页 > article >正文

小程序逆向工程:这个开源的小程序逆向工具真不错,2023年亲测成功

前言

安全部门的大哥又双叒叕报了一个小程序的高危漏洞,他使用逆向工程破解了加密信心,用抓包修改了请求参数。又是头疼的一天…

想成为一名微信小程序的开发者,前端思路的学习和安全意识是非常有必要的,故务必掌握小程序反编译技能。

这里用到了2个工具《解密》与《逆向》(非原创,均来自网上的大佬)。

特别适合新手,而且都是免费的!都是免费的!都是免费的!第一次操作可能会慢一些,熟练了之后,3秒抓取一个小程序源码!

工具准备

下载地址:https://gitee.com/jiangsihan/wechat-applet-reverse-tool

包含:逆向工具、解密工具
在这里插入图片描述

逆向工具

目前用的是:wxappUnpacker

在这里插入图片描述

这个是一个大神开发的,之前可以在github下载,不过截止今天,大神已经关闭了下载,具体原因……你懂得。不过,开源是趋势,就像这个世界是不会停止开放的,因此我们还是有很多渠道可以获取,你可以通过自己的渠道获取,或者用我为你准备好的。

解密工具

在这里插入图片描述

先解密

网上有很多教程,是分苹果和安卓的,还要用到模拟器,其实不用那么麻烦,直接用微信PC客户端就可以了。

1、找到文件管理的位置

在这里插入图片描述
Applet 是存放小程序编译包的,
在这里插入图片描述
这里面存放的都是打开过的小程序包文件

2、打开小程序

在pc端打开一个小程序,尽可能点开所有的页面,让本地自动生成一个本地包,在刚刚设置好的文件夹里:

在这里插入图片描述
不过里面的是加密过的文件:APP.wxapkg就需要用到我们前面的解密软件。

在这里插入图片描述

3、解密

选择小程序的加密包,0.1秒解密成功:
在这里插入图片描述
加密后会存放在wxpack里面:

在这里插入图片描述

再逆向

正式用到大神开发的【wxappUnpacker】了。下面的操作,都是在cmd命令窗口中操作的,需要强调的是,必须在wxappUnpacker路径里才可以,简易方法是,直接在【wxappUnpacker】文件夹的地址栏里输入cmd即可。

1、逆向准备

打开逆向工具文件夹,直接输入cmd打开命令板:

在这里插入图片描述
检查是否有node环境啊!!

安装依赖,挨个执行:

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

2、正式逆向

把刚才wxpack下的解密包直接拖过来:

bingo.bat 主包路径(可以直接拖入)

在这里插入图片描述

编译后的文件,会保存在wxpack文件包下:

在这里插入图片描述
OK,编译完成,接下来直接使用微信开发工具打开,即可学习前辈们的前端设计了,骚年。

3、可能的错误

如果在执行编译命令时报:

this package is a subPackage which should be unpacked with -s=<MainDir>.

说明这个是分包,打开小程序时生成了两个.wxapkg文件,编译另一个文件即可,编译分包和主包的命令是不一样的:

node ./wuWxapkg.js 分包路径 -s=主包路径

4、如果生成的文件里不包含app.json文件

说明你找的小程序,是大神开发的,已经做了反编译的安全措施,所以解密失败,这也是我发这篇文章的目的。不过这种大神目前还是比较少见的。

还是那句话:有心之人防不住,无心之人不用防。没有绝对,只有相对!


http://www.kler.cn/a/3674.html

相关文章:

  • Mysql触发器(学习自用)
  • Java Web开发高级——单元测试与集成测试
  • PyTorch使用教程(13)-一文搞定模型的可视化和训练过程监控
  • 计算机网络 (54)系统安全:防火墙与入侵检测
  • Linux系统之kill命令的基本使用
  • 一次理清楚Java中的日期和时间
  • 【面试题系列|Java】Java基础面试题
  • 使用txt编写Java代码并通过cmd命令执行
  • 常见HTTP状态码汇总
  • 计算机网络笔记——物理层
  • 【python实操】年轻人,别用记事本保存数据了,试试数据库吧
  • 【数据结构与算法】堆与堆排序
  • 【算法基础】一篇文章彻底弄懂Dijkstra算法|多图解+代码详解
  • 【linux】深入了解TCP与UDP
  • 数据结构MySQL —— 索引
  • 记录springboot+vue+fastdfs实现简易的文件(上传、下载、删除、预览)操作
  • Spring Boot集成RocketMQ实现普通、延时、事务消息发送接收、PULL消费模式及开启ACL | Spring Cloud 30
  • LORA: LOW-RANK ADAPTATION OF LARGE LAN-GUAGE MODELS
  • C++11新特性
  • 安全防御之入侵检测篇
  • 【数据结构】栈与队列:后进先出与先进先出到底是啥?
  • vue3 解决各场景 loading过度 ,避免白屏尴尬!
  • C语言番外-------《函数栈帧的创建和销毁》知识点+基本练习题+完整的思维导图+深入细节+通俗易懂建议收藏
  • 软件架构常用设计
  • linux读写锁pthread_rwlock_t
  • 模拟斗地主