关于QQ开心农场外挂 开发

很久没更新博客了,今天就拿开发QQ开心农场外挂的一些问题来写篇短日志充个数。

 


关于登陆
        在web上,QQ登陆的时候是将密码加密后再提交了,打开
http://xiaoyou.qq.com,找到了密码加密过程http://imgcache.qq.com/campus/js/Mlogin.js 文件中,通过解读代码可以了解到,QQ一共进行了4次的MD5运算,具体过程如下:
比如登陆填写的密码是aaaaaa,验证码abcd
首先将aaaaaa进行MD5运算,结果再进行两次运算,得到XXXXXXXXXXXXXXXX(16位),然后把验证码转换
为大写,与那16位组合成XXXXXXXXXXXXXXXXABCD(20位),再进行一次MD5运算,得到的结果就是加密后的密码了。

 

 


关于FarmTime
这个是在农场中进行任何操作都需要提交的数据,如1255199347,明眼人一下就能看出这个是距离格林时间
1970年1月1日的秒数,
可以通过如下代码获取系统当前距离70年的秒数:
time_t t=time(NULL);
可以通过如下代码将秒数转换为字符串:
strftime(szTime,MAX_STRING,"%m月%d日%H时%M分%S秒",localtime(&t));

 

 

 

关于FarmKey
这个也是在农场中进行任何操作都需要提交的数据,它是对FarmTime进行某种运算后的结果。
这个运算过程的获取应该是这个程序中的一个难点,运算过程可以通过反编译农场主程序的几个FLASH文
件获得。下面讲讲运算过程:
首先将FarmTime进行除10取余数,比如1255199347,取余为7,然后从字符串“sdoit78sdopig7w34057”

的第7+1个字符开始截取,得到sdopig7w34057,使用此字串与1255199347组合得到

1255199347sdopig7w34057,对其进行MD5运算,就得到了最终的FarmKey

 

 

 

关于名字
在农场数据中,所有的中文字符都被编码过,比如:爆@活着 --- /u7206@/u6d3b/u7740
要显示它很简单,代码如下

WCHAR str[16];
char* p=(char*)str;
p[0]=0x06;
p[1]=0x72;
MessageBoxW(str);  //就会显示“爆”了。

而要转换它用WideCharToMultiByte就能完成,编码936

 


关于操作
农场操作都是苦力活啦,没啥技巧的,拿个抓包工具抓抓包,然后模拟提交到服务器上即可。
比如要除草就向
http://happyfarm.qzone.qq.com/api.php?mod=farmlandstatus&act=clearWeed这个链接POST数据farmTime=1255019524&place=1&ownerId=840110002&farmKey=166a0d2b7cd216661d5762e2f0f34785
其中ownerId代表被对方的ID,place代表某块地,这样就能除去那块地的草咯。
由于反作弊的存在,还需要判断服务器是否需要我们在某次操作中提交验证码。

 

关于反作弊
首先,要把数据包模拟的尽量一样啦。
其次,要有运作逻辑,比如自动种菜功能,你不能向服务器提交让服务器帮你种一个你根本没有的种子
,所以要先去判断种子是否存在于背包中。
最后,把操作时间控制好,比如每3秒访问1个人的地,或可以用随机函数让其操作时间随机在一个范围
内,更加接近自然。

 

关于源码
因为程序是有偿为人代写的,所以近期无法放出源码。但如果你在编写上需要什么帮助可以找我。

 


关于程序
请从下面地址下载:

http://down.qupan.com/down/luzjcn_4873891.html

本程序仅仅用于演示,正式版本会由购买者进行二次加工后发布。

 

图片

 

图片

 

图片

 

图片

 

图片

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值