首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >游戏如何限制程序多开

游戏如何限制程序多开

作者头像
王瑞MVP
发布于 2022-12-28 09:47:05
发布于 2022-12-28 09:47:05
1.6K0
举报

1,进程

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

破解方法: (1)隐藏进程。可以用工具 HideToolz,也可以自己写驱动简单的做个摘链隐藏。 (2)hook 游戏遍历进程的 api

CreateToolhelp32Snapshot()、Process32First()和Process32Next() EnumProcesses()、EnumProcessModules()、GetModuleBaseName() ZwQuerySystemInformation WTSOpenServer()、WTSEnumerateProcess() (3)修改进程名。拷贝一份游戏 exe 文件的副本,重命名即可。

2,窗口标题

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

破解方法: (1)使用 SetWindowText 修改窗口标题,可以自己调用或 hook 游戏的都可以。 (2)hook 游戏的 FindWindow ,不让其获取其他游戏的窗口句柄。 (3)hook 游戏的 EnumWindows ,不让其遍历窗口。

3,端口

现象: 游戏通过默认打开TCP或者UDP端口监听。

破解方法: 端口隐藏(端口复用)

4,独占文件、公共文件

现象(公共):游戏启动后会以独占方式打开某个文件的(lockfile)文件句柄,当第二次再有程序打开它时就会报错。 现象(独占):游戏启动后用刀的所有文件(dll,ini 等)都使用独占方式打开,当第二次再有程序打开它时就会报错。

破解方法: (1)hook 游戏的 OpenFileMapping,拷贝一份独占文件副本并重命名,让他获取文件副本的句柄而不是原文件句柄。 (2)循环遍历游戏的句柄表,删除指定的 File 类型的句柄

5,多个操作系统账号

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

破解方法: 创建多个系统账号后,Shift + 右键 ,以其他身份运行。

6,互斥体

现象:游戏只能单开,通过互斥对象/信号量/事件等线程同步对象来确定程序是否已经运行。

破解方法: (1)Hook 对应创建互斥体的 API (2)循环遍历游戏句柄表,删除对应的句柄

7,内存映射文件

现象:游戏只能开2个、3个等。而不是只能开1个,通过把程序实例信息放到跨进程的内存映射文件中,防止游戏多开。

破解方法: (1)Hook CreateFileMapping 、OpenFileMapping (2)循环遍历游戏句柄表,删除对应的句柄

8,DLL全局共享变量

现象:游戏只能开2个、3个等。而不是只能开1个 ,DLL全局共享区在映射到各个进程的地址空间时仅被初始化一次,且是在第一次被windows加载时,所以利用该区数据就能对程序进行多开限制。

破解方法: (1)找到共享区段的位置,使用 PE 工具删除这个区段。 (2)使用 ce 找到存放游戏实例的基地址,每当启动一个实例后,使用 WriteProcessMemory 修改这个值。

9,Mac地址验证

现象:游戏只能开2个、3个等。而不是只能开1个 ,登陆服务器时,获取本机mac地址,发送至服务器端,服务端进行mac地址验证,如果mac地址重复登陆,则不允许同服务器进行消息传递。

破解方法: (1)hook 游戏获取 mac 的 api ,让每个游戏获取不同的 mac 地址。注意游戏可能会多次获取 mac ,所以不要将 mac 完全随机,避免第一次获取的 mac 和第二次获取的 mac 不一样,这就很尴尬。处理方法是 dll 注入时初始化一个随机 mac ,之后 hook 时都使用这个 mac 来伪造。 (2)定时修改本机mac 。这种情况有一个缺陷,就是必须把时钟设置的很小,因为游戏不一定只有登录时才校验 mac ,如果游戏对 mac 做循环校验,就必须保证在打开的 n 个游戏的 n 个循环中 ,都修改一次 mac 。也就是说,打开的客户端也多,修改本机mac 的时钟就要设置的越小,且不能保证某一时刻客户端 a 和 客户端 b 获取到的mac 是相同的 !

10,查看网络连接

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

破解方法: hook GetTcpTable 、GetUdpTable

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-07-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
我是这样对灰产 游戏外挂 下手的
分析外挂样本一般的步骤 对外挂样本进行简单的信息分析。 分析还原外挂样本具体功能实现方式。 分析外挂样本的反检测功能。 1. 对外挂样本进行简单的信息分析 查看文件属性,灰产及外挂的标配语言 “易语
小道安全
2021/01/18
1.9K6
我是这样对灰产 游戏外挂 下手的
浅谈网络编程
第二种情况,接收端只收到一个数据包,由于TCP是不会出现丢包的,所以这一个数据包中包含了发送端发送的两个数据包的信息,这种现象即为粘包。这种情况由于接收端不知道这两个数据包的界限,所以对于接收端来说很难处理。
黄啊码
2021/01/17
7130
.NET/C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
一般来说,大家在需要监听全局消息的时候会考虑 SetWindowsHookEx 这个 API。或者需要处理一些非自己编写的窗口的消息循环的时候,也会考虑使用它。
walterlv
2023/10/22
2.1K0
.NET/C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
CreateFileMapping用法
CreateFileMapping的MSDN翻译和使用心得 测试创建和打开文件映射的时候老是得到”句柄无效”的错误, 仔细看了MSDN以后才发觉是函数认识不透, 这里把相关的解释翻译出来
全栈程序员站长
2022/07/22
8040
一则邮件攻击样本分析分享
通过邮件投递病毒文件是网络攻击常用的一种方式,因此防御邮件攻击是每个安全团队都需要重点考虑的内容。中兴通讯每天都会收到数万封外部邮件,为了及时检测每封邮件是否含有恶意文件,中兴ZInsight团队部署了自研的高级邮件防御系统,针对每个邮件附件,通过动态行为分析的方式检测是否存在威胁。本文介绍近期捕获的一起攻击事件,分析其攻击过程。
FB客服
2018/12/20
3.1K0
一则邮件攻击样本分析分享
外挂基础_开挂的正确姿势
  所谓游戏外挂,其实是一种游戏外辅程序,它可以协助玩家自动产生游戏动作、修改游戏网络数据包以及修改游戏内存数据等,以实现玩家用最少的时间和金钱去完成功力升级和过关斩将。虽然,现在对游戏外挂程序的“合法”身份众说纷纭,在这里我不想对此发表任何个人意见,让时间去说明一切吧。
全栈程序员站长
2022/11/10
2.9K0
基础总结(网络篇)
注: 此系列内容来自网络,未能查到原作者。感觉不错,在此分享。不排除有错误,可留言指正。
fliter
2023/06/18
3390
基础总结(网络篇)
Shopee 面试体验拉满!
之前发生过一个有意思的事情,去年有校招同学拿到了虾皮(Shopee) 30k+ 的 offer,刚毕业拿到这种薪资水平,妥妥羡慕了,肯定很多人都会毫不犹豫接了。
小林coding
2024/08/30
3620
Shopee  面试体验拉满!
当你在浏览器中输入Google.com并且按下回车之后发生了什么?
回车键按下 为了从头开始,我们选择键盘上的回车键被按到最低处作为起点。在这个时刻,一个专用于回车键的电流回路被直接或者通过电容器闭合了,使得少量的电流进入了键盘的逻辑电路系统。这个系统会扫描每个键的状态,对于按键开关的电位弹跳变化进行噪音消除(debounce),并将其转化为键盘码值。在这里,回车的码值是13。键盘控制器在得到码值之后,将其编码,用于之后的传输。现在这个传输过程几乎都是通过通用串行总线(USB)或者蓝牙(Bluetooth)来进行的,以前是通过PS/2或者ADB连接进行。 USB键盘: ●键
前朝楚水
2018/04/03
1.5K0
无线攻防:wifi攻防从破解到钓鱼
无线安全是信息安全体系下一门很广泛的学科,包括但并不仅限于近场(NFC)、蓝牙(Bluetooth) 、射频(radio frequency,RF) 、无线局域网(Wifi)、手机蜂窝网络(cellular) 、卫星定位(GPS)等。
FB客服
2021/08/24
8.3K1
ring3层恶意代码实例汇总
之前一期我们学习了 IAT 的基本结构,相信大家对 C++ 有了一个基本的认识,这一期放点干货,我把 ring3 层恶意代码常用的编程技术给大家整理了一下,所有代码都经过我亲手调试并打上了非常详细的注释供大家学习,如下图:
信安之路
2018/08/08
1K0
ring3层恶意代码实例汇总
kali破解wifi
要使用linux kali操作系统破解WiFi,首先需要安装vmware虚拟机,然后再在虚拟机里安装linux kali操作系统,因为kali操作系统不支持内置网卡,所以需要自己购买一个外置的支持监听的无线网卡,最后要有进行爆破破解wifi所需要的字典。我把对应的下载链接放到下面了,相关虚拟机和kali操作系统的安装我就不赘述了,网上有很多教程,自行度娘。
laity
2024/07/05
1.1K0
kali破解wifi
黑客常用WinAPI函数整理
黑客常用WinAPI函数整理 之前的博客写了很多关于Windows编程的内容,在Windows环境下的黑客必须熟练掌握底层API编程。为了使读者对黑客常用的Windows API有个更全面的了解以及方便日后使用API方法的查询,特将这些常用的API按照7大分类进行整理如下,希望对大家的学习有所帮助。 一、进程 创建进程: CreateProcess("C:\\windows\\notepad.exe",0,0,0,0,0,0,0,&si,&pi); WinExec("notepad",SW_SHOW); S
Florian
2018/02/05
1.1K0
网络编程基础
- 优点:协议选用比较灵活;可以缓存数据,比如说我们在打游戏时,在游戏过程中,实际上一些音效、图片都已经缓存下来了,想象一下,如果你玩LOL的时候,音效和动画需要去服务器实时下载,那么游戏会卡成什么样子。
mindtechnist
2024/09/06
1840
网络编程基础
【BATJ面试必会】JAVA面试到底需要掌握什么?【下】
非对称加密,对称加密 对称加密(Symmetric Cryptography),又称私钥加密
乔戈里
2019/01/07
8420
连接一个 IP 不存在的主机时,握手过程是怎样的?
现在忙完工作,还要一三五学驾照,二四六看家具。有同感的老铁们不要举手,拉到右下角点个"在看"就好了。
haohongfan
2021/07/23
1.1K0
连接一个 IP 不存在的主机时,握手过程是怎样的?
钩子原理及实例:实现键盘钩子截获密码
钩子能截获系统并得理发送给其它应用程序的消息,能完成一般程序无法完成的功能。Windows系统是建立在事件驱动的机制上的,也就是整个系统都是通过消息的传递来实现的。而钩子是Windows系统中非常重要的系统接口,用它可以截获并处理送给其他应用程序的消息,来完成普通应用程序难以实现的功能。钩子的种类很多,每种钩子可以截获并处理相应的消息,如键盘钩子可以截获键盘消息,外壳钩子可以截取、启动和关闭应用程序的消息等。
全栈程序员站长
2022/06/27
2.3K0
钩子原理及实例:实现键盘钩子截获密码
这个外挂一般人不敢下手
在无意间从网络上获取到一款付费的游戏黑产外挂样本,并且该外挂号称可以无视游戏客户端的反外挂检测功能。好奇的心就不由自主的将外挂样本下载下来,并丢进虚拟机环境尝试学习下强大的外挂功能。
小道安全
2022/08/31
1.8K0
这个外挂一般人不敢下手
C++ 共享内存ShellCode跨进程传输
在计算机安全领域,ShellCode是一段用于利用系统漏洞或执行特定任务的机器码。为了增加攻击的难度,研究人员经常探索新的传递ShellCode的方式。本文介绍了一种使用共享内存的方法,通过该方法,两个本地进程可以相互传递ShellCode,从而实现一种巧妙的本地传输手段。如果你问我为何在本地了还得这样传,那我只能说在某些时候我们可能会将ShellCode打散,而作为客户端也不需要时时刻刻在本地存放ShellCode代码,这能保证客户端的安全性。
王瑞MVP
2023/12/07
4250
网络框架,互联网的组成,OSI七层协议,抽象层
互联网的本质就是一系列的网络协议,这个协议就叫OSI协议(一系列协议),按照功能不同,分工不同,人为的分层七层。实际上这个七层是不存在的。没有这七层的概念,只是人为的划分而已。区分出来的目的只是让你明白哪一层是干什么用的。
小小咸鱼YwY
2019/07/24
5770
相关推荐
我是这样对灰产 游戏外挂 下手的
更多 >
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
一站式MCP教程库,解锁AI应用新玩法
涵盖代码开发、场景应用、自动测试全流程,助你从零构建专属AI助手
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档