校内狗狗刷骨头的代码
本站内容除转载精华分类或注明zz以外,其他均为原创内容。转载请注明出处,yhustc.com版权所有
PHP写的,重在分析,不在可以全文COPY的代码。
校内赚骨头的方法很多,最快的是邀请一下自己的MSN好友,一次送400根。用自己的MSN用户名密码登录后,选任何一个好友(比如自己的MSN小号),直接确定,400根骨头到货了。
。
但是要不断的得到新的骨头,还要速度快,得靠刷。刷骨头有几个方法,一个是自动玩飞盘,接中一次3根骨头,总体趋势还是赚的。一种是喂其他人的小狗,要喂饥饿,体力为0的,有一根以上的骨头反馈,我遇到过奖20根骨头。
我用的就是第二个方法,因为我发现不是好友的小狗也是可以喂的,也就是喂狗的页面把那个pid从1到***不断的狂加,每个页面试一把,找到饥饿的小狗就喂。
流程如下:
1、登录拿到自己的校内id (actor_Fid)。
2、http://dog.xiaonei.com/pet-profile.do?method=dogXML&&pid+自增ID+&t=毫秒单位时间戳得到小狗的XML格式的属性和用于计算验证code的key
3、如果是饥饿的小狗,喂水、喂食,pid加一回到第二步去找下一只饥饿的小狗
4、喂水、喂食用的是同一个method,只是active_Fid这个参数不同,都会返回当前状态和下一轮计算使用的key,可以在这里检查一下返回,如果狗粮不够了,自动去买一下(这一步很简单,就是一个POST)
补充:首发的时候忘记说明了,买狗粮因为买40kg的,每一袋至少赚6根骨头(喂一只狗花1Kg狗粮,最少加一根骨头,40Kg狗粮34根骨头一袋),所以默认是买40kg的狗粮,那就要求程序第一次运行的时候有足够的骨头。如果没有这么多,可以修改Dog.php第139行,把"buy_id"=>3设置成1或2,也就是买5或20Kg的狗粮。
一天刷下来能刷很不少骨头,外加爱心等级飙升。
关键的算法在于code的计算,每一次操作都会返回一个key,用于计算下一次操作的code,参考了一下别人的文章,计算code用下面这个函数
- private function getCode($petId,$key)
- {
- return md5($key."#".$petId."#".$this->actor_Fid."#".'%$T&*jkhjksdhfjk$%^&*BJHhh');
- }
后面那堆字符问我怎么知道的?抄的。google 校内狗狗 key code,看到一篇分析文章,他反编译了那个flash,看到的字符串常量。要不然鬼能反过来算这个md5里面是啥。
有了这个code外加cookie,校内的验证就算是过了,那么不断的找饥饿的小狗,post相应动作,其实就跟自己人肉搜索饥饿小狗,再点那个flash一样。详细代码见附件列表。里面有个Http基类,这个里面封装了curl的get和post操作,带cookie。如果要写需要维护登录状态的PHP代码,倒是可以用用,直接extends Http,然后调用$this->get $this->post就可以了。
说一下玩飞盘吧,这个实现也就是一个POST请求,返回的数据里会有小狗的属性,可以在体力不足的时候POST一个喂食操作。但是当玩到一定次数的时候,会有验证码,其实这个验证码破解不难,有兴趣的可以捣鼓捣鼓,切割成单个字母用最大相似度匹配应该可以。由于我自己只是看看流程,不玩狗狗,所以没有写这部分代码。
运行方式:修改Dog.php最下面的用户名和密码,把php目录添加到path里,在控制台下运行php Dog.php即可
附件列表
校内狗狗刷骨头的代码 添加时间:2009-05-12 17:55:06 下载次数:241
0 Responses to “校内狗狗刷骨头的代码”
发表评论