# 微信小程序逆向工具 **Repository Path**: hefangxuan/wechat-applet-reverse-tool ## Basic Information - **Project Name**: 微信小程序逆向工具 - **Description**: 想成为一名微信小程序的开发者,前端思路的学习和安全意识是非常有必要的,故务必掌握小程序反编译技能。纯免费!!! - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: https://jiangsihan.cn/archives/xcx-nx - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 43 - **Created**: 2023-07-19 - **Last Updated**: 2023-07-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 教程 请查看:https://jiangsihan.cn/archives/xcx-nx 温馨提示: 本文最后更新于 2023-03-23,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。 前言 安全部门的大哥又双叒叕报了一个小程序的高危漏洞,他使用逆向工程破解了加密信息,用抓包修改了请求参数。又是头疼的一天.... 想成为一名微信小程序的开发者,前端思路的学习和安全意识是非常有必要的,故务必掌握小程序反编译技能。 这里用到了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=. 说明这个是分包,打开小程序时生成了两个.wxapkg文件,编译另一个文件即可,编译分包和主包的命令是不一样的: node ./wuWxapkg.js 分包路径 -s=主包路径 4、如果生成的文件里不包含app.json文件 说明你找的小程序,是大神开发的,已经做了反编译的安全措施,所以解密失败,这也是我发这篇文章的目的。不过这种大神目前还是比较少见的。 还是那句话:有心之人防不住,无心之人不用防。没有绝对,只有相对!