Mrsin 发表于 2015-7-14 17:55

多玩欢聚时代帐号POST注册

注册地址: https://zc.yy.com/reg/game/reg4Game.do?appid=5487

打开游览器启动 httpwatch开始抓包发现以下的数据

这三几个数据我们一个一个分析首先先看第一个是什么

POST /p/ajaxreg.do?action=existUsername HTTP/1.1
Accept: */*
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: https://zc.yy.com/reg/game/reg4Game.do?appid=5487&mode=game&action=2&style=ddgw&reqDomainList=lgn.yy.com,lgn.duowan.com&busiurl=http://bztx.yy.com/s/testGw/GW-bztx/sucess.html
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Host: zc.yy.com
Content-Length: 28
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: hiido_ui=0.09722828638308023; Hm_lvt_34a908ea88275f6ef0a72588f9c0be86=1434612226,1434612302,1434612327,1434945777; Hm_lvt_79c375aa39fc2aae3161264213dee7ec=1434611695,1434612226,1434612308,1434612335; wh=2%7C46600840_2369977892; __wyy=e62a98fcd70a44368c809fb90a5558b9; bbs_ed28_saltkey=fd55P5po; bbs_ed28_lastvisit=1435104630; pgv_pvi=7734518784; _ga=GA1.2.396648451.1435108437; JSESSIONID=1c9e13f4af1b31c9aeb5b216d227daf23f47a2f1


acct=asgiasd58418&appid=5487


返回信息{"code":"0","msg":"该帐号可以注册","obj":""}

提交数据acct=asgiasd58418&appid=5487
首先我们看到的返回信息 就可以知道 这是一个判断帐号是否可以注册判断验证的数据包
第一个数据验证就是帐号是否可用我们看下提交数据
acct=asgiasd58418&appid=5487 我们看下 acct 后面的明显是 提交注册的帐号 很好理解后面的appid 是注册网页后面的id接口据我推断这个id是有对应不同的验证码识别 这个不用管他

我们看下第二个数据
POST /p/ajaxreg.do HTTP/1.1
Accept: */*
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: https://zc.yy.com/reg/game/reg4Game.do?appid=5487&mode=game&action=2&style=ddgw&reqDomainList=lgn.yy.com,lgn.duowan.com&busiurl=http://bztx.yy.com/s/testGw/GW-bztx/sucess.html
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Host: zc.yy.com
Content-Length: 71
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: hiido_ui=0.09722828638308023; Hm_lvt_34a908ea88275f6ef0a72588f9c0be86=1434612226,1434612302,1434612327,1434945777; Hm_lvt_79c375aa39fc2aae3161264213dee7ec=1434611695,1434612226,1434612308,1434612335; wh=2%7C46600840_2369977892; __wyy=e62a98fcd70a44368c809fb90a5558b9; bbs_ed28_saltkey=fd55P5po; bbs_ed28_lastvisit=1435104630; pgv_pvi=7734518784; _ga=GA1.2.396648451.1435108437; JSESSIONID=1c9e13f4af1b31c9aeb5b216d227daf23f47a2f1

action=chklmt&uname=asgiasd58418&appid=5487&isNeedVcode=true&vcode=uwbz

返回信息:{"code":"0","msg":"检查成功","obj":{}}
数据提交:action=chklmt&uname=asgiasd58418&appid=5487&isNeedVcode=true&vcode=uwbz
我们来分析第二个数据包 是一个检测注册的内容是否全部正确的返回过来的是检查成功 证明是全部都是正确 可以注册提交

action=chklmt&uname=asgiasd58418&appid=5487&isNeedVcode=true&vcode=uwbz
action=chklmt这个数据默认就可以具体是不是也不要研究
uname=asgiasd58418   这里明显是注册的帐号内容
appid=5487   这是注册连接后面编号 这里也不用管
isNeedVcode=true 这里是验证是否开启在免码的连接是 false有码的是 true   
vcode=uwbz   这里是提交验证码的数据

我们来分析下最后的数据包最后就是注册包了看下数据
POST /regCore/game/f5357c.do?__ts=1436858762302 HTTP/1.1
Accept: */*
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: https://zc.yy.com/reg/game/reg4Game.do?appid=5487&mode=game&action=2&style=ddgw&reqDomainList=lgn.yy.com,lgn.duowan.com&busiurl=http://bztx.yy.com/s/testGw/GW-bztx/sucess.html
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Host: zc.yy.com
Content-Length: 74
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: hiido_ui=0.09722828638308023; Hm_lvt_34a908ea88275f6ef0a72588f9c0be86=1434612226,1434612302,1434612327,1434945777; Hm_lvt_79c375aa39fc2aae3161264213dee7ec=1434611695,1434612226,1434612308,1434612335; wh=2%7C46600840_2369977892; __wyy=e62a98fcd70a44368c809fb90a5558b9; bbs_ed28_saltkey=fd55P5po; bbs_ed28_lastvisit=1435104630; pgv_pvi=7734518784; _ga=GA1.2.396648451.1435108437; JSESSIONID=1c9e13f4af1b31c9aeb5b216d227daf23f47a2f1

acct=asgiasd58418&password=qwer1234&appid=5487&isNeedVcode=true&vcode=uwbz

返回信息: {"code":"0","msg":"注册成功!","obj":{"rkey":"121eb78e7f98cecb9b4ee9c47390a0ec09aa0508c7941c93570da6ed8e1813f6","yyid":"1435370884","reqDomainList":"lgn.yy.com,lgn.duowan.com","action":"2","account":"asgiasd58418","yyuid":"1305489818","busiurlB":"http://bztx.yy.com/s/testGw/GW-bztx/sucess.html","busiurlA":"http://bztx.yy.com/s/testGw/GW-bztx/sucess.html"}}
数据提交: acct=asgiasd58418&password=qwer1234&appid=5487&isNeedVcode=true&vcode=uwbz

最后的返回信息很明显是检查是否注册成功的是提交注册数据包
acct=asgiasd58418 这里还是帐号的数据
password=qwer1234这里是密码和确认密码的数据
appid=5487注册的编号
isNeedVcode=true验证码开启的验证
vcode=uwbz验证码的提交

以上就是整个注册数据包的分析所有数据都分析出来那么写注册机就相对很简单了 只要根据数据包的提交顺序去写就可以
下面我们分析E语言的比较简单的写法

首先第一步
先写出帐号的检测的代码
因为我很懒没有所以直接调试输出和取随机帐号密码了

帐号密码我是直接取的随机这个你们随意写就可以
第一步我们需要写入 https://zc.yy.com/reg/game/reg4Game.do?appid=5487&mode=game&action=2&style=ddgw&reqDomainList=lgn.yy.com,lgn.duowan.com&busiurl=http://bztx.yy.com/s/testGw/GW-bztx/sucess.html
访问这个网页的数据提交下 否则最后提交注册的时候会超时
下面就开始发送第一个数据帐号检测
多玩的都是UTF8的解码 我调用的直接是自动解码
最后的cookie 需要合并更新 否则下面的无法成功达成提交的
然后就是获取验证码 代码如下很简单

下面就是验证以后的注册了 如下

下面就是简单的 post 提交这是单线程最简单的写法然后简单提交测试下就是

以下说下接口问题    这是英文验证的接口 appid=5487 如果这个接口的验证码变成中文 就改成 appid=1无码接口是appid=5164无码接口有3个注册限制 isNeedVcode=true这个数据的 true 需要改成 false   
以上只是了解的接口 还有很多不知道可以自行研究下的美化下和写批量的等以上只是分析和单个注册的   次世代系统的验证可以写自动打码很多写法
下面是源码



Honey丶Crack 发表于 2015-7-14 18:17

先抢个沙发 温柔师傅好厉害{:5_116:}

Peerless 发表于 2015-7-14 18:39

寻寻觅觅 发表于 2015-7-14 19:12

虽然我看不懂{:5_117:}

虚竹 发表于 2015-7-14 19:21

Honey丶Crack 发表于 2015-7-14 18:17
先抢个沙发 温柔师傅好厉害

绝逼认错人了! 支持楼主!
页: [1]
查看完整版本: 多玩欢聚时代帐号POST注册