一步一步教你怎么写牧场挂

首先需要准备2个工具:HttpWatch(或HttpAnalyzer),以及JSONViewer(http://www.codeplex.com/JsonViewer)
HttpWatch(或HttpAnalyzer)是收费软件,JSONViewer是free的。另外你也可以安装Firefox的JSONView插件,也可以不用JSONViewer。

编写任何一个WEB应用外挂,第一步肯定都是登录。只有正确登录了,才能继续后面的操作。

我们先拿HttpWatch来分析一下搜狐白社会的登录过程。

第一部分:登录
1、打开http://bai.sohu.com,如果你以前已经登录了,先退出来到要求你输入email和密码的页面
2、按下HttpWatch的Record按钮,然后在页面上输入Email和密码,点登录。然后你会进入白社会首页。这个时候看一下HttpWatch记录的轨迹
3、通过上面HttpWatch记录的轨迹,我们很容易看到,登录的真实URL是:
http://passport.sohu.com/sso/login.jsp?userid=你的E-MAIL账号&password=密码串&appid=1062&persistentcookie=1&s=1248665199215&b=2&w=1440&pwdtype=1
上面地址中,userid是你登录时输入的email地址,password是经过md5加密的字符串,s是时间(1970-1-1到现在的秒数,应该是这个账号注册的时间。在C语言中可以用time()函数来产生),w应该是计算机屏幕X方向的分辨率,persistentcookie表示保存cookie,b和pwdtype是一个常量,不知道具体含义(我们也不需要关心)。

OK,通过上面我们看到的URL,就可以完成账号登录了。

第二部分:进入阳光牧场
1、打开HttpWatch的Record,点击首页左侧的“阳光牧场”,HttpWatch会将每个页面动作都记录下来。我们可以看到,阳光牧场的真实地址是http://bai.sohu.com/app/farm/。在HttpWatch中选中http://bai.sohu.com/app/farm/这条记录,在下方的Content页签中,

2011040121523370.png

2、你可以把这个页面的source code复制出来,到dreamweaver或其他编辑器中查看,你会发现,这个网页其实包含了几个iframe。其中有一个iframe,才是真正的、中间那个阳光牧场的大flash的地址:<iframe src="http://sh_farm.rekoo.com/embed_swf/?so_sig_uid=6位数字&so_sig_session_key=UXdkRmZMaUxFQjg9&so_sig_sig=049fa15390e4c9acffbecac8870e83c1" frameborder="0" width="796" height="590" scrolling="no"></iframe>
在上面的地址中,so_sig_uid就是你在搜狐白社会网站的用户ID,这个ID对一般用户来说没什么用,是每个用户在数据库中的标识。但是对我们编写外挂来说,就很有用了,所以在这个地方,你需要将这个ID保存下来,以后要用到。

3、在浏览器中输入http://sh_farm.rekoo.com/embed_swf /?so_sig_uid=6位数字&so_sig_session_key=UXdkRmZMaUxFQjg9&so_sig_sig=049fa15390e4c9acffbecac8870e83c1,你会发现浏览器中只留下刚才我们看到的中间的那个大flash了,其他的通通都没有了。事实证明我们找到的这个iframe是正确的。(注:执行此步骤时,别忘了打开HttpWatch的Record)

4、在HttpWatch中选中上面的地址,观察一下返回的Content:

2011040121530428.png

5、在上面我选中的高亮部分中,你能看到session_name、session_value、uid等一些信息。其中对我们非常重要的一个值就是session_value。有过web开发经验的朋友都知道,登录后,在站点中是有一个session在client端维护着用户的一些信息,并且这个session是每次登录都会产生的随机字符串,并且有一定的有效期(由管理权配置)。所以,我们要模拟web的动作,就需要拿到正确的session字符串,也就是上面我们看到的那个session_value。

其实到目前为止,我们的分析工作已经进行了一大半了。简单总结一下:
我们上面做了那么多事情,最重要达到两个目的:
(1)如何模拟用户登录
(2)获得正确的UID和sessionid

另外,关于sessionid的获取还有其他方法,例如,如果你使用的是Java,可以从cookie中读取到sessionid。
cc_im?p=%B4%F3%D6%C7%BB%DB%B3%AC%D3%AE%BB%FA%B9%B9%B0%E6&s=1133812443&k=396&e=HX3zxvyu7JHBqZV8sWrxKIUKwub2GxIcZQiGtt%2FUTbR%2Bj1F2yYAASAHdd2%2Fxwm6UkEkXrMxdNeI%2BDADAGwI7RyxP5BP%2BcRn0ZpJRDqx7FjmMz52SNwgELpDS%2BwM4oH2Dpy%2B%2F%2FUCbN4c9PXBZ0XqAeKYkh1ZshSqNB38YB%2Fn2tpFNMWAlSSwkMKBN9tmbB1exxEYpFCD2jAtj6fIO8md0Hnk3j%2BYcY5%2FM9s6WRwdaNbn4EWbnZ53sks001uakheuNNMQ%2FnMqskRgzFkkWXupAMSiBzALEGzEGktZyMbsRKJsQmYxWI3EIPL6Onqf9csEQMohIgXekrlHZTPzttQ3QWtELA3Yxy%2B71GNDuxiGJRSRhfps3ijIZJAA%2BURM9m2JFx1%2BDQfCLvXE%3D
第三部分、分析阳光牧场各种操作
有了上面的基础,下面的分析简直是易如反掌了。
1、打开HttpWatch的Record,将上面的http://sh_farm.rekoo.com/embed_swf /?so_sig_uid=6位数字&so_sig_session_key=UXdkRmZMaUxFQjg9&so_sig_sig=049fa15390e4c9acffbecac8870e83c1 重新刷新一下。
2、在HttpWatch中,你会看到很多这样的地址:http://sh_farm.rekoo.com/get_api/,这个地址那可是相当的重要啊,几乎所有的命令请求都是往这个地方发。
3、选中http://sh_farm.rekoo.com/get_api/ ,在下面的POST Data中可以看到:

2011040121532694.png

原来这是一个标准的http post请求,完整的URL就是:http://sh_farm.rekoo.com/get_api/?method=user.get_friends&rekoo_killer=你的6位UID&sessionid=刚才我们从页面上获取到的session_value
然后我们点击旁边的Content页签,看到服务器返回的内容如下:

2011040121540335.png

上面是典型的JSON数据,接下来怎么做不用我说了吧。你可以把上面的内容复制到JSONViewer中,它提供了树形结构供你方便的展开每个节点,以分析父子关系、每个节点的类型等信息:


4、上面我们看到的是获取好友列表的请求,其他的诸如获取商店信息、杀虫浇水、播种、收割……请求地址都是http://sh_farm.rekoo.com/get_api/,只不过post的参数不同而已。将正确的参数post给服务器,服务器就会返回相应操作的JSON数据给你,有了这些数据,你就可以进行后期的分析处理了。

OK,通过上面文字的介绍,相信各位已经明白了,这样的一个外挂是怎么工作的了。4、上面我们看到的是获取好友列表的请求,其他的诸如获取商店信息、杀虫浇水、播种、收割……请求地址都是http://sh_farm.rekoo.com/get_api/,只不过post的参数不同而已。将正确的参数post给服务器,服务器就会返回相应操作的JSON数据给你,有了这些数据,你就可以进行后期的分析处理了。

2011040121542087.png

4、上面我们看到的是获取好友列表的请求,其他的诸如获取商店信息、杀虫浇水、播种、收割……请求地址都是http://sh_farm.rekoo.com/get_api/,只不过post的参数不同而已。将正确的参数post给服务器,服务器就会返回相应操作的JSON数据给你,有了这些数据,你就可以进行后期的分析处理了。

OK,通过上面文字的介绍,相信各位已经明白了,这样的一个外挂是怎么工作的了。

转载于:https://www.cnblogs.com/rogee/archive/2011/04/01/2002717.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值