
更正写错的地方
game.js 文件可以用 chrome 调整后再看,逻辑其实蛮清晰的
https://gist.github.com/feix/6dd1f62a54c5efa10f1e1c24f8efc417#file-wx_t1t_hack-js
大家悠着点玩
鉴于留言区有贴 session_id 求组的,增加一个附言: session_id 为 base64 字符串, 示例如下
zmprIsSEt/dxWNTH4iyU4V2uM7p8DTQWg1Op+dR0hwbvBW2bl00IHXuIGssPGoMeydL0thdRoxXa9MWqX1xEbDvk+o+1rLiihz0VDhUgbprjLVC4qBqiUQF54c061IhJ1JjBy79dI2xWYs0G9oyI9A==
虽然 CDN 方式下载失效了, 原链还是可以下载的,各位 ……
https://servicewechat.com/weapp/release/${appid}/${version_num}.wxapkg
102 bravecoder OP @wzw appid 是公开的,格式类似 wx7c8d593b2c3a7703 ;访问小程序时,http 请求 referer 里会包含。 version_num 类似,就是数字 1,2,3 …… 可以遍历 |
103 wzw 2018-01-01 15:48:47 +08:00 @bravecoder 可惜有些小程序用这个链接下载是 404 Not Found http://123.125.9.32/resstatic.servicewechat.com/weapp/release/***/*.wxapkg 是不是有些 IP 要改变? 不是一个地方存储 |
104 mysteri0uss 2018-01-01 15:55:41 +08:00 https://gist.github.com/mysteriouss/01d7f18cdef47acc0781e8f484f2d2d0 根据楼主提供的代码修改的油猴脚本,在 tampermonkey 下运行正常 目前没有对 Referer 的验证 |
105 mason961125 2018-01-01 15:59:30 +08:00 所以现在还没修复?微信团队没人上 v2ex? |
106 Telegram 2018-01-01 16:04:33 +08:00 via iPhone 本来只想改个 400 左右,弄个第一差不多了,结果改来改去,排行榜没变化。以为编码什么的问题,又从 github 复制一份测试,也没改分数直接运行,然后突然想到是不是刷新问题? 其他手机一看,哈哈哈哈,2018,尴尬了。。。 |
107 |
108 esonchen 2018-01-01 16:08:43 +08:00 大佬放的 github 连接点不开耶... |
109 mysteri0uss 2018-01-01 16:10:13 +08:00 @289450031 #107 安装好以后,访问 https://mp.weixin.qq.com 即可 |
110 slwl 2018-01-01 16:29:56 +08:00 如何抓包 拿到 session_id 下载最新 charlesproxy 启动 charlesproxy 配置代理: 设置 > 无线局域网 > 配置代理 > 手动 > IP:电脑 ip,端口:8888 导入 https 证书: 浏览器访问 http://chls.pro/ssl 下载安装证书 启动跳一跳小程序 去 charlesproxy 里查看抓到的请求, https://mp.weixin.qq.com/wxagame/wxagame_init 路径的请求,请求体里就包含 session_id 汗颜,启动跳一跳,没抓到 https://mp.weixin.qq.com/wxagame/wxagame_init 这个路径的数据哈。只有 https://mp.weixin.qq.com/ |
111 caijunyi 2018-01-01 16:32:34 +08:00 都被你们玩坏了 |
112 Luzifer 2018-01-01 16:33:33 +08:00 C:\Users\Dell\Desktop>node wx_t1t_hack.js 2018! Happy new year! 之后分数为什么没变呢? 应该是 2018 啊 |
113 289450031 2018-01-01 16:37:32 +08:00 @mysteri0uss 方便留个联系方式交流一下吗 |
114 dd0754 2018-01-01 16:41:09 +08:00 老哥们,你们之前抓包的时候有没有这个 bottlereport,这个是之前就有还是现在才有的?如果是现在才有的那要小心了... |
117 Deeer 2018-01-01 17:12:13 +08:00 没有 app.json 怎么运行啊,求告知 |
118 artandlol 2018-01-01 17:23:28 +08:00 @mysteri0uss 安卓安装 packet capture 免 root 抓包 再配合你的脚本 成功了 |
119 x18960 2018-01-01 17:25:23 +08:00 收藏了 大佬 ! 这不是徒手扒小程序吗 |
120 kiistar 2018-01-01 17:55:17 +08:00 好像被封了 所有的下载 都是 404 Not Found |
121 kiistar 2018-01-01 18:13:47 +08:00 或者是不是各种类型的小程序 是分服务器放 前面的 http://123.125.9.32/ 这台服务器没有其他类型的小程序 |
123 lerp PRO 18:28 成功 |
124 touzi PRO mysteri0uss 不行, Chrome 下工作台没有输出任何内容 |
125 touzi PRO @mysteri0uss 不行 |
126 kiistar 2018-01-01 18:32:05 +08:00 @bravecoder 想问下楼主 123.125.9.32 是如何获得的 |
128 scusjs 2018-01-01 18:34:55 +08:00 然后去钥匙串中设置信任 |
129 bravecoder OP @mysteri0uss 没太明白用油猴的好处,是不用装 node 吗? |
130 bravecoder OP @kiistar 前面有人提到了,应该是 cdn |
131 bravecoder OP @mason961125 哈哈哈,话说昨晚他们还升级了两个版本呢,今天一点动静都没有…… |
132 Wysten 2018-01-01 18:44:53 +08:00 此贴火了,头条,公众号都看到有人报道这贴子了。。 |
133 4ever911 2018-01-01 18:58:52 +08:00 6666, 我修改成 666 了。。。 |
134 fe619742721 2018-01-01 19:03:00 +08:00 via iPhone 好欢乐,那么问题来了,如果你是腾讯跳一跳的开发者,你能用什么办法避免这种直接通过接口刷分的情况呢 |
135 qiayue PRO @fe619742721 前端记录用户操作 log,一起提交到后端去验证计算分数 |
136 |
137 kiistar 2018-01-01 19:09:50 +08:00 @bravecoder 您是如何获取到这个 cdn 的 ip 呢 通过 charles 没有找到能用的其他 ip 呢 |
138 fe619742721 2018-01-01 19:09:56 +08:00 via iPhone @qiayue 但是这种 log 也是能够被分析出规律从而伪造的吧,而且每一个做实时验证,服务端压力会不会不小? 额,我只是好奇,纯粹技术讨论哈。。感觉挺好玩的 |
139 qiayue PRO @fe619742721 没有完美的办法,只能尽可能的提高伪造数据的难度 |
140 yagnqionggo 2018-01-01 19:14:33 +08:00 有个地方不明白,安装包的下载路径是怎么发现的,之前就有这个问题嘛,还是这次发现的 http://123.125.9.32/resstatic.servicewechat.com/weapp/release/wx7c8d593b2c3a7703/4.wxapkg |
141 slwl 2018-01-01 19:27:14 +08:00 @mysteri0uss 同样搞了半天没搞好 node 环境,request-promise 一直没搞好。 |
142 bravecoder OP @fe619742721 看防御成本,在成本允许的范围的,前端尽可能做混淆提高复杂度。没有其他好的办法,毕竟前端是代码和数据都在攻击方手里。 |
143 yagnqionggo 2018-01-01 19:45:53 +08:00 @bravecoder http://123.125.9.32/resstatic.servicewechat.com/weapp/release/{appid}/{version_num}.wxapkg 发现关键的第一步抓包找不到,请问下这个下载地址是怎么发现的? |
144 yagnqionggo 2018-01-01 19:48:46 +08:00 @yagnqionggo 如果没有这个下载地址,后面就没法解密 wxapkg,也没法分析代码知道加密方式 |
145 bravecoder OP @yagnqionggo 非常有意思的点。我把原始请求头发上来你就应该明白啦,注意看 UA -H 'Accept: */*' -H 'Accept-Encoding: gzip' -H 'Cache-Control: no-cache' -H 'Connection: Keep-Alive' -H 'Content-Type: application/octet-stream' -H 'Host: 123.125.9.32' -H 'User-Agent: MicroMessenger Client' |
146 lrdcq 2018-01-01 20:16:52 +08:00 @yagnqionggo 抓包应该能抓到的。另外微信也会在手机本地 /data/data/com.tencent.mm/MicroMsg/{User}/appbrand/pkg 下储存 wxapkg 包。至于解密,拿到 wxapkg 随便看一下就会写了,根本没加密的成分在里面 |
147 sologgfun 2018-01-01 20:22:00 +08:00 我手机上设置了 http 代理,也安装了证书,但是抓包的 mp.weixin.qq.com 下面全是 unknown 无法访问。请问是怎么回事呀? |
149 bravecoder OP @lrdcq 其实就是解压缩,这个早就有人研究过 https://share.whuboy.com/weapp.html |
150 h4rdy 2018-01-01 20:24:45 +08:00 同问怎么找到这个地址的 http://123.125.9.32/resstatic.servicewechat.com |
151 lrdcq 2018-01-01 20:29:43 +08:00 @bravecoder 是啊,就是解压。我能说 lz 提到的 python 的解压脚本就是我去年初写的嘛( http://lrdcq.com/me/read.php/66.htm ),还把我署名去掉了(尴尬) |
154 bravecoder OP @lrdcq 非常尴尬了,看来我 gist 里原始代码的链接需要纠正下了,原谅我没有去考据一下。既然贴了博客,我就去看看 |
155 voocel 2018-01-01 20:52:47 +08:00 火钳刘明 |
156 lrdcq 2018-01-01 20:56:29 +08:00 @bravecoder 倒是无所谓吐槽一下,应该是从 https://share.whuboy.com/weapp.html 中的代码 fork 出来的吧,他好歹做了一下改进,另外他这网站首页下面那个啥“从微信小程序看前端代码安全”也有我博客的内容。看起来他对看到的东西进行了重新整理和归纳的,我个人写博客和脚本比较随性,并不友好 |
157 kalagxw 2018-01-01 21:02:53 +08:00 经过测试 2018 分只能自己排行榜看到,好友排行榜已经没你这个人了。 |
158 twm 2018-01-01 21:02:59 +08:00 via iPhone |
159 IllBeBack 2018-01-01 21:24:33 +08:00 |
160 Telegram 2018-01-01 21:25:49 +08:00 |
161 Telegram 2018-01-01 21:26:46 +08:00 |
164 ThemisMin 2018-01-01 21:54:32 +08:00 @bravecoder 请问你贴出来的原始请求头是怎么抓到的? |
165 Deeer 2018-01-01 21:57:22 +08:00 via iPhone 那么问题来了,如何修改游戏排名中的昵称呢 |
166 233 2018-01-01 22:02:07 +08:00 你们现在还有人下载 wxapkg 成功吗 |
168 zz233333zz 2018-01-01 22:22:04 +08:00 @ZE3kr 为啥我用 surge 抓不到这个包呀,连一个 https 的包都没有呢 |
169 ob 2018-01-01 22:30:18 +08:00 via Android 默默的收藏 |
170 cigarzh 2018-01-01 22:43:44 +08:00 改个小游戏分数不是个严重问题,拿到源码这件事就严重得多了 |
171 kiistar 2018-01-01 23:04:29 +08:00 解析出来的包文件都是 html 的 感觉内容无法正常使用 |
174 Liyuu 2018-01-02 03:05:16 +08:00 感谢这么详细的教程,新年快乐! |
175 billytom 2018-01-02 05:12:46 +08:00 有小伙伴知道 surge 怎么抓包看小程序的 appid 和 version 吗?我怎么找来找去看不到?反而是跳一跳的很快就看到在哪里了 |
176 aino 2018-01-02 08:49:10 +08:00 如何提交修改好的 JS 文件啊? |
177 er567 2018-01-02 09:05:03 +08:00 |
178 er567 2018-01-02 09:09:42 +08:00 #177 好吧 fq 就可以了 |
179 KgM4gLtF0shViDH3 2018-01-02 09:15:36 +08:00 @fe619742721 #134 只要是能够暴露前端源码的都不能避免,就像现在的新浪腾讯网易都可以被模拟登录。 |
180 Bantes 2018-01-02 09:18:24 +08:00 来玩的求几个 wxapkg 学习下 |
181 artandlol 2018-01-02 09:25:06 +08:00 再来个 iphone 方案 安装 红手指云手机 + 微信 + 黑松鼠(安卓虚拟机的 apk) |
183 Olajuwon 2018-01-02 09:34:49 +08:00 09:34 已成功 |
184 cxl008 2018-01-02 09:48:22 +08:00 已经玩坏了 |
185 qq2511296 2018-01-02 09:57:02 +08:00 楼主是怎么抓包到 wxapkg 的下载地址的? |
186 KgM4gLtF0shViDH3 2018-01-02 10:05:21 +08:00 @mysteri0uss #104 登录微信公众平台自动执行? |
187 raofeng 2018-01-02 10:16:15 +08:00 整了个 9527,自己看是 0,别人能看到。 哎呀,玩坏了玩坏了,估计腾讯要开始加密了。 |
188 skadi 2018-01-02 10:20:35 +08:00 我为 webGL 加热度. ( 微笑 |
189 goodluck 2018-01-02 10:22:13 +08:00 老铁,你破坏游戏规则了 |
190 zz233333zz 2018-01-02 10:31:56 +08:00 10.25 提交成功 |
191 a441023263 2018-01-02 10:33:18 +08:00 thor 直接抓 |
192 SkyKoo 2018-01-02 10:43:23 +08:00 已提交成功^^ |
193 kamal 2018-01-02 10:57:08 +08:00 @bravecoder @yagnqionggo 非常有意思的点。我把原始请求头发上来你就应该明白啦,注意看 UA -H 'Accept: */*' -H 'Accept-Encoding: gzip' -H 'Cache-Control: no-cache' -H 'Connection: Keep-Alive' -H 'Content-Type: application/octet-stream' -H 'Host: 123.125.9.32' -H 'User-Agent: MicroMessenger Client' 请问楼主这个请求是什么时候发起的呢,抓包没看到这个请求。 |
194 TanninS 2018-01-02 11:14:40 +08:00 老司机们,我已经安装好这两个包了 + [email protected] + [email protected] 但是我在 macOS 终端输入 node wx_t1t_hack.js 以后出现这种情况是怎么回事呢 ### ### The "request" library is not installed automatically anymore. ### But required by "request-promise". ### ### npm install request --save ### /Users/tannins/node_modules/request-promise/lib/rp.js:23 throw err; ^ |
195 krfalcon 2018-01-02 11:15:09 +08:00 @zz233333zz surge 如何抓包 https |
197 finab 2018-01-02 11:19:19 +08:00 something crash 了呀 调试后发现是这个没有 var times = response.my_user_info.times + 1 谁知道咋回事么? |
198 ycmchong 2018-01-02 11:22:04 +08:00 github 地址打不开了,删了? |
200 satanandroid 2018-01-02 11:28:09 +08:00 2018 分。提交成功. 2018 年 1 月 2 日 11:28:01 |