微信跳一跳 可以直接更改分数, POST 请求没有校验… - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
bravecoder
V2EX    分享创造

微信跳一跳 可以直接更改分数, POST 请求没有校验…

  •  20
    nbsp;
  •   bravecoder 2017-12-31 21:29:48 +08:00 93740 次点击
    这是一个创建于 2892 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这两天逛 v 站出现了一众微信跳一跳 'AI',已经被刷屏了……

    大致思路都是通过计算两点距离,模拟点击起跳来方式来实现的,

    可是作为不越狱的苹果党,手里又没安卓机,看着被刷屏刷榜,非常不爽啊

    想着抓个包看看能不能模拟下网络请求刷分,结果 ……

    发现可以直接伪造 POST 请求刷分

    https://gist.github.com/feix/6dd1f62a54c5efa10f1e1c24f8efc417

    第 1 条附言    2017-12-31 22:02:32 +08:00
    目前比较麻烦的是

    - [ ] 需要先抓包拿到 sesseion_id
    - [ ] 分数最高只能设置为 999,还未找到为啥

    ### 如何抓包:

    1. 下载最新 [charlesproxy]( https://www.charlesproxy.com/download/)
    2. 启动 charlesproxy
    3. 配置代理: 设置 > 无线局域网 > 配置代理 > 手动 > IP:电脑 ip,端口:8888
    4. 导入 https 证书: 浏览器访问 http://chls.pro/ssl 下载安装证书
    5. 启动跳一跳小程序
    6. 去 charlesproxy 里查看抓到的请求, https://servicewechat.com/ 域名的请求,请求体里就包含 session_id

    ### 突破 999 的分数限制

    Just for fun !


    另外附上两个个有意思的点:

    ### 如何下载小程序源代码
    ```bash
    wget http://123.125.9.32/resstatic.servicewechat.com/weapp/release/{appid}/{version_num}.wxapkg
    ```

    {appid} 为小程序码, {version_num} 为 版本号,示例:
    http://123.125.9.32/resstatic.servicewechat.com/weapp/release/wx7c8d593b2c3a7703/3.wxapkg

    ### 如何解析 wxapkg 文件:
    第 2 条附言    2018-01-01 01:03:12 +08:00

    更正写错的地方

    感兴趣的可以把 小程序 的代码下下来,解包在本地运行玩玩

    1. 用 微信开发者工具新建小游戏,选择空的项目目录,game4fun
    2. wget http://123.125.9.32/resstatic.servicewechat.com/weapp/release/wx7c8d593b2c3a7703/4.wxapkg
    3. python2 unwxapkg.py 4.wxapkg
    4. cp 4.wxapkg_dir/* game4fun/
    5. 重启微信开发者工具后就可以在电脑上运行 跳一跳

    game.js 文件可以用 chrome 调整后再看,逻辑其实蛮清晰的

    第 3 条附言    2018-01-01 10:24:34 +08:00

    好消息,拿 JS 重撸了一遍逻辑,发现 999 这个限制没了,也就是可以任意刷分了……

    https://gist.github.com/feix/6dd1f62a54c5efa10f1e1c24f8efc417#file-wx_t1t_hack-js

    大家悠着点玩

    第 4 条附言    2018-01-01 15:05:53 +08:00

    鉴于留言区有贴 session_id 求组的,增加一个附言: session_id 为 base64 字符串, 示例如下

    zmprIsSEt/dxWNTH4iyU4V2uM7p8DTQWg1Op+dR0hwbvBW2bl00IHXuIGssPGoMeydL0thdRoxXa9MWqX1xEbDvk+o+1rLiihz0VDhUgbprjLVC4qBqiUQF54c061IhJ1JjBy79dI2xWYs0G9oyI9A==

    session_id 和微信账号相关联, session_id 公示或提供给他人 都是有账号安全风险的

    第 5 条附言    2018-01-02 18:47:40 +08:00

    虽然 CDN 方式下载失效了, 原链还是可以下载的,各位 ……

    https://servicewechat.com/weapp/release/${appid}/${version_num}.wxapkg

    416 条回复    2018-01-22 10:49:10 +08:00
    1  2  3  4  5  
    wzw
        101
    wzw  
       2018-01-01 15:17:20 +08:00
    @xqin @qiayue 我也觉得你这样发新闻不好
    bravecoder
        102
    bravecoder  
    OP
       2018-01-01 15:34:14 +08:00
    @wzw appid 是公开的,格式类似 wx7c8d593b2c3a7703 ;访问小程序时,http 请求 referer 里会包含。
    version_num 类似,就是数字 1,2,3 …… 可以遍历
    wzw
        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 要改变? 不是一个地方存储
    mysteri0uss
        104
    mysteri0uss  
       2018-01-01 15:55:41 +08:00
    https://gist.github.com/mysteriouss/01d7f18cdef47acc0781e8f484f2d2d0

    根据楼主提供的代码修改的油猴脚本,在 tampermonkey 下运行正常
    目前没有对 Referer 的验证
    mason961125
        105
    mason961125  
       2018-01-01 15:59:30 +08:00
    所以现在还没修复?微信团队没人上 v2ex?
    Telegram
        106
    Telegram  
       2018-01-01 16:04:33 +08:00 via iPhone
    本来只想改个 400 左右,弄个第一差不多了,结果改来改去,排行榜没变化。以为编码什么的问题,又从 github 复制一份测试,也没改分数直接运行,然后突然想到是不是刷新问题?

    其他手机一看,哈哈哈哈,2018,尴尬了。。。
    289450031
        107
    /div> 289450031  
       2018-01-01 16:06:17 +08:00
    @mysteri0uss 具体怎么使用呢?
    esonchen
        108
    esonchen  
       2018-01-01 16:08:43 +08:00
    大佬放的 github 连接点不开耶...
    mysteri0uss
        109
    mysteri0uss  
       2018-01-01 16:10:13 +08:00   1
    @289450031 #107 安装好以后,访问 https://mp.weixin.qq.com 即可
    slwl
        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/
    caijunyi
        111
    caijunyi  
       2018-01-01 16:32:34 +08:00
    都被你们玩坏了
    Luzifer
        112
    Luzifer  
       2018-01-01 16:33:33 +08:00
    C:\Users\Dell\Desktop>node wx_t1t_hack.js
    2018! Happy new year!

    之后分数为什么没变呢? 应该是 2018 啊
    289450031
        113
    289450031  
       2018-01-01 16:37:32 +08:00
    @mysteri0uss 方便留个联系方式交流一下吗
    dd0754
        114
    dd0754  
       2018-01-01 16:41:09 +08:00
    老哥们,你们之前抓包的时候有没有这个 bottlereport,这个是之前就有还是现在才有的?如果是现在才有的那要小心了...
    ljsh0102
        115
    ljsh0102  
       2018-01-01 16:44:50 +08:00   1
    @Luzifer 重启微信就可以了
    mekhili
        116
    mekhili  
       2018-01-01 16:48:28 +08:00
    @dd0754 之前就有
    Deeer
        117
    Deeer  
       2018-01-01 17:12:13 +08:00
    没有 app.json 怎么运行啊,求告知
    artandlol
        118
    artandlol  
       2018-01-01 17:23:28 +08:00   1
    @mysteri0uss 安卓安装 packet capture 免 root 抓包 再配合你的脚本 成功了
    x18960
        119
    x18960  
       2018-01-01 17:25:23 +08:00
    收藏了 大佬 ! 这不是徒手扒小程序吗
    kiistar
        120
    kiistar  
       2018-01-01 17:55:17 +08:00
    好像被封了 所有的下载 都是 404 Not Found
    kiistar
        121
    kiistar  
       2018-01-01 18:13:47 +08:00
    或者是不是各种类型的小程序 是分服务器放 前面的 http://123.125.9.32/ 这台服务器没有其他类型的小程序
    Telegram
        122
    Telegram  
       2018-01-01 18:18:11 +08:00 via iPhone   1
    @Luzifer #112 别人看你已经变了,自己这里需要刷新的
    lerp
        123
    lerp  
    PRO
       2018-01-01 18:28:17 +08:00 via Android
    18:28 成功
    touzi
        124
    touzi  
    PRO
       2018-01-01 18:28:57 +08:00
    mysteri0uss 不行, Chrome 下工作台没有输出任何内容
    touzi
        125
    touzi  
    PRO
       2018-01-01 18:31:33 +08:00
    @mysteri0uss 不行
    kiistar
        126
    kiistar  
       2018-01-01 18:32:05 +08:00
    @bravecoder 想问下楼主 123.125.9.32 是如何获得的
    scusjs
        127
    scusjs  
       2018-01-01 18:33:10 +08:00
    @slwl #110 把 ssl 证书导入钥匙串,就能看到路径了
    scusjs
        128
    scusjs  
       2018-01-01 18:34:55 +08:00

    然后去钥匙串中设置信任
    bravecoder
        129
    bravecoder  
    OP
       2018-01-01 18:36:17 +08:00
    @mysteri0uss 没太明白用油猴的好处,是不用装 node 吗?
    bravecoder
        130
    bravecoder  
    OP
       2018-01-01 18:37:14 +08:00   1
    @kiistar 前面有人提到了,应该是 cdn
    bravecoder
        131
    bravecoder  
    OP
       2018-01-01 18:38:03 +08:00
    @mason961125 哈哈哈,话说昨晚他们还升级了两个版本呢,今天一点动静都没有……
    Wysten
        132
    Wysten  
       2018-01-01 18:44:53 +08:00
    此贴火了,头条,公众号都看到有人报道这贴子了。。
    4ever911
        133
    4ever911  
       2018-01-01 18:58:52 +08:00
    6666, 我修改成 666 了。。。
    fe619742721
        134
    fe619742721  
       2018-01-01 19:03:00 +08:00 via iPhone
    好欢乐,那么问题来了,如果你是腾讯跳一跳的开发者,你能用什么办法避免这种直接通过接口刷分的情况呢
    qiayue
        135
    qiayue  
    PRO
       2018-01-01 19:05:17 +08:00
    @fe619742721 前端记录用户操作 log,一起提交到后端去验证计算分数
    Telegram
        136
    Telegram  
       2018-01-01 19:09:14 +08:00 via iPhone
    @bravecoder #129 不用装 nodejs 环境,不用 npm 下模块。

    我今天临时弄这个环境,下模块报了半天错,win 系统权限问题搞烦死
    kiistar
        137
    kiistar  
       2018-01-01 19:09:50 +08:00
    @bravecoder 您是如何获取到这个 cdn 的 ip 呢 通过 charles 没有找到能用的其他 ip 呢
    fe619742721
        138
    fe619742721  
       2018-01-01 19:09:56 +08:00 via iPhone
    @qiayue 但是这种 log 也是能够被分析出规律从而伪造的吧,而且每一个做实时验证,服务端压力会不会不小?
    额,我只是好奇,纯粹技术讨论哈。。感觉挺好玩的
    qiayue
        139
    qiayue  
    PRO
       2018-01-01 19:12:56 +08:00
    @fe619742721 没有完美的办法,只能尽可能的提高伪造数据的难度
    yagnqionggo
        140
    yagnqionggo  
       2018-01-01 19:14:33 +08:00
    有个地方不明白,安装包的下载路径是怎么发现的,之前就有这个问题嘛,还是这次发现的
    http://123.125.9.32/resstatic.servicewechat.com/weapp/release/wx7c8d593b2c3a7703/4.wxapkg
    slwl
        141
    slwl  
       2018-01-01 19:27:14 +08:00
    @mysteri0uss 同样搞了半天没搞好 node 环境,request-promise 一直没搞好。
    bravecoder
        142
    bravecoder  
    OP
       2018-01-01 19:43:18 +08:00
    @fe619742721 看防御成本,在成本允许的范围的,前端尽可能做混淆提高复杂度。没有其他好的办法,毕竟前端是代码和数据都在攻击方手里。
    yagnqionggo
        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

    发现关键的第一步抓包找不到,请问下这个下载地址是怎么发现的?
    yagnqionggo
        144
    yagnqionggo  
       2018-01-01 19:48:46 +08:00
    @yagnqionggo 如果没有这个下载地址,后面就没法解密 wxapkg,也没法分析代码知道加密方式
    bravecoder
        145
    bravecoder  
    OP
       2018-01-01 20:06:56 +08:00   1
    @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'
    lrdcq
        146
    lrdcq  
       2018-01-01 20:16:52 +08:00
    @yagnqionggo 抓包应该能抓到的。另外微信也会在手机本地 /data/data/com.tencent.mm/MicroMsg/{User}/appbrand/pkg 下储存 wxapkg 包。至于解密,拿到 wxapkg 随便看一下就会写了,根本没加密的成分在里面
    sologgfun
        147
    sologgfun  
       2018-01-01 20:22:00 +08:00
    我手机上设置了 http 代理,也安装了证书,但是抓包的 mp.weixin.qq.com 下面全是 unknown 无法访问。请问是怎么回事呀?
    slwl
        148
    slwl  
       2018-01-01 20:24:37 +08:00
    @sologgfun 一样的。全是 unknown
    bravecoder
        149
    bravecoder  
    OP
       2018-01-01 20:24:38 +08:00
    @lrdcq 其实就是解压缩,这个早就有人研究过 https://share.whuboy.com/weapp.html
    h4rdy
        150
    h4rdy  
       2018-01-01 20:24:45 +08:00
    同问怎么找到这个地址的
    http://123.125.9.32/resstatic.servicewechat.com
    lrdcq
        151
    lrdcq  
       2018-01-01 20:29:43 +08:00
    @bravecoder 是啊,就是解压。我能说 lz 提到的 python 的解压脚本就是我去年初写的嘛( http://lrdcq.com/me/read.php/66.htm ),还把我署名去掉了(尴尬)
    ch4in
        152
    ch4in  
       2018-01-01 20:30:44 +08:00
    @sologgfun
    @slwl
    看下手机当中 设置 - 通用 - 关于本机 - 证书信任设置 里边开关绿了
    sologgfun
        153
    sologgfun  
       2018-01-01 20:35:54 +08:00
    @ch4in 谢谢大佬!
    bravecoder
        154
    bravecoder  
    OP
       2018-01-01 20:46:07 +08:00
    @lrdcq 非常尴尬了,看来我 gist 里原始代码的链接需要纠正下了,原谅我没有去考据一下。既然贴了博客,我就去看看
    voocel
        155
    voocel  
       2018-01-01 20:52:47 +08:00
    火钳刘明
    lrdcq
        156
    lrdcq  
       2018-01-01 20:56:29 +08:00
    @bravecoder 倒是无所谓吐槽一下,应该是从 https://share.whuboy.com/weapp.html 中的代码 fork 出来的吧,他好歹做了一下改进,另外他这网站首页下面那个啥“从微信小程序看前端代码安全”也有我博客的内容。看起来他对看到的东西进行了重新整理和归纳的,我个人写博客和脚本比较随性,并不友好
    kalagxw
        157
    kalagxw  
       2018-01-01 21:02:53 +08:00
    经过测试 2018 分只能自己排行榜看到,好友排行榜已经没你这个人了。
    twm
        158
    twm  
       2018-01-01 21:02:59 +08:00 via iPhone
    IllBeBack
        159
    IllBeBack  
       2018-01-01 21:24:33 +08:00
    @bravecoder

    楼主这个地址失效了,请问有替代的吗?
    123.125.9.32
    Telegram
        160
    Telegram  
       2018-01-01 21:25:49 +08:00
    @sologgfun #147
    @slwl #148
    ios 系统的话需要进去设置,通用,关于本机,最后面证书信任设置,把证书信任
    Telegram
        161
    Telegram  
       2018-01-01 21:26:46 +08:00
    @kalagxw #157 刚好相反,自己刷的,自己收集一下子看不到,因为排行榜没刷新。别人手机一下就能看到。

    你这个我怀疑是被列入黑名单了
    gyh
        162
    gyh  
       2018-01-01 21:44:47 +08:00
    @Telegram #161 关了微信重开过就能显示了
    gyh
        163
    gyh  
       2018-01-01 21:48:56 +08:00
    @Telegram #161 不好意思 没看到原消息 理解错了
    ThemisMin
        164
    ThemisMin  
       2018-01-01 21:54:32 +08:00
    @bravecoder 请问你贴出来的原始请求头是怎么抓到的?
    Deeer
        165
    Deeer  
       2018-01-01 21:57:22 +08:00 via iPhone
    那么问题来了,如何修改游戏排名中的昵称呢
    233
        166
    233  
       2018-01-01 22:02:07 +08:00
    你们现在还有人下载 wxapkg 成功吗
    ThemisMin
        167
    ThemisMin  
       2018-01-01 22:06:12 +08:00
    @Deeer 这是要卖广告位的节奏吗
    zz233333zz
        168
    zz233333zz  
       2018-01-01 22:22:04 +08:00
    @ZE3kr 为啥我用 surge 抓不到这个包呀,连一个 https 的包都没有呢
    ob
        169
    ob  
       2018-01-01 22:30:18 +08:00 via Android
    默默的收藏
    cigarzh
        170
    cigarzh  
       2018-01-01 22:43:44 +08:00
    改个小游戏分数不是个严重问题,拿到源码这件事就严重得多了
    kiistar
        171
    kiistar  
       2018-01-01 23:04:29 +08:00
    解析出来的包文件都是 html 的 感觉内容无法正常使用
    tf2017
        172
    tf2017  
       2018-01-01 23:19:50 +08:00
    @cigarzh #170 拿到源码也没有什么严重的,就跟 H5 小游戏一样。
    Deeer
        173
    Deeer  
       2018-01-02 00:20:41 +08:00
    @ThemisMin 嘿嘿,发现改了微信名,游戏中的名字咩有对应改变
    Liyuu
        174
    Liyuu  
       2018-01-02 03:05:16 +08:00
    感谢这么详细的教程,新年快乐!
    billytom
        175
    billytom  
       2018-01-02 05:12:46 +08:00
    有小伙伴知道 surge 怎么抓包看小程序的 appid 和 version 吗?我怎么找来找去看不到?反而是跳一跳的很快就看到在哪里了
    aino
        176
    aino  
       2018-01-02 08:49:10 +08:00
    如何提交修改好的 JS 文件啊?
    er567
        177
    er567  
       2018-01-02 09:05:03 +08:00
    er567
        178
    er567  
       2018-01-02 09:09:42 +08:00
    #177 好吧 fq 就可以了
    KgM4gLtF0shViDH3
        179
    KgM4gLtF0shViDH3  
       2018-01-02 09:15:36 +08:00
    @fe619742721 #134 只要是能够暴露前端源码的都不能避免,就像现在的新浪腾讯网易都可以被模拟登录。
    Bantes
        180
    Bantes  
       2018-01-02 09:18:24 +08:00
    来玩的求几个 wxapkg 学习下
    artandlol
        181
    artandlol  
       2018-01-02 09:25:06 +08:00
    再来个 iphone 方案
    安装 红手指云手机 + 微信 + 黑松鼠(安卓虚拟机的 apk)
    Telegram
        182
    Telegram  
       2018-01-02 09:33:44 +08:00 via iPhone
    @aino #176 安装 nodejs 环境,npm 装模块,然后运行。

    或者你搜索油猴
    Olajuwon
        183
    Olajuwon  
       2018-01-02 09:34:49 +08:00
    09:34 已成功
    cxl008
        184
    cxl008  
       2018-01-02 09:48:22 +08:00
    已经玩坏了
    qq2511296
        185
    qq2511296  
       2018-01-02 09:57:02 +08:00
    楼主是怎么抓包到 wxapkg 的下载地址的?
    KgM4gLtF0shViDH3
        186
    KgM4gLtF0shViDH3  
       2018-01-02 10:05:21 +08:00
    @mysteri0uss #104 登录微信公众平台自动执行?
    raofeng
        187
    raofeng  
       2018-01-02 10:16:15 +08:00
    整了个 9527,自己看是 0,别人能看到。
    哎呀,玩坏了玩坏了,估计腾讯要开始加密了。
    skadi
        188
    skadi  
       2018-01-02 10:20:35 +08:00
    我为 webGL 加热度. ( 微笑
    goodluck
        189
    goodluck  
       2018-01-02 10:22:13 +08:00
    老铁,你破坏游戏规则了
    zz233333zz
        190
    zz233333zz  
       2018-01-02 10:31:56 +08:00
    10.25 提交成功
    a441023263
        191
    a441023263  
       2018-01-02 10:33:18 +08:00
    thor 直接抓
    SkyKoo
        192
    SkyKoo  
       2018-01-02 10:43:23 +08:00
    已提交成功^^
    kamal
        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'

    请问楼主这个请求是什么时候发起的呢,抓包没看到这个请求。
    TanninS
        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;
    ^
    krfalcon
        195
    krfalcon  
       2018-01-02 11:15:09 +08:00
    @zz233333zz surge 如何抓包 https
    finab
        196
    finab  
       2018-01-02 11:18:35 +08:00
    @TanninS
    export NODE_PATH=/usr/local/lib/node_modules/
    finab
        197
    finab  
       2018-01-02 11:19:19 +08:00
    something crash 了呀
    调试后发现是这个没有 var times = response.my_user_info.times + 1
    谁知道咋回事么?
    ycmchong
        198
    ycmchong  
       2018-01-02 11:22:04 +08:00
    github 地址打不开了,删了?
    finab
        199
    finab  
       2018-01-02 11:23:00 +08:00
    @finab 已解决 105 行 改成 var times = response.ts + 1
    satanandroid
        200
    satanandroid  
       2018-01-02 11:28:09 +08:00
    2018 分。提交成功. 2018 年 1 月 2 日 11:28:01
    1  2  3  4  5  
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5389 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 06:04 PVG 14:04 LAX 22:04 JFK 01:04
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86