[转]游戏多开的原理
全面分析游戏防止多开的原理,与游戏实现多开的方法。进程隐藏,窗口标题修改,端口隐藏,多个游戏目录,多个操作系统账号,互斥体,内存映射文件,DLL全局共享等方法实现游戏多开。
研究游戏多开已经有一年多的时间了,其实要实现游戏多开也不是一件很难的事情,只要大家懂得游戏防止多开的原理,然后根据其对应游戏多开的方法便可以做出游戏多开器来了。下面为大家总结一下游戏多开的原理与方法:
用了一年的时间换来了这篇游戏多开的文章:
如果大家需要转发的,请标明出处:小鱼工作室谢谢。
第一,进程隐藏
部分游戏通过探测游戏客户端进程是否已经存在来防止重复打开,如游戏:英雄美人
游戏多开的办法为启动一个游戏客户端后,将该游戏的进程隐藏,只保留一个或多个。
第二,窗口标题修改(使用FindWindow API函数)
部分游戏通过探测游戏客户端的窗口是否已经存在来防止重复打开。
游戏多开的办法为将游戏的窗口修改为任意字符。
第三,端口隐藏
部分游戏通过默认打开TCP或者UDP端口监听,开第二个游戏的时候会打开端口失败从而判断游戏是否多开。
游戏多开的方法为此类需要采用netstat –a –n –o 命令查看端口即可实现游戏多开。
第四,多个游戏目录
部分游戏通过独占文件访问来防止重复打开。
游戏多开的方法为复制游戏客户端到另外的文件夹,在另外的文件夹打开即可。
第五,多个操作系统账号(仅限XP系统)
部分游戏通过限制一个用户只能打开一个游戏来防止重复打开。
游戏多开的方法为在系统账号里面多建立账号,一个游戏使用一个账号。方法如下:
1、打开控制面版→用户帐户→创建一个新帐户→输入新帐户名(下一步)→创建帐户;
2、然后到桌面的游戏快捷图标上右键到[属性] 选[高级] 把里面[以其他用户身份运行]这个选项勾上 开第2个程序的时候记得用你新建的用户进就可以了,省的老去切换用户了。
第六,互斥体。
部分游戏通过互斥对象/信号量/事件等线程同步对象来确定程序是否已经运行。最常用的函数如:CreateMutexA。
1、首先创建一个互斥体,CreateMutex函数,第一个参数可以设置为NULL,第二个参数必须设置为false,第三个参数表示互斥体的名称,这个名称最好有一些特殊标识以防止与其他应用程序冲突,比如程序名+时间。
2、使用GetLastError()函数判断错误信息是否为ERROR_ALREADY_EXISTS,如果是,则表示程序已经启动。
游戏多开的方法有二种,一为发现互斥体,然后关闭互斥体即可实现多开。二为APIHOOK,接收到错误信息时,加重置命令(置错误码=0)即可。QQ游戏,天龙八部==最常见的类型
第七,内存映射文件(File Mapping)
部分游戏通过把程序实例信息放到跨进程的内存映射文件中,防止游戏多开。
游戏多开的方法为拦阻该函数,不让它命名内核文件即可实现多开。
第八,DLL全局共享
DLL全局共享区在映射到各个进程的地址空间时仅被初始化一次,且是在第一次被windows加载时,所以利用该区数据就能对程序进行多开限制。
游戏多开的方法为DLL劫持让游戏一开始运行就加载你的DLL,再转到原来的dll上就可以实现多开了。
第九,使用公共文件
程序启动时,在一个公共目录(比如C:\或者Temp目录)中创建一个公共文件,并将此文件设置为不共享读写。第二个程序启动时,也打开此文件,如果打开成功,则表示程序未启动过,否则表示程序已经启动。
游戏多开的方法为:手动设置多开,比如:设定文件访问权限,不允许此程序在公共目录创建文件等。
第十,Mac地址验证
登陆服务器时,获取本机mac地址,发送至服务器端,服务端进行mac地址验证,如果mac地址重复登陆,则不允许同服务器进行消息传递。
多开游戏的多法为:使用超级兔子等软件修改mac地址实现多开,针对此情况,本人也写了一个修改Mac地址的小工具,大家可以在网站下载。
第十一,查看网络连接
获取本机所有网络连接,使用GetTcpTable获取TCP连接,使用GetUdpTable获取UDP连接,检查是否有连接到服务器IP和端口号的连接,如果有,表示程序已经启动,否则程序未启动。需要注意的是,其获取的ip和端口号都是一个DWORD值,并且高低位相反。IP地址可以通过inet_addr函数将字符串形式的IP地址(如“127.0.0.1”)转换为DWORD型的,端口号可以使用以下公式转换:DWORD dwPort = ((nPort & 0xff) << 8) + ((nPort & 0xff00) >> 8);
多开游戏的方法为:挂系统钩子,导致GetTcpTable函数失败实现多开。
游戏防止多开的方法有时候并不是只用一个方法的,多数游戏都会用多种方法一起来防止多开的,只要大家都懂得这几个游戏多开的原理,灵活运行,一个一个分析排查,基本上都能解决各种游戏多开了,如果大家还有什么更好的方法,欢迎跟帖、交流一下。
转载于:https://www.cnblogs.com/MaxWoods/p/3425653.html
[转]游戏多开的原理相关推荐
- 降低指定进程的CPU占用率(适合游戏多开)
应用场景举例 推荐BES软件 应用场景举例 游戏多开,比如<天书世界>网页游戏,单开占用CPU30%左右:最小化能够降低到10%以下. 如果多开,那么CPU就是叠加累计,非常占用CPU资源 ...
- 计算机开根号原理,根号的原理_怎么开的根号,有原理吗
怎么开的根号,有原理吗 JPG,526x296,128KB,444_250 怎么在数轴上画出根号3,求详细过程和原理 JPG,600x293,231KB,514_250 求根号 X 2 2 9 根号 ...
- 多开游戏用虚拟机还是服务器,(虚拟机游戏多开的最好选择多开本人的方法.ppt...
(虚拟机游戏多开的最好选择多开本人的方法 虚拟机 虚拟机种类 目前流行的虚拟机软件有VMware(VMWare ACE).Virtual Box和Virtual PC,它们都能在Windows系统上虚 ...
- 角色扮演游戏引擎的设计原理--转自MOVE2008
角色扮演游戏引擎的设计原理--转自MOVE2008 角色扮演游戏引擎的设计原理 角色扮演游戏(RPG)是深受广大游戏迷们喜爱的一种游戏, 它以独特的互动性和故事性吸引了无数的玩家.它向人们提供了超出现 ...
- 虚拟机可以多开一台服务器吗,游戏多开必备:虚拟机vmware安装
很多朋友都不会安装虚拟机机,今天找来了一个非常详细的教程.虚拟机主要有那些用处呢? 第一:起到防封作用,指部分游戏. 第二:在一起回合制游戏或者没有多开软件的游戏项目上可以充分利用虚拟机来实现游戏多开 ...
- 角色扮演游戏引擎的设计原理
角色扮演游戏引擎的设计原理 角色扮演游戏(RPG)是深受广大游戏迷们喜爱的一种游戏, 它以独特的互动性和故事性吸引了无数的玩家.它向人们提供了超出现实生活的广阔的虚拟世界,使人们能够尝试扮演不同的角色 ...
- Java游戏服务器开发之A星算法
Java游戏服务器开发之A星算法 学习这个主要是用于寻路算法. 参考资料主要是siki学院的视频,A计划--人工智能--A星算法. 网址http://www.sikiedu.com/cou ...
- 游戏多开的若干对抗方法
第一,进程隐藏 部分游戏通过探测游戏客户端进程是否已经存在来防止重复打开. 游戏多开的办法为启动一个游戏客户端后,将该游戏所有启动的进程全部隐藏.(进程隐藏的办法多了,这个后面一点点学习) 第二,窗口 ...
- 游戏发烧型计算机配置方案,游戏多开无压力 七千元八核独显发烧游戏电脑配置推荐...
目前我们一般用户电脑最多核心的处理器,是FX-8350八核处理器,也就是我们目前装机可以选用的最高核心的就是八核了,不过一些高科技企业用服务器电脑配置已经超高,16核心的都有,16核心CPU的电脑性能 ...
- 较好游戏型计算机配置单,游戏多开型装机 5500元i7-7700配GTX1060游戏电脑配置推荐...
伴随者七代平台日益普及和流行,据小编了解到开始越来越多的用户考虑最新平台.相信很多用户跟小编一样存在买新不买旧的心理.是的,就DIY装机趋势来说,往往买最新的平台给人一种踏实感和新鲜感.最近就有一位网 ...
最新文章
- 产品需求管理中的四大难点
- Visual Studio 2008 可扩展性开发(九):总结篇
- ClassLoader工作机制
- echarts 不支持 手机 浏览器_最佳实践 | 地图加载慢,还不支持现有浏览器?巧用 Mapbox 静态地图!...
- it编年史_Java的编年史和低延迟
- java字符串元素置于最前_java_java编程常用技术(推荐),一:将String字符串放在最前面 - phpStudy...
- HTML5 学习(1) -- 介绍
- Log42j 源代码分析:日志回滚
- 使用AsyncDisplayKit提升UICollectionView和UITableView的滚动性能
- 一信通短信接口对接_吉信通:短信接口是什么?
- “女生当程序员?”你们骂我,我也要说!
- 计算机时间校对更改原因,计算机时间校准方法
- 一场精彩的比赛——2019年ACM新生赛
- matlab 计算电极上瞬时电流电压,[]基于MATLAB的感应加热电源仿真.doc
- 论文阅读 | Region Proposal by Guided Anchoring
- mybatis 查询忽略字段
- Qt:图标刷新自动旋转
- VB.net是个弥天大谎,VB.net已死(海康威视 SDK 开发有感)
- java百万级大数据量导出
- 全文检索第一篇lucene的使用