游戏多开的若干对抗方法

第一,进程隐藏 

部分游戏通过探测游戏客户端进程是否已经存在来防止重复打开。 

游戏多开的办法为启动一个游戏客户端后,将该游戏所有启动的进程全部隐藏。(进程隐藏的办法多了,这个后面一点点学习) 

 

第二,窗口标题修改 

部分游戏通过探测游戏客户端的窗口是否已经存在来防止重复打开。 

游戏多开的办法为将游戏的窗口修改为任意字符。 


第三,端口隐藏 

部分游戏通过打开TCP或UDP端口监听,开第二个游戏的时候会打开端口失败从而判断游戏是否多开。

游戏多开的方法为用netstat命令查看端口。 


第四,多个游戏目录 

部分游戏通过独占文件访问来防止重复打开。 

游戏多开的方法为复制游戏客户端到另外的文件夹,在另外的文件夹打开即可。 


第五,多个账号 

部分游戏通过限制一个用户只能打开一个游戏来防止重复打开。 

游戏多开的方法为建立多个账号,一个游戏使用一个账号。 


第六,互斥体

部分游戏通过互斥对象/信号量/事件等线程同步对象来确定程序是否已经运行。 

游戏多开的方法有二种,一为发现互斥体,然后关闭互斥体即可实现多开。二为API HOOK,接收到错误信息时,加重置命令(置错误码=0)即可。 


第七,内存映射文件(File Mapping) 

部分游戏通过把程序实例信息放到跨进程的内存映射文件中,防止游戏多开。 

游戏多开的方法为拦截函数,不让它命名内核文件即可实现多开。 


第八,DLL全局共享 

DLL全局共享区在映射到各个进程的地址空间时仅被初始化一次,且是在第一次被Windows加载时,所以利用该区数据就能对程序进行多开限制。 

游戏多开的方法为DLL劫持, 让游戏一开始运行就加载你的DLL,再转到原来的DLL上就可以实现多开了。 


第九,使用公共文件 

程序启动时,在一个公共目录中创建一个公共文件,并将此文件设置为不共享读写。第二个程序启动时,也打开此文件,如果打开成功,则表示程序未启动过,否则表示程序已经启动。 

游戏多开的方法为:手动设置多开,比如:设定文件访问权限,不允许此程序在公共目录创建文件等。 


第十,Mac地址验证 

登陆服务器时,获取本机mac地址,发送至服务器端,服务端进行mac地址验证,如果mac地址重复登陆,则不允许同服务器进行消息传递。 

多开游戏的多法为:修改mac地址实现多开。


第十一,查看网络连接 

获取本机所有网络连接,使用GetTcpTable获取TCP连接,使用GetUdpTable获取UDP连接,检查是否有连接到服务器IP和端口号的连接,如果有,表示程序已经启动,否则程序未启动。 

多开游戏的方法为:挂系统钩子,导致函数失败实现多开。 


第十二,全局Atom  

将某个特定字符串通过GlobalAddAtom加入全局原子表,游戏运行时检查该特定字符串是否存在来限制多开。(该Atom不会自动释放,程序退出前必须调用GlobalDeleteAtom来释放该Atom)  

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值