浩方是怎么判断游戏的开始与结束啊?!?! 浩方是怎么判断游戏的开始与结束啊?!?! 比如在魔兽中浩方就可以判断你是否秒退游戏。应该不是hook把..请各位大侠指点啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 估计是魔兽有什么对外公布的接口吧,感觉暴雪如果有这样对外公布的接口很正常。再或者注入并拦截socket的connect的API,进入游戏的时间一定会调用connect,退出也一定会有close,或许会通过一些判断来解释秒退的情况吧,比如过早的断开连接,或你退了还有别的连接仍在。这只是猜测。我感觉暴雪应该留有对外的接口方法,只是貌似不会随便的公开。如果没有那百分百的是注入 进入所谓的局域网列表之后,当你开始他肯定有对应的双方类似connect的动作,结束则必然对应的要去close,中间一个计时器就行。虽然没去试过,但单能想到的就不止一种了,怎么会不能判断呢 以前也觉得挺神奇的,如果是hook的话,这个判断也太多了点吧。可能是解析了传输协议。等高端人士来分析了。 不是 connection和close 因为游戏开始之前就已经连接上了啊 我觉得要么是使用hook要么就是分析传输协议分析传输协议: 如果游戏开始了,我想数据量会比没开始多很多…… 会不会是根据这个开控制的结束当然好实现, 加个计时器就可以了…… 游戏开始之前只是连接上了浩方,浩方的IP是固定的,很容易判断。浩方的游戏是在游戏内注入一个dll文件,然后应该是将socket的相关api拦截,然后将广域网模拟成了局域网,你今浩方的房间,是连上了豪放的某个服务器,当你点击进入游戏或启动游戏时,浩方的程序启动你的游戏进程,并根据进程的句柄注入dll,然后这个dll拦截相关的API模拟局域网,你可以看到别人建的游戏房间,当你进入某房间后,就建立了已房主为主服务器的连接。然后剩下的用WPE应该就可以获得,游戏开始,主机向客户机发送的数据包,只要分析清这个数据包的数据,就可以通过拦截send(或recv)的数据知道是否游戏开始了。然后剩下的判断,我在前面说过了。上面的情况只可能在浩方确实没有得到暴雪预留的对外接口的情况下采取的一种做法。或许还有别的方法,不过感觉有很大的可能是这种,因为浩方的局域网必须要在游戏启动后注入dll,既然都注入了,下面的流程也以注入为主题进行得了。而且楼主也应该发现,不管是在进入浩方,还是在进入游戏和启动游戏的情况下,你的网上邻居都没有多出台电脑来,所以只能是单个游戏的注入拦截,不可能是全局的拦截。不知道还有没有更好的思路,同求解答 思路。。个人意见可以参考11平台啊! 你十分钟退了就算秒退应该是有接口 用来计算 你在游戏中多少时间吧!一旦退出就可以war3引擎就获取不了你这边的包 应该是类似的东东吧 代码基本是不会找到的,楼主知道WPE吗?拦截网络封包的一个小工具,你可以下载个。然后开魔兽局域网(是在浩方开,还是自己找两台电脑开,结果都是一样的)然后用WPE拦截魔兽的封包,你会发现,当你进入别人得房间(或你是房主,别人进入你的房间)时,你会与一个IP联接,别且接收到封包,这个封包不管他,因为他跟楼主的问题无关当房主点击开始游戏的按钮后,房主会发送封包,其余的人会收到封包,这个封包其实就是游戏开始的标记,如果楼主将这个封包研究透了,估计可以用wpe发送一个伪封包,会出现让别人得游戏程序误以为游戏已经开始,而进入游戏同样,在游戏内,点击菜单,然后点击退出游戏,也一定有一个特殊标记的封包,这个是关键,浩方的 注入DLL(顺便说下wpe也是这种注入的方式)获取这个封包后,并确认是点击了游戏菜单而进行的退出(的封包),就可进行相关的判断并进行相关的惩罚了(如楼上所说)而游戏正常玩到最后结束,也会发送一个封包,(这个也很容易解释,因为结束的时间,有的人显示,你赢了,有的显示你输了)分析清这个封包的格式就可以判断是否正常结束退出了。楼主如果看上面解释的,认为看不懂得话,那么要么是我的语言表达的不清楚,要么就是楼主未接触过这方面的东西,如果是后面的情况,建议楼主放弃这个想法吧,因为魔兽封包的解析或许会很复杂,因为浩方的别的游戏早有类似的判断,但是魔兽出的却明显晚几个月或更长的时间(具体时间没注意),浩方有一个这方面的团队,或是专家,他们都要费那么长时间,可想难度有多大,而且浩方好像玩魔兽的人是最多的吧?至少这说明浩方会尽力去解决这个问题,而不会先让它搁置。纯手打啊,望楼主多给点份,真穷了,前阵份都成了一位数 VC 每个任务要花费的的最小时间是多少? 请教关于切分时窗口调整的问题。 散分了! 自绘的控件 如何避免闪烁?? SCardTransmit 在使用协议T=1时出现的问题 求对二值化图像进行标记(Label)的快速算法或者程序 高手请进!VC++中ADO的Connection对象的事物处理问题!(可惜无分可赠!) 看《深入浅出MFC》中遇到的问题,望高手指点!!求求小弟:) SQL SERVER 问题!!! 关于多行显示?(容易拿分的问题) 我想知道,在不影响进程的基础上怎么知道目标进程的内存基址 vc++ webbrowser无法显示某些网页的图片
再或者注入并拦截socket的connect的API,进入游戏的时间一定会调用connect,退出也一定会有close,或许会通过一些判断来解释秒退的情况吧,比如过早的断开连接,或你退了还有别的连接仍在。这只是猜测。
我感觉暴雪应该留有对外的接口方法,只是貌似不会随便的公开。如果没有那百分百的是注入
可能是解析了传输协议。等高端人士来分析了。
分析传输协议: 如果游戏开始了,我想数据量会比没开始多很多…… 会不会是根据这个开控制的
结束当然好实现, 加个计时器就可以了……
而且楼主也应该发现,不管是在进入浩方,还是在进入游戏和启动游戏的情况下,你的网上邻居都没有多出台电脑来,所以只能是单个游戏的注入拦截,不可能是全局的拦截。
不知道还有没有更好的思路,同求解答
个人意见可以参考11平台啊! 你十分钟退了就算秒退
应该是有接口 用来计算 你在游戏中多少时间吧!
一旦退出就可以war3引擎就获取不了你这边的包
应该是类似的东东吧
然后开魔兽局域网(是在浩方开,还是自己找两台电脑开,结果都是一样的)
然后用WPE拦截魔兽的封包,你会发现,当你进入别人得房间(或你是房主,别人进入你的房间)时,你会与一个IP联接,别且接收到封包,这个封包不管他,因为他跟楼主的问题无关
当房主点击开始游戏的按钮后,房主会发送封包,其余的人会收到封包,这个封包其实就是游戏开始的标记,如果楼主将这个封包研究透了,估计可以用wpe发送一个伪封包,会出现让别人得游戏程序误以为游戏已经开始,而进入游戏
同样,在游戏内,点击菜单,然后点击退出游戏,也一定有一个特殊标记的封包,这个是关键,浩方的 注入DLL(顺便说下wpe也是这种注入的方式)获取这个封包后,并确认是点击了游戏菜单而进行的退出(的封包),就可进行相关的判断并进行相关的惩罚了(如楼上所说)
而游戏正常玩到最后结束,也会发送一个封包,(这个也很容易解释,因为结束的时间,有的人显示,你赢了,有的显示你输了)分析清这个封包的格式就可以判断是否正常结束退出了。楼主如果看上面解释的,认为看不懂得话,那么要么是我的语言表达的不清楚,要么就是楼主未接触过这方面的东西,如果是后面的情况,建议楼主放弃这个想法吧,因为魔兽封包的解析或许会很复杂,因为浩方的别的游戏早有类似的判断,但是魔兽出的却明显晚几个月或更长的时间(具体时间没注意),浩方有一个这方面的团队,或是专家,他们都要费那么长时间,可想难度有多大,而且浩方好像玩魔兽的人是最多的吧?至少这说明浩方会尽力去解决这个问题,而不会先让它搁置。
纯手打啊,望楼主多给点份,真穷了,前阵份都成了一位数