微信小程序反编译源码后的一次偶然发现 作者: lattice 时间: 2020-04-30 分类: 网络安全 # 起因 一大早老爸给我发了个大佬的文章 具体的需求就是反编译小程序,拿到小程序的源码 好吧,看看就看看 ## 第一步 先贴上大佬的文章: https://www.cnblogs.com/_error/p/11726356.html 第一步我们就需要小程序的源码包 wxapkg 获取的方式非常容易,上面的文章也有写 我就把具体步骤描述出来好了 因为需要root权限获取系统文件,所以这里用到了安卓模拟器 (俺用的夜神,其他的也可) 模拟器内登陆微信并打开任意一款小程序(这里就不截图了..) 之后安装RE文件管理器,找到如下目录 `/data/data/com.tencent.mm/MicroMsg/{User}/appbrand/pkg` **{ User } 为一串16进制字符** 可能到`/data/data/com.tencent.mm/MicroMsg/`目录之后大家会不清楚具体是哪个文件夹,这里给大家举例  继续跟进上面的目录路径之后,就可以到达小程序的源码包目录  务必将你需要测试的小程序源码包打包成压缩文件  之后将此压缩文件选中,通过模拟器里的微信发到电脑就好了 这个就是我们需要反编译的小程序源码包  ## 第二步 这里需要用到工具 https://github.com/qwerty472123/wxappUnpacker/releases 下载下来,我就直接丢到linux里测试了 **注意:linux需要装好node环境(node环境安装直接百度就好了..很简单快速),同时要cd到该工具的目录下运行命令`npm install`** ## 第三步 所需环境和工具咱都弄好之后 开始反编译小程序,具体我们只需要用到wuWxapkg.js这个文件 **此时的操作还是需要在工具目录下** 运行命令`node wuWxapkg.js 'wxapkg包路径'` 脚本一顿操作,就会在你那个wxapkg包路径的目录下反编译出小程序的源码了  之后我就直接把这个源码丢给公司程序员去看了 # 后续 **下面的操作属于巧合导致我发现了信息泄露,不一定要像我这样用什么开发者工具,直接翻上面的小程序源码也可以找到敏感信息,下面内容只是扩展** ## 微信开发者工具 老爸要我看看源码是否可以正常显示 这里就要用到微信开发者工具了 https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html 但是导入这个小程序的源码包 需要任意一个开发者的AppId  这一步还是有门槛,需要有自己的公众号来申请  大概就是这样,填入之后导入之前反编译出来的小程序源码 ## 奇怪的请求 导入之后我发现有个`help.js`文件一直在请求`SESSION_KEY`  然后我直接定位到了目录里的这个js文件 发现里面都是..各种敏感信息(后台地址,支付接口id等)  (请求的原因是他源码里没填写`SESSION_KEY`,正常发布了的小程序肯定是填写完整可以正常运行的) ## 继续深入 后面一直在翻源码的js代码看 发现小程序所有铭感信息都是写在了js文件里  所以后期想要测试的小伙伴,目光都可以放在源码的js文件里,方便大家定位,剩下具体的就不做截图了 # 结尾 emmm其实大概也就这样吧,大家可用这个方法去测测别的小程序,看看能不能翻到一些敏感信息吧,或许对大家刷SRC也有帮助呢 XD 标签: 网络安全
牛逼