WPE的另类用法

转载 2007年09月17日 16:38:00
   可能接触过网络游戏的朋友会知道有一个可以修改网络游戏的工具叫做WPE,是通过截取游戏和服务器之间的封包然后伪造数据发送给服务器而达到欺骗服务器的目的,原理是简单,但是真正使用恐怕就没那么容易了,因为数据包都是经过加密的,如果不知道加密算法也是没办法伪造合法的封包。不过这里我要说的不是WPE的发包功能的使用,而是可以利用WPE接受数据包并且修改数据包的内容再加上某些网站WEB游戏的设计漏洞而达到作弊的目的。
        很多社区网站都提供了那种页面上可以玩的游戏,玩游戏可以赚虚拟货币,而这种游戏多数是赌博类的,比如老虎机、21点、赛马等等。如果侥幸到了一个社区,看到这类游戏的游戏控制都是在客户端而进行的,那恭喜你了,也许就有办法让你成为社区中的大富豪。
        举个例子吧,某社区有一个老虎机的游戏可以赚虚拟货币,查看一下源代码,经过分析,发现游戏控制都是在客户端,使用了javascript脚本来控制最后光标停止的位置,其中有这么一段:
 k=1
 i=0
 j=1
 randomize
 l=fix(65*rnd+44)'匀速转多少2~5圈
 randomize
 h=22
 h=fix(22*rnd+0)'减慢转多少0~1圈
        很明显了,只要将rnd设法该成一个固定的值,那么最后停止的位置就每次都是固定的了。
首先想到的是将页面保存在本地电脑,然后打开,将这段代码修改,还需要修改里面的一些关键连接,然后再打开玩。尝试了几次,都失败了,提交的时候后台说使用了防作弊系统,可能是记录了浏览器的一些信息吧,可能这种方法行不通了。后来想想,如果让后台知道我的数据就是从合法的地方传过去的,那应该就没问题了。开始想用Delphi来写个程序,用TWebBrowser来浏览页面,在读入数据的时候顺便将数据修改掉。这种做法原理上应该是行得通,但尝试的过程中还是发现不太好用。最后想到了WPE可以修改发送出去的封包,就一定可以修改接受到的数据吧!于是先截取了几个请求和回应的包,找到65*rnd+44这个位置的数据,建立一个filter,把65*rnd+44改成了65*000+56,再建立一个将rnd修改成000的filter,然后开始截取修改,刷新页面,看到页面的那段代码果然变成了
k=1
 i=0
 j=1
 randomize
 l=fix(65*000+56)'匀速转多少2~5圈
 randomize
 h=22
 h=fix(22*000+0)'减慢转多少0~1圈
现在试着玩一下看,果然,每次都是同一个位置,修改成功了!
这下就拼命的玩吧,一下子就赚了1000多万!
然后同时在那个社区找到了三个类似的游戏都是可以作弊的。
于是好好的发了一笔虚拟财。不料最后被管理员发现,帐号被删了,游戏也被停了........

由此可见,这种在浏览器里玩的游戏如果把游戏控制完全放到客户端,那肯定是有办法作弊的,我想这类游戏应该是在下注以后在服务器端就得出了输赢的结果,在客户端只是显示出来。这样别人再怎么改客户端的数据也无济于事。
 

相关文章推荐

androidsdk另类用法使模拟器更快

转载请注明出处: LouisWang http://blog.csdn.net/louiswangbing/article/details/6606865 这是观看博客时候看到的,找个时间...

WebService另类用法之一,运维

WebService的运维用法经验。

android sqlite另类用法(对象存取)

在andorid端使用sqlite数据库是经常的是,通常来说都是对每个属性对应一个字段,然后分字段的来读取,但是今天我要说的不是这样的。我们通过对象序列化来存取。因为一个好的程序员总是得学会偷懒。 D...

AccessibilityService辅助类用法(Android 中的另类钩子)

说在前面的话为什么会把AccesiibilistyService叫做Android 中的另类钩子呢?搞过windows的都知道,钩子的含义就是能够监听到一切你想监听的内容,而Android中的Acce...

软件工程的另类看法

  • 2015-08-27 11:01
  • 19KB
  • 下载

iOS开发之AVPlayer的精彩使用--->网易新闻视频播放界面的另类实现

遇到个需求需要涉及到视频播放,那么没办法,先找资料开始进一步了解下这个不熟悉的东西.一个是MP,一个 是AV,MP是封装好的,用起来非常简单,但是自定义样式就基本不可能了。AVPlayer存在于AV...

另类拿shell的方法

  • 2013-04-29 15:13
  • 19.58MB
  • 下载

andorid/java c++另类的数据交互

最近做东西,人家指定服务器要用c++的客户端是andorid的,没办法我也一直都知道垮语言的通信比较复杂,我也采用传统的socket但是我知道c++和java在传输的过程中不能直接发送对象和流的,除非...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)