您的位置:首页 > 移动开发 > 微信开发

微信小程序漏洞:可下载任意微信小游戏源代码

2018-01-02 00:00 211 查看


本文是我的好朋友,独立开发者朱鹏飞早上的投稿,我看完文章之后立马根据他的思路方法测试了一下,然后下载了十几个微信官方的小游戏源码单纯研究学习,截止我目前推送文章的时候( 2018年1月1日23:50分 ),微信官方已经修复了这个漏洞,但是我感觉文章还是可以分享出来给诸位开发者,安全问题真的不容忽视呢。
另外说三点:1、据说有些老版本的微信还是可以抓包获取包地址;2、如果有同学对微信官方的小游戏源码感兴趣,想要研究学习,那么可以在本微信公众号回复“微信小游戏”,在确保不违法情况下,我可以发给你用于研究学习;3、文章末尾会有作者的番薯干推荐,因为我的这个好朋友,平时除了写代码之外,每年冬天都会卖他自家晒的农家番薯干,我买过几次,的确非常不错。

一、发现
一大早起来刷 V2EX,看到一个帖子《微信跳一跳 可以直接更改分数, POST 请求没有校验…》 https://www.v2ex.com/t/419056  好奇点进去看了。


发现不但跳一跳小游戏可以直接改分数,甚至连微信小程序、小游戏的源代码都可以直接下载,只需要知道 appid 和 版本号,就可以直接构造 URL 下载后缀为 wxapkg 的源码包,不需要任何验证。


虽然下载来的源码包是加密的,但是解密方法已经被 V2EXer 发现,并且写了一个解密的 Python 脚本,运行即可把源码包解开为文件夹。


二、重现
第一步,我先试着用帖子作者拼接好的跳一跳源码包地址测试,发现能够下载,不需要任何验证,只需要知道这个地址,直接任意浏览器或者下载工具打开都可以下载。


第二步,再用帖子中的解包 Python 脚本把源码包解压成源代码。






第三步,在本地微信开发者工具中新建一个空白的小程序或小游戏的项目,不要选择快速启动模板。


第四步、把刚才解压出来的源代码复制到刚刚创建的项目目录中,开发者工具会提示编译出错,这个只需要新建一个game.json文件即可。

文件内容不能为空,写一对大括号进去,或者加上deviceOrientation的配置,这句话的意思是游戏竖屏玩。

保存后你发现游戏还是编译不通过,还需要修改最后一项,点击开发者工具右上角详情按钮,把调试基础库改成game。

好了,运行起来了:


如果有同学对微信官方的小游戏源码感兴趣,想要研究学习,那么可以在本微信公众号回复“微信小游戏”,在确保不违法情况下,我可以发给你用于研究学习;另外别忘了买点农家番薯干,哈哈。

倒蒸番薯干购买链接:https://www.tianlancun.com/wx/item/100002



文章出处: 小专栏平台
你会喜欢
揭秘「给我一个圣诞帽!@微信官网」背后的技术 !
你的微信绑定了哪些网站和应用?这个方法可以一键查看...
清微信"僵尸粉"被转账,警方:清粉工具等同盗号

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: