qq农场外挂编写分析-java
QQ农场是基于http协议的,因此只要通过工具软件截取http数据包,从而进一步进行分析提交和接收到的数据含义,然后再模拟一个flash client和服务器打交道即可。
为了实现以上目标,下载安装截获tcp/ip数据包的工具软件ethereal ,安装好以后,登陆QQ进 入农场 ,然后开启 ethereal 软件开始截获数据包,然后在农场里点刷新好友列表按钮,然后去ethereal里看看截获到的数据包,
发现读取好友列表的url地址 是:
http://happyfarm.qzone.qq.com/api.php?mod=friend
需 要的参数有:login_time 、skey、uin 三个
知道这个地址以后,可以用apache httpclient模拟一个flash client,具体代码如下:
String login_time = ConfigProperties.getProperty("login_time");
String skey = ConfigProperties.getProperty("skey");
String _s_ = ConfigProperties.getProperty("_s_");
String uin = ConfigProperties.getProperty("uin");
HttpClient hc = new HttpClient();
// 创建GET方法的实例
GetMethod getMethod = new GetMethod(url);
getMethod.addRequestHeader("Accept", "*/*");
getMethod.addRequestHeader(
"User-Agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; 360SE)");
getMethod.addRequestHeader("Accept-Encoding", "gzip, deflate");
getMethod.addRequestHeader("Accept-Language", "zh-CN");
getMethod.addRequestHeader("Connection", "Keep-Alive");
getMethod.addRequestHeader("Pragma", "no-cache");
hc.getState().clearCookies();
String cookies = "1" + "; _s_=" + _s_ + "; uin=" + uin + "; skey="+ skey + "; login_time=" + login_time;
hc.getState().addCookie(
new Cookie("happyfarm.qzone.qq.com", "jump", cookies, "/",
new Date(2011, 12, 8), false));
// 执行getMethod
int statusCode = hc.executeMethod(getMethod);
String result = getMethod.getResponseBodyAsString();
按照这种方法,可以找到获取某个好友农场信息的url 地址是:
http://nc.qzone.qq.com/cgi-bin/cgi_farm_index?mod=user&act=run&ownerId =
偷 某个好友某块或多块地的url地址是:
http://nc.qzone.qq.com/cgi-bin/cgi_farm_steal?mod=farmlandstatus&act=scrounge
ok, 这些都搞定了,另外偷菜的 url地址需要提交一个参数farmKey ,这个生成方法有点难度,具体方法为:
int curTime = (int) (System.currentTimeMillis() / 1000L);
String s = "sdoit78sdopig7w34057";
int yushu = curTime % 10;
s = s.substring(yushu, 20);
String farmKey = com.sourceware.util.StringUtil.getMD5(curTime + s);
另外需 要分析一下服务器返回的数据包格式,目前看到的都是 json格式,
比如得到好友列表的数据 为:
[{"userId":1905432,"userName":"/u6c38/u8fdc/u7684/u9ed1",
"headPic":"http:qlogo2.store.qq.com//qzonelogo//1265877//1//1242884728",
"yellowlevel":0,"yellowstatus":0,"exp":7776,"money":38961,"pf":0},
{"userId":159805,"userName":"/u8f7b/u63cf/u6de1/u5199",
"headPic":"http:imgcache.qq.com//qzone_v4//client//userinfo_icon//5001.gif",
"yellowlevel":0,"yellowstatus":0,"exp":20332,"money":22665,"pf":0},
{"userId":65178,"userName":"Air-F","headPic 后面省略...
如果是用java开发的话可以用json-lib包来解析。
另外根据返回的错误提示语 整理如下:
如果返回{"code":0,"direction":"这块地没东西可摘 的!","farmlandIndex":2,"fkey":"8297832f9f305bd1ad2d083c35148d815069b5c61da3382c0119b74f65b8e42e6d597313b9101acb","poptype":1}
应 该是这块地已经成熟,且被人摘光了(成熟的地都有一个产量,剩余数,最小的剩余数《通过这个可以得到最多可以被偷几个》)。
如果 返回的是{"code":0,"direction":"获取农田信息失 败","fkey":"e3c2806e13df1092281157971b0f9466dcfbe7433a368f4d2398b0721398add7afc8c76f889555d5","poptype":0}
那 么应该是这块地还没成熟就去偷了;或者已经被主人收割了;或者这块地什么都没种;
如果返回的是: {"code":0,"direction":"做人不能贪得无 厌!","farmlandIndex":1,"fkey":"2848bb16cb28e1929822cb716b0e87292864ea9068ebe95b5d6d51580fb4b13718e3c2787af58294","poptype":1}, {"code":0,"direction":"做人不能贪得无厌!","farmlandIndex":2,"poptype":1}
那说明 你已经偷过了还要去偷;
qq农场外挂编写分析-java相关推荐
- 如何用c#制作QQ农场外挂
前一篇文章我大致写了一下如何制作QQ农场外挂,最近我的外挂运行了一段时间,觉得还行,所以拿出来给大家下载试用试用 大致功能有: 1.我的资料,查看我的等级,经验,金钱等信息 2.我的农场:可以查看我的 ...
- QQ农场外挂开发实践
闲来无聊,国庆期间看别人在玩农场,我也开通了一下,发现钱不够,偷起来很麻烦,所以想写一个自动偷菜的程序,因此有了这篇文章: QQ农场是基于http协议的,因此只要通过工具软件截取http数据包,从而进 ...
- [原创]QQ农场外挂辅助程序-小萝莉偷菜机器人,提供下载。
做了好几天,白天上班也做,晚上回家也做,终于算成功了,基本的功能都有了,自动偷菜,自动除草,杀虫, 还需要完善,现在又偷的东西,不显示名字的bug. 这个东东是做着玩的,学习研究,非商业性,所以暂时也 ...
- QQ农场外挂源码-VB源代码
Option Explicit '|------------------------------------------------- '| '| 程序:QQ农场辅助 [2012/02/04] '| ...
- QQ农场外挂遇到了了问题,望高手给与指导
项目是采用VS2008 写的,希望高手帮忙解决: 如何获取QQ农场的数据? 已经实现的: 1>已经可以登录到QQ空间. 2>成功获取了农场的COOKIE:login_time.uin.sk ...
- [原创]QQ农场外挂辅助制作一点心得体会1
心得体会就是-腾讯真变态. 如果是9月前,可能我辅助做好了,因为9月后腾讯改了个别操作的地址,偷菜的地址就改了,加了2个id-fid.tid,操作也有变化,网上很多说是要先check一下,但是我怎么看 ...
- C#开发QQ农场外挂实践
时间:10-04-17 大致功能有: 1.我的资料,查看我的等级,经验,金钱等信息 2.我的农场:可以查看我的农场信息,种了哪些作物,什么时候成熟 3.我的仓库,可以浏览仓库里的物品,并可以卖掉 4. ...
- 曾经花上数十小时编写过的QQ农场辅助精灵
QQ农场辅助精灵DotNet(c#)版是2009年8月份自已编写的,开发工具是vs2005,语言c#,花了数十小时编写与调试,也算是检验编写辅助外挂类程序的能力. 编写基于http协议的辅助外挂类程序 ...
- qq农场js外挂详细制作(转帖)
qq农场js外挂详细制作(提供源码.有注释.有抓包数据分析.不再更新 http://blog.csdn.net/lin379184514/archive/2009/12/10/4979622.aspx ...
最新文章
- rocketmq 消息指定_RocketMq 实际案例–普通消息的发送
- 自学python需要多长时间-自学Python要学多久可以学会?
- C#操作SQL Server通用类
- Android开发把项目打包成apk
- 重庆邮电大学计算机学院院徽,Slide计算机学院-重庆邮电大学.PPT
- java清除输出内容_java – 从JSch中的命令输出中删除shell东西...
- GNU make manual 翻译(四十三)
- CEF3:https 请求返回状态码canceled
- Qt之C语言有符号数与无符号数运算
- (43)FPGA面试技能提升篇(Questa简介)
- tipask二次开发总结_二次开发自我总结
- ArcGIS Engine开发基础总结(一)
- Android系统中的广播(Broadcast)机制简要介绍和学习计划 .
- ICESat 数据介绍
- mac:装机软件汇总
- python取余数函数_python中两数相除取余数怎么运算
- [NLP]OpenNLP词性标注器的使用
- Toefl-Speaking
- 关于vue-video-plaer 出现 this.el_.vjs_getProperty is not a function at Flash.buff解决方法
- java 如何初始化数组_java中初始化数组的三种方式分别是什么
热门文章
- 为什么很少有单片机机构?培训班一般多少费用?
- 学Python好找工作吗?需要满足Python岗位哪些要求?
- java编程找出吸血鬼数字,Java 找到四位数的所有吸血鬼数字 基础代码实例
- (转)11gR2新特性:Heavy swapping observed on system in last 5 mins
- 动态规划问题(Dynamic Programming)
- Cocos Creator 基于 Spine 动画的 AVATAR 换装系统优化
- 波动率曲面(完整版)
- ESP8266 Blinker 小爱同学 本地控制 手机配网 四路开关 物联网 arduino编程详细注释
- Java实现 蓝桥杯 算法提高 矩阵翻转
- 1. STM32学习 STM32综述