war3 1.20e dota反互通图作弊 及 war3对战平台原理
大部分互通图在作弊的时候都需要输入作弊指令 -xxx
而且为了掩人耳目有些指令具有迷惑作用比如 -ma空格空格空格
但是如果设置聊天对象为ob那么队友也看不到你输入的指令
但事实上这一切尽在服务器眼中
玩家输入的任何游戏指令(-打头)
都会通过26号游戏协议包(F7 26 xx xx)发送到服务器
假如我们做了一个服务器插件
监控玩家使用的游戏指令
就可以达到一定的监测作弊效果
然后配合踢人功能惩罚作弊者…那么…
另外在分析魔兽协议的时候又学习了一下iocp模型
war3为每个连接创建了一个线程接收网络数据包
使用WSARecv接收数据
如果返回-1并且WSAGetLastError = ERROR_IO_PENDING
那么就使用GetQueuedCompletionStatus等待IO完成
另外通过lpCompletionKey结构,可以得知被等待的socket句柄和缓冲区
至此我们也可以猜测各种游戏平台的工作原理
hook socket把TCP改成UDP
hook connect返回成功
hook AcceptEx或其他。。
hook send通过sendto把数据传到服务器由服务器转发,要确保数据正确到达
hook WSARecv,貌似可以阻塞也可以不阻塞,总之数据来了就返回,如果不阻塞。那么再
hook GetQueuedCompletionStatus,等待数据到来
大体应该就是这样子,全是猜测,下一步可以构想一下自己实现的对战平台的网络模型
另外我想数据可以是由服务器中转的,也可以是用UDP穿墙技术实现的。
区别就是经过服务器中转。还可以多实现一些功能
比如聊天监控,作弊监控……
Continue reading » · Written on: 11-17-09 · 9 Comments »
MENGXP学什么的?
十一月 27th, 2009 at 14:45软件工程~怎?
十一月 27th, 2009 at 18:30网上搜MengXP 总能找到好东西= =
十二月 24th, 2009 at 09:09博主用的是什么模板啊?真好看,支持你
十二月 26th, 2009 at 12:05网站推广、网站SEO优化、网络宣传、网络炒作、博客炒作,请联系QQ:781954265
十二月 30th, 2009 at 13:32博主,麻烦您一件事,我在网上搜dr.com进入您的博客,我们学校就弄了这个个万恶的dr.com软件,是有帐号和密码的。现在搞得我们局域网不能联通。在网上下了个对战平台也不能玩,希望博主能够给我点启示,找了好久了,网上基本上没有解决方案,我比较看好博主。。。。。。不胜感激!!!!我的邮箱是zzxx0612@126.com,非常感谢!!!
三月 9th, 2010 at 13:40真钱扑克游戏(www.wins128.com)
三月 9th, 2010 at 22:57心在哪里哪里就有感动,志在哪里哪里就有成功。
博客很好!顶了!
好久没来了,看看新文章。
三月 10th, 2010 at 10:13把你的blog加到俺的链接表拉。。。
网速有点慢。。。
三月 11th, 2010 at 02:09