侧边栏壁纸
博主头像
前端江太公博主等级

不知江月待何人

  • 累计撰写 178 篇文章
  • 累计创建 3 个标签
  • 累计收到 127 条评论
标签搜索

目 录CONTENT

文章目录

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

前端江太公
2023-03-23 / 18 评论 / 26 点赞 / 11,731 阅读 / 1,343 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2024-10-18,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
广告 广告

前言

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

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

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

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

工具准备

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

包含:逆向工具、解密工具

image.png

逆向工具

目前用的是:wxappUnpacker

image.png

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

解密工具

image.png

先解密

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

1、找到文件管理的位置

image.png

Applet 是存放小程序编译包的,

image.png
这里面存放的都是打开过的小程序包文件

2、打开小程序

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

image.png
不过里面的是加密过的文件:APP.wxapkg就需要用到我们前面的解密软件。

image.png

3、解密

选择小程序的加密包,0.1秒解密成功:
image.png
加密后会存放在wxpack里面:

image.png

再逆向

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

1、逆向准备

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

image.png
检查是否有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 主包路径(可以直接拖入)

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

image.png
OK,编译完成,接下来直接使用微信开发工具打开,即可学习前辈们的前端设计了,骚年。

3、可能的错误

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

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

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

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

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

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

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

26
广告 广告

评论区