开心网外挂开发之 开篇

简介:

题外话:

本来两天前就准备好写这一系列的文章,但是就再前天下载了一款叫做《植物大战僵尸》的小游戏,没想到我就沉迷了,两天时间什么也没干,坐在电脑前就是玩这个游戏,兴好今天终于自拔出来了,每天本来就只有9点以后这点时间能碰回儿电脑,全耗游戏上了,正经事都没有干,如果再继续下去真的也要送去电击一下了,这也是我至今也有没有碰网络游戏的原因之一。所以也奉劝还在沉迷的兄弟们,出来吧, 不然“扬叫兽”就要找上你了,电脑还可以有很多其它用途的。

开篇之需求分析

这一段时间开心、校内这一类SNS网站相当的红火,我想大家或多或少的会有几个帐号,这些网站最吸引人的其实是一些在线的小游戏,比如说开心农场,有不少同志为了偷别人的菜可谓是起早贪黑,这样的境界估计“杨叫兽”找上你也不远了,但是看着朋友们拥有大把的“现金”大套的“住房”,又老在你面前炫耀,有没有什么两全齐美的办法呢,又不占用你的时间,又保证你的收成?有,现在网上已经有好多自动化的工具,说白了就是“外挂”,想不到这也一个小小的应用也会有外挂出现,看来,有这样需求的人还不少。做为码代码的我们用别人的外挂,总有点不放心,这玩意儿要输入帐号密码的,开心网还好一点,这个帐号也没有太重要的地方,但是QQ农场的就不一样了,用的是你的QQ号,密码万一人家留个小后门的,你的帐号就和你88了。

自已动手丰衣足食,自己写一个吧, 就当自己给自己练手了,要写这样的东西,现要明白他的原理,打开开心农场我们会发现,展示给我们的就是一个flash应用,说白了就是用来显示的,所有的操作都是通过和服务器的交互来实现的,我们先要搞清楚,到底它和服务器交互了些什么东西,然后用我的程序来模拟它。

为了分析我们到你向服务器发送了什么,服务器又返回什么了,我下载了fiddler 一个小巧好用的http debug 工具,启动它后,它可以截获你所有的web request 和服务器的response的信息。

我们登录开心网,然后切换到fiddler在左边的Web sessions列表中就可以看到类似以下的信息,

OH_JK[%$_LVPUMD702)`%HB

我们选中其中的一行在右边就可以看到这一次请求的所有详细信息

J6%$48XN]F68PS9M[1$048N

我们看到登录的过程其实就是用POST 方法和服务器/login/login.php这个URL提交了一些信息,换到“textview”标签页,我们会看到,类似

url=%2Fhome%2F&email=cctv5cn@gmail.com&password=111111

这就是POST上去的数据,如果以get 方法提交数据

收获:GET /!house/!garden/havest.php?verify=22842320%5F1062%5F22842320%5F1245934796%5Fb2a24c5dfb54cbeb1498d95d42b820a4&seedid=0&farmnum=13&fuid=0&r=0%2E24021180626004934 HTTP/1.1

这是在开心网上收获作物的时提交的数据。

我们的程序要做的就是,用程序直接向服务器提交这些数据,然后接收其返回的信息,然后,更据这些信息,判读想应的操作。原理就是这样。

用C#来实现数据的提交并接受其返回

用HTTP方法来向服务器提交数据,我们就要用到HttpWebRequest 和 HttpWebResponse这两个类,如果不了解其用法,打开msdn吧,详细自己来,我就简单介绍一下,看字面意思也可以知道HttpWebRequest用来发送请求,HttpWebResponse用来接受返回的数据,我就写用这一来模拟定下整个登录过程吧。



  
  
Code

 

这是我简单封装的一个httphelper相当简单,我们要登录的代码就可以这样写

折叠

public bool ChkLogin(string username,string password)
        {
            //请求的URL
            string loginurl = "http://www.kaixin001.com/login/login.php";
            //POST的数据
            string PostValue = string.Format("url=%2Fhome%2F&email={0}&password={1}", username, password);
            //发送请求并获得服务器返回的字符串
            string str = myrequest.RequestByPost(loginurl, PostValue);
            if (str != "err")
            {
                //在字符串在查找用于判断是否成功等录的标识
                if (str.IndexOf("我的首页") >= 0)
                {
                    Log.LogOut(string.Format("{0}登录成功", username));
                    
                    IfLogined = true;
                    
                    return true;
                }
                else
                {
                    Log.LogOut("用户名密码错误!!");
                    return false;
                }

            }
            else
            {
                Log.LogText = "登录失败,请重试!!";
                return false;
            }


        }

 

注:myrequest是我在类中已经实例化了的httphelper类

今天就到这里吧, 我们了解了编写开心网外挂需要的工具,和最基本的要用到的C#类库。





    本文转自无心之柳.NET博客园博客,原文链接:http://www.cnblogs.com/9527/archive/2009/08/19/papersnake.html,如需转载请自行联系原作者




相关文章
|
域名解析 网络协议 Windows
解决GitHub文件无法下载的问题
从Github下载文件的时候,发现链接挂了,下载不了,提示无法显示此网页,该如何解决呢?
Echarts实战案例代码(26):折线图组件连接空数据connectNulls的用法
Echarts实战案例代码(26):折线图组件连接空数据connectNulls的用法
1199 0
|
机器学习/深度学习 传感器 编解码
史上最全 | BEV感知算法综述(基于图像/Lidar/多模态数据的3D检测与分割任务)
以视觉为中心的俯视图(BEV)感知最近受到了广泛的关注,因其可以自然地呈现自然场景且对融合更友好。随着深度学习的快速发展,许多新颖的方法尝试解决以视觉为中心的BEV感知,但是目前还缺乏对该领域的综述类文章。本文对以视觉为中心的BEV感知及其扩展的方法进行了全面的综述调研,并提供了深入的分析和结果比较,进一步思考未来可能的研究方向。如下图所示,目前的工作可以根据视角变换分为两大类,即基于几何变换和基于网络变换。前者利用相机的物理原理,以可解释性的方式转换视图。后者则使用神经网络将透视图(PV)投影到BEV上。
史上最全 | BEV感知算法综述(基于图像/Lidar/多模态数据的3D检测与分割任务)
|
Ubuntu 安全 网络协议
ubuntu22.04防火墙策略
在Ubuntu 22.04中,配置防火墙策略是保障系统安全的关键。UFW提供了简便的界面,适合大多数用户,而iptables则提供了更为强大的功能,适合高级用户和复杂环境。通过合理设计防火墙策略,可以有效防止未经授权的访问,提升系统的安全性和稳定性。无论是通过UFW还是iptables,定期审查和更新防火墙规则都是必不可少的,以应对不断变化的安全威胁。
889 3
|
机器学习/深度学习 数据采集 监控
探索机器学习在金融风控中的应用
【7月更文挑战第21天】随着科技的飞速发展,机器学习已成为金融领域风险管理的重要工具。本文将深入探讨机器学习如何革新传统风控模式,提升风险识别和决策效率,并分析其在实际应用中面临的挑战与未来发展趋势。
|
SQL
SQL: 巧妙使用CASE WHEN实现查询
文章演示了如何利用SQL中的CASE WHEN语句来有效地进行条件性聚合查询,通过具体示例展示了CASE WHEN在统计分析中的应用技巧。
560 0
|
运维 监控 网络架构
|
域名解析 存储 缓存
【域名解析DNS专栏】动手实践:手动配置DNS解析记录
【5月更文挑战第22天】本文介绍了DNS解析记录的概念及其手动配置步骤。DNS解析记录是将域名映射到IP地址的数据,常见类型包括A(IPv4)、AAAA(IPv6)和CNAME(别名)。配置步骤包括登录DNS管理平台,添加记录,选择记录类型,填写主机记录和记录值,设置TTL值,并保存。以阿里云为例的A记录配置示例也提供了具体操作。了解这些有助于更好地管理域名。
2310 0
【域名解析DNS专栏】动手实践:手动配置DNS解析记录
|
JavaScript Java 测试技术
基于SpringBoot+Vue的学生请假管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的学生请假管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
280 0
|
JavaScript 前端开发 IDE
程序员必知:WPSJSA宏编程(JS):1.初识
程序员必知:WPSJSA宏编程(JS):1.初识
2050 0