主题:茶苑游戏看牌器编写技术及求助
我首先声明一下,在最近很多师兄弟问我这个问题,而且价格据说都开的很高。我也只是对他的编写方法做一些介绍,并无破坏别人的游戏之嫌。
所谓的看牌器,其实是很简单的一个原理,他就是获取到对方数据包直接读出来。就可以看到他的底牌了。(这里我只讲下梭哈看牌器,这个方法适合于 茶苑看牌器,金游世界看牌器,凤凰山庄看牌器和456游戏看牌器等,仅仅局限两个人对战,多人对战我还没有想到办法,还请各位师兄探讨我在下面公布了群号码,请师兄不吝赐教)
从师兄弟提出的问题来看,难点就在于获取对方的数据包和数据封包的破解。
这个问题要从2002年说起,在2002年前双方的数据是在对战的双方都有的,那个时候只需要写一个内存读取代码就可以完成这个动作,直接把内存中的数据提取出来还原就可以,那不仅仅是只看到底牌,而且是可以看到对方的5张牌,这样的看牌器基本没有技术含量大家都会写。我就不罗嗦了
在2002年后游戏的写作方法基本全部改为服务器双边请求数据才可以得到包,这个难度就大了,也是很多师兄弟卡壳的地方。为了能直接的说明,我在这里给一个草图相信一看也就明白了,我在这里假设我的ID是ABC,对方的ID是EFG
游戏服务器
ABC 自己建立的服务器 EFG
EFG
如上图,ABC发出请求 EFG同时给自己的服务器和游戏服务器发出请求,获取到各自的数据封包,在本地客户端完成ID欺骗,服务器必然会验证请求,那么由自己建立的服务器来响应,数据包就会完整的欺骗下来了,很多人失败的主要原因就是未能想到必须得自己建立一个服务器,用服务器伪装对方而不是在本地伪装,那因为是同一个IP肯定是验证通过不了的,这样一来本地的EFG就可以到自己的服务器去读对方的包在本地显示,看牌动作就这样完成了。
这样写的好处在什么地方呢?第一这个是永远不可能被服务器封杀,因为双边发送的请求就是正常的请求,除非是自己也看不到自己的底牌了,呵呵那样是不可能的。而且这个就注定是梭哈游戏的死角了,我认为只要是梭哈就有这样缺陷。至少预计到2010年能封杀的可能不是很大。
如何破解数据封包?
而且加密方式在不断改变如何完成升级?这个也是师兄弟问的比较多的一个问题
这个问题实际是很简单解决的,大家总是忽略了一个问题,客户端本身就具有解密功能的,就如黑客破解QQ聊天记录是一样的,直接把聊天记录导入到QQ就可以用QQ读出来了,这个也是一样的道理,直接把数据利用他本地的客户端还原出来就可以了,他读自己的底牌能读出来,就是这个道理的。所以只要他能自己看到自己的底牌数据包是不用去破解的。但是如何去完成呢?
需要把里面的DLL文件导出重新编译一下是一个办法,也可以把数据借用直接返回是一个道理的。
相信说到这里各位师兄也就明白看牌器该如何编写了,虽然说起来比较简单,但是去完成主要技术还是在自己建立服务器端的编写,大家只要注意他的验证方式就可以了的,不用去获取和拦截数据包,重点是欺骗下来,这样才不至于被封!游戏服务器根本无法察觉的。
我也了一段测试代码,顺利的获得了数据包,有时间我公布出来大家参考。我建了几个群师兄弟有时间一起探讨数据包和C语言的交流。1群:41492643 2群:47114622 3群:47114402 4群:47114533
各位师兄有时间来交流心得!并且不吝赐教!
所谓的看牌器,其实是很简单的一个原理,他就是获取到对方数据包直接读出来。就可以看到他的底牌了。(这里我只讲下梭哈看牌器,这个方法适合于 茶苑看牌器,金游世界看牌器,凤凰山庄看牌器和456游戏看牌器等,仅仅局限两个人对战,多人对战我还没有想到办法,还请各位师兄探讨我在下面公布了群号码,请师兄不吝赐教)
从师兄弟提出的问题来看,难点就在于获取对方的数据包和数据封包的破解。
这个问题要从2002年说起,在2002年前双方的数据是在对战的双方都有的,那个时候只需要写一个内存读取代码就可以完成这个动作,直接把内存中的数据提取出来还原就可以,那不仅仅是只看到底牌,而且是可以看到对方的5张牌,这样的看牌器基本没有技术含量大家都会写。我就不罗嗦了
在2002年后游戏的写作方法基本全部改为服务器双边请求数据才可以得到包,这个难度就大了,也是很多师兄弟卡壳的地方。为了能直接的说明,我在这里给一个草图相信一看也就明白了,我在这里假设我的ID是ABC,对方的ID是EFG
游戏服务器
ABC 自己建立的服务器 EFG
EFG
如上图,ABC发出请求 EFG同时给自己的服务器和游戏服务器发出请求,获取到各自的数据封包,在本地客户端完成ID欺骗,服务器必然会验证请求,那么由自己建立的服务器来响应,数据包就会完整的欺骗下来了,很多人失败的主要原因就是未能想到必须得自己建立一个服务器,用服务器伪装对方而不是在本地伪装,那因为是同一个IP肯定是验证通过不了的,这样一来本地的EFG就可以到自己的服务器去读对方的包在本地显示,看牌动作就这样完成了。
这样写的好处在什么地方呢?第一这个是永远不可能被服务器封杀,因为双边发送的请求就是正常的请求,除非是自己也看不到自己的底牌了,呵呵那样是不可能的。而且这个就注定是梭哈游戏的死角了,我认为只要是梭哈就有这样缺陷。至少预计到2010年能封杀的可能不是很大。
如何破解数据封包?
而且加密方式在不断改变如何完成升级?这个也是师兄弟问的比较多的一个问题
这个问题实际是很简单解决的,大家总是忽略了一个问题,客户端本身就具有解密功能的,就如黑客破解QQ聊天记录是一样的,直接把聊天记录导入到QQ就可以用QQ读出来了,这个也是一样的道理,直接把数据利用他本地的客户端还原出来就可以了,他读自己的底牌能读出来,就是这个道理的。所以只要他能自己看到自己的底牌数据包是不用去破解的。但是如何去完成呢?
需要把里面的DLL文件导出重新编译一下是一个办法,也可以把数据借用直接返回是一个道理的。
相信说到这里各位师兄也就明白看牌器该如何编写了,虽然说起来比较简单,但是去完成主要技术还是在自己建立服务器端的编写,大家只要注意他的验证方式就可以了的,不用去获取和拦截数据包,重点是欺骗下来,这样才不至于被封!游戏服务器根本无法察觉的。
我也了一段测试代码,顺利的获得了数据包,有时间我公布出来大家参考。我建了几个群师兄弟有时间一起探讨数据包和C语言的交流。1群:41492643 2群:47114622 3群:47114402 4群:47114533
各位师兄有时间来交流心得!并且不吝赐教!