`
withoutme_hw
  • 浏览: 10052 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

开心农场简易外挂的实现

 
阅读更多

最近开心农场非常火,同学用C#模拟鼠标点击操作做了一个小外挂,但是这样做有如下缺点:1、计算机不能做其他事情,2、必须开着浏览器,3、对所有好友点一遍的时间太慢,4、对于开发者来说技术含量低了点,呵呵。

所以我尝试着改进这种实现,我的想法是:不用开启浏览器,直接运行一个应用程序,该程序将自己伪装成一个浏览器,与服务器连接,并发送浇水、除虫等命令。这样,甚至可以使用多线程向服务器发送命令,无需等待服务器返回一个结果之后再发送下一条命令。从而完全避开了上面几个缺点。

这样做首先要做的是分析在执行每一个浇水(及其他)动作的时候,浏览器向服务器发送了什么请求,有哪些参数,每一个参数的含义是什么,还有服务器端的返回值及其意义。分析完之后,就可以使用Java模拟浏览器与服务器建立连接并发送类似的请求。(还有一点,在向服务器端发送浇水请求的时候,你需要知道好友的userId,所以首先需要从服务器获取当前用户的所有好友userId,然后对每一个userId分别进行各种动作)。

代码如下:

其中需要用到3个文件,分别是

1、FARM_FILE:存储向服务器端发送的两个参数(现在明确知道的是第二个参数:是指农场的全局时间,第一个参数应该是请求服务器的一个密钥,如果密钥错误会阻止操作——一般会返回重新登录的提示,一个密钥的可用时间是有限的,所以要过一个小时左右更新一次farmKey,但可惜,我还不知道如何用程序自动更新这个密钥)

2、OWNER_FILE:是所有好友的userId,第一行是好友的数量。

3、CON_FILE:是每一个向服务器发送的请求的Header部分,Header部分包括用户的Cookie,通过Cookie服务器识别当前用户是谁,不同的用户该文件内容不一样。在程序中使用setConnectionHeader()方法将每一个请求的Header设置成文件中的内容。如果需要使用这个程序的话,必须用firebug获取到你的Cookie的内容,并修改这个文件。(由于Cookie中包含了我的用户信息,所以我用*屏蔽掉了一些内容)

程序核心的方法有两个:1、getFriends()用于第一次使用时获取当前用户的好友信息。2、work()对所有好友的每块地进行浇水等动作。我是对每一个好友都用一个线程单独操作,比如我有46个好友,就会有46个线程同时请求服务器,这样效率高很多(如果想要更快,可以使用更多线程)。main函数就两行,这是第一次之后的调用,第一次应该先调用getFriends();

程序的含义看注释应该能够明白,如果要使用程序,一定要将CON_FILE中的Cookie改为你自己的Cookie,其次,FARM_FILE中的farmKey和farmTime可能也需要修改。修改完着两个文件,程序应该是能够执行的。而好友列表文件,调用Robot的getFriends()方法就能够生成。

PS:程序中用到了JSON-lib来解析服务器返回的数据,JSON-lib下载地址:http://sourceforge.net/projects/json-lib/

分享到:
评论

相关推荐

    开心农场实现教程附带源码

    《开心农场实现教程》 在本教程中,我们将一起探索如何构建一个名为“开心农场”的模拟游戏。这个项目旨在帮助初学者理解Web开发中的基本概念,包括前端界面设计、后端逻辑处理以及数据库操作。我们将使用HTML、CSS...

    开心农场 源码(腾讯农场)

    【描述】中提到的“开心农场 源码”意味着这是一套程序代码,包含了游戏的核心逻辑和功能实现。源码是程序员可以直接阅读和修改的原始编程语言,对于学习游戏开发、理解游戏机制或者进行二次开发的人员来说,是非常...

    开心农场源码及素材java源码

    虽然这个源码并没有实现开心农场的全部功能,但它依然可以作为一个学习和实践Java编程、游戏开发以及面向对象设计的良好实例。通过分析和修改这些代码,开发者可以进一步理解游戏逻辑的实现以及Java编程的技巧。

    开心农场++web++开心农场源代码

    开心农场大家都认识啦开心农场++web+开心农场++web++开心农场源代码+开心农场源代码开心农场++web++开心农场源代码

    开心农场 JS版

    "开心农场 JS版"是一个基于JavaScript的在线游戏项目,它模拟了现实生活中农场经营的场景,用户可以在虚拟的农场上种植、收获作物,饲养动物,体验农场生活。在这个项目中,JavaScript作为主要的编程语言,负责处理...

    java做的开心农场

    《基于Java的“开心农场”课程设计详解》 在IT领域,编程语言的学习与实践是提升技能的关键途径,其中Java以其强大的跨平台能力和丰富的库支持,成为许多初学者及专业人士的首选。本篇将深入探讨一个名为“开心农场...

    基于JAVA设计的现实版的“开心农场”软件源码+说明文档.zip

    基于JAVA设计的现实版的“开心农场”软件源码+说明文档 通过本课程设计的实践及其前后的准备与总结,复习、领会、巩固和运用软件工程课堂上所学的软件开发方法和知识,在农场里用户通过鼠标操作实现种子购买、作物...

    PHP版开心农场源码

    在这款开心农场游戏中,PHP主要负责处理用户请求,与数据库交互,以及实现游戏逻辑。例如,当用户点击“播种”按钮时,PHP脚本会处理这个请求,更新数据库中的作物状态,并返回相应的反馈信息。 源码中可能包含以下...

    开心农场源码及素材java源码 下载

    8. **网络编程**:如果开心农场支持多人在线游戏,那么可能涉及到Socket编程,实现玩家之间的互动。 9. **设计模式**:源码可能会运用常见的设计模式,如单例模式(管理全局资源)、工厂模式(创建对象)等,以提高...

    java Swing实现开心农场采用面向对象思想

    java Swing实现开心农场采用面向对象思想 java Swing实现开心农场采用面向对象思想 采用面向对象的思路,实现开心农场,适合初学者,以及对面向对象有更深层次理解的开发者或者同学。 使用原生的java swing进行窗口...

    开心农场开心农场开心农场

    《C#实现的单机版开心农场:编程学习与实践》 在信息技术高速发展的今天,编程已经成为了一项必备技能,而C#作为一种高效且广泛应用的编程语言,深受开发者喜爱。本篇文章将围绕“开心农场”这一主题,深入探讨如何...

    .net 开心农场源码

    《.NET开心农场源码深度解析》 开心农场是一款风靡一时的社交网络游戏,而其.NET版本的源码更是开发者们学习和研究的重要资源。本文将深入探讨.NET开心农场源码背后的编程技术和设计理念,帮助读者理解游戏逻辑,...

    开心农场源码及素材.zip

    《开心农场源码及素材.zip》是一个包含游戏开发资源的压缩包,主要针对的是使用Java编程语言开发的一款名为“开心农场”的游戏。该压缩包提供了完整的源代码和配套素材,使得开发者或者对游戏开发感兴趣的人可以直接...

    完美开心农场网页源代码php

    完美开心农场网页源代码php 1、左上角默认头像无法显示 2、牧草动物不能说话 3、采用MFyoyo动画引擎,画面更细腻! 4、修正FB刷分 5、用户退出后金钱归零 6、新手送的化肥改为2包,与文字匹配 7、牧场左上角恢复留言...

    开心农场 源码 非常好得辅助程序

    开心农场 源码 开心农场 源码 非常好得辅助程序

    本机版开心农场(flash实现)

    【标题】"本机版开心农场(flash实现)"所涉及的知识点主要集中在两个核心领域:一是Flash技术,二是游戏开发。 Flash技术是Adobe公司推出的一种交互式矢量图形和富媒体播放平台,广泛用于创建动画、游戏、应用程序...

    flash actionscript3游戏开发 开心农场(偷菜) 源代码.zip

    《Flash ActionScript3游戏开发:开心农场源代码详解》 Flash ActionScript3(简称AS3)是Adobe开发的脚本语言,广泛应用于交互式内容、游戏开发和网页动画设计。在本文中,我们将深入探讨使用AS3开发的一款经典...

    自定义开心农场完整源码及素材(Java实现)

    【自定义开心农场完整源码及素材(Java实现)】是一个基于Java Swing技术的游戏开发项目,旨在模拟现实中的农场管理,让玩家体验作物种植、生长和收获的乐趣。在这个项目中,开发者利用Java语言的强大功能,结合...

Global site tag (gtag.js) - Google Analytics