`
jythoner
  • 浏览: 608149 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

开心网外挂开发手记

    博客分类:
  • Java
阅读更多
开讲。

做一个Web游戏外挂需要的准备知识:
1) 需要有耐心
2) 熟悉HTML, JavaScript,特别是FORM
3) 熟悉HTTP协议,特别是Cookie, URL的编码方式和POST, GET内容格式
4) 熟悉游戏本身,能抽象出最优的赚钱/升级的数学模型
5) 掌握一门语言,白菜萝卜都可以,我比较喜欢用Python和C#
6) 需要一些抓包的工具,比如Fiddler

好了,来个例子,开心网争车位.

首先,我们看看一个正常用户玩的时候是怎么玩的。
1) 浏览器输入 www.kaixin001.com ,输入用户名,密码,点登陆
2) 登陆后选择左侧的“争车位”,进入到争车位
3) 看看谁在我的车位里,一一贴条
4) 看看自己的车哪些停车时间操作15分钟了,一一找个空的不免费的车位挪过去
5) 登出开心网,关闭浏览器

看看让程序怎么来实现1-6。
1) 登陆开心网
在Fiddler的帮助下,我们知道登陆是把FORM提交到/login/login.php,POST内容是url=%2F&email=xxx@xxx.com&password=xxx
用C#可以方便的完成这个POST操作,然后得到服务器的返回,然后根据返回的内容里找一个关键字就可以判断这次登陆操作是否成功了。(比如我找的就是"<title>我的首页 - 开心网</title>")

2) 登陆争车位
这次是一个GET操作,URL是/app/app.php?aid=1040。
需要说明一下的是,这里没有提供用户名密码,服务器怎么能知道是哪个用户呢?Cookie在这里就发挥了它的作用。
C#里存放Cookie的方法是new 一个CookieContainer,然后所有的HttpWebRequest的CookieContainer都用它。
好了,取得这个页面以后,我们能得到很多信息:(这些信息是JSON格式)
a) 好友列表,每个好友的状态(在线/车位满)
b) 自己的车库信息,停了那些好友的哪些车,分别赚了多少钱
c) 自己的汽车信息,多少辆车,分别停在哪里,赚了多少钱
根据这些信息,我们可以得到一个停放的列表(车位不满的好友列表)

3) 贴条
贴条是一个POST操作,URL是/parking/post.php,内容是verify=xxx&parkid=yyy&p=1&_=
parkid很好理解,车库信息里直接可以取到,那么verify怎么得到的呢?
我当初的第一反应是Cookie数据通过某种运算得到的,不过后来我看了登陆争车位的html后才发现原来这个verify是这样写的:
...
<script language=javascript>
var fs2_pars = "f1";
var g_verify = "383639_1040_383639_1221703779_49963b942199e94b88e405d0f7b1651d";
var g_first = parseInt("0");
var g_touid = parseInt("0");
var g_checkswf = 0;
.....
很好,直接去这个从HTML取得的值就好了。

4) 挪车位
这个操作稍微复杂了一点点,具体的HTTP请求大家可以去分析一下,我分析的结果如下:
a) 是否是免费车位
在JavaScript里有代码:
v_park_free = (v_parkid >> 16) & 0xff;
      if (v_park_free)
      {
        v_mycar += '免费车位';
      }
      else
      {
        v_mycar += '私家车位';
      }
c) 读取邻居家车库信息
URL: /parking/neighbor.php
POST内容: verify=xxx&puid=yyy&_=
d) 读取邻居家车库信息
URL: /parking/user.php
POST内容: verify=xxx&puid=yyy&_=
e) 停车
URL: /parking/park.php
POST内容: verify=xxx&park_uid=xxx&parkid=xxx&carid=xxx&neighbor=xxx&a=1&first_fee_parking=0&_=

5) 登出
GET URL: /login/logout.php

恭喜你,基本的操作你都明白了。

时间晚了,该睡觉了,一些高级主题改天再写~

--------------Google Code 分割线-------------
http://code.google.com/p/kaixin/
分享到:
评论

相关推荐

    网页开发手记 htmlcss js

    开发网页看 网页开发手记 htmlcss js 大家可以看看

    Android开发手记一_NDK编程实例

    ### Android开发手记一_NDK编程实例 #### 一、开发环境的搭建 在开始具体的NDK编程之前,首先需要确保开发环境已经被正确地搭建起来。对于初次接触Android NDK开发的朋友来说,拥有一个良好的环境配置是至关重要的...

    网页开发手记 HTML

    一本描述网页开发的书,很全,希望大家能喜欢

    网页开发手记htmlcssjavascript实战详解

    网页开发手记htmlcssjavascript实战详解 电子工业出版社 叶青 孙亚南 孙泽军编著

    同人游戏开发手记-附件(2.3.2)

    同人游戏开发手记-附件(2.2.2-2.2.6) 具体说明见我的博客(http://blog.csdn.net/fosly) 一如既往的骗5个积分, 积分不够的请留个Email, C屌相信总会有不缺分儿的人出现的, 所以坚决不免分

    网页开发手记:486个JavaScript网页特效详解_光盘源文件

    本资料“网页开发手记:486个JavaScript网页特效详解”正是针对这一主题进行深入探讨的资源,包含了大量实用的JavaScript特效代码实例。 首先,我们要理解JavaScript的基本概念。JavaScript是一种解释型的、基于...

    《网页开发手记:HTML+CSS+JavaScript实战详解》

    《网页开发手记:HTML+CSS+JavaScript实战详解》是一本专门为初学者设计的Web前端技术教程,旨在帮助读者深入理解和掌握网页开发的核心技术。这本书的内容涵盖了HTML、CSS和JavaScript这三个网页开发的基础和核心...

    网页开发手记.HTML.CSS.JavaScript实战详解

    《网页开发手记--实战详解》由叶青、孙亚南、孙泽军编著,笔者将网页制作技术粗略划分为前台浏览器端技术和后台服务器端技术。本书主要学习前台浏览器端技术,也就是静态页面制作技术。早期只需要使用HTML即可单独...

    JavaEye3.0开发手记

    ### JavaEye3.0开发手记之开发环境搭建详解 #### 一、开发环境搭建概述 随着JavaEye3.0开发计划的启动,本篇文章将详细介绍如何为该项目搭建高效的开发环境。开发过程中不仅需要考虑软件的选择,还需要针对操作...

    WM今日插件开发手记

    《WM今日插件开发手记》是一篇关于插件开发的博客文章,作者分享了在Windows Mobile(WM)平台上开发工具栏插件的经验和心得。虽然原始描述为空,但我们可以根据标题和提供的文件名来推测文章可能涉及的内容。 首先...

    Docbook开发手记 v1.2

    ### Docbook开发手记 v1.2 知识点概览 #### 一、Docbook简介 - **1.1 Docbook出现的背景** - Docbook 的出现是为了满足技术文档编写的需求,尤其是在软件开发领域。传统的文档撰写方式通常依赖于特定的排版系统...

    网页开发手记:HTML+CSS+JavaScript实战详解

    网页开发手记:HTML+CSS+JavaScript实战详解,初学看看

    OA开发手记

    【OA开发手记】是关于企业办公自动化(Office Automation,简称OA)系统开发的经验与笔记,博主通过分享自己的实践过程,深入浅出地探讨了OA系统的核心技术和开发流程。在这个过程中,源码和工具的使用是关键部分,...

    同人游戏开发手记-附件(2.2.2-2.2.6)

    本资料集“同人游戏开发手记-附件(2.2.2-2.2.6)”包含了五个关键章节,分别涉及游戏开发的不同方面,为有志于同人游戏制作的开发者提供了宝贵的学习资源。 首先,章节2.2.2可能涵盖了游戏设计的基础知识,包括游戏...

    Android开发手记--环境配置[收集].pdf

    Android 开发手记 -- 环境配置 Android 开发手记是基于 Linux 内核的手机系统,使用 MyEclipse + Windows XP 作为开发工具,当然在 Linux 下开发是更好的选择。以下是 Android 开发环境配置的步骤: 第一步:下载 ...

    Android开发手记--环境配置.pdf

    这篇“Android开发手记--环境配置”主要介绍了如何在Windows XP环境下,利用MyEclipse进行Android开发的初始设置。 首先,你需要下载Android SDK。SDK(Software Development Kit)是Android开发的基础,包含了开发...

    Wicket 1.4 开发手记(一) helloworld与环境配置

    ### Wicket 1.4 开发手记:Hello World与环境配置 #### 一、引言 在《Wicket 1.4 开发手记》系列的第一篇文章中,作者Steel.Ma分享了他对Wicket框架的一些见解,特别是针对Wicket 1.4版本的入门级介绍。文章首先对...

    无Mac机IOS开发环境搭建手记

    无Mac机IOS开发环境搭建手记

    Jfreechart开发手记(一)

    ### JFreeChart 开发手记(一):完整柱状图及数据下钻实现方法 #### 1. 概述 本文档旨在介绍如何利用开源图表库 JFreeChart 制作一个完整的柱状图,并实现商业智能 (BI) 软件中常见的“数据下钻”功能。通过本...

    IT项目经理成长手记

    IT项目经理成长手记IT项目经理成长手记IT项目经理成长手记IT项目经理成长手记IT项目经理成长手记

Global site tag (gtag.js) - Google Analytics