2024年8月20日上午10点,我国第一款3A(高成本、高质量、高体量)游戏大作《黑神话:悟空》全球同步上线。笔者作为资深游戏发烧友,早在6月8日预购发起时已经第一时间入手。而仅在游戏正式发布后几小时,国内最知名的游戏论坛3DM旗下的单机游戏外挂团队“风灵月影”随即发布了该游戏的修改器,即俗称的外挂。笔者试着从司法鉴定的视角,从过往的游戏经历出发,谈谈游戏外挂与代码安全。当然关于单机游戏开挂是否合理的争议并不在本文的探讨范围之中,还望各位读者自行判断。

图1 风灵月影团队发布的《黑神话:悟空》外挂界面截图
一、什么是游戏外挂
外挂是指通过改变或干扰游戏原本设计运行方式,使玩家在游戏过程中获取不正当优势的软件工具。外挂可以通过自动化操作、修改游戏数据和行为等方式,使某些玩家在短时间内获得巨大利益,从而扰乱游戏的平衡性和公平性。
(一)外挂的发展
早在dos系统时期,就已经出现了针对dos游戏的修改器,如PC Tools、DEBUG、DOSBOX等。

图2 DOSBOS修改器截图
2000年左右,随着国内家用机开始普及,针对当时的单机游戏,诸如金山游侠、东方不败、Cheat Engine、变速齿轮等游戏修改器陆续出现。

图3 Cheat Engine修改器截图
2002年左右,传奇、石器时代等网络游戏开始进入国内游戏市场,此时市面上开始出现了针对网络游戏的游戏修改器,即我们俗称的“外挂”正式登场。

图4 网游《石器时代》外挂截图
随着游戏行业的发展,目前市面上的外挂除了软件形式,已经发展出了物理(硬件)外挂,尤其是在FPS(第一人称射击游戏)和TPS(第三人称射击游戏)更是物理外挂的“重灾区”。

图5 物理外挂宣传海报
(二)外挂的工作原理
虽然目前市面上的游戏外挂的种类繁多,但是其工作原理主要遵循以下几个方面:
1.内存修改
(1)方法:通过内存编辑工具(如 Cheat Engine),外挂可以实时扫描和修改游戏运行时的内存数据,改变角色属性(如生命值、金币等)。
(2)原理:当游戏运行时,其数据会存储在内存中,通过查找特定内存地址并修改数值来实现效果。
2.DLL注入
(1)方法:外挂将一个动态链接库(DLL)注入到游戏的进程中,以控制或改变游戏行为。
(2)原理:通过Windows API(如 CreateRemoteThread 和 LoadLibrary),外挂能够在游戏运行时执行自定义代码,改变游戏内的函数调用。
3.代码钩子(API Hooking)
(1)方法:外挂可以通过钩子技术拦截和修改游戏的API调用,从而改变游戏的功能。
(2)原理:通过改变特定函数的地址,外部代码可以在游戏调用该函数前或后运行,能够实现效果例如修改游戏逻辑。
4.数据包捕获与修改
(1)方法:在网络游戏中,外挂可以使用数据包捕获工具(如 Wireshark)来捕获游戏与服务器之间的通信数据。
(2)原理:分析并修改数据包内容后再发送到服务器,从而达到伪造位置或状态的目的。
5.修改游戏文件
(1)方法:某些外挂直接修改游戏的配置文件或资源文件。
(2)原理:通过编辑特定的配置文件(如INI、XML),从而改变游戏内的参数或预设(例如武器属性、角色模型等)。
6.使用第三方库或框架
(1)方法:外挂可能利用一些第三方开发的库(如 EasyX、DirectX)来实现图形显示或者输入读取。
(2)原理:通过调用这些库的功能,在游戏中实现更复杂的渲染或操作。
7.反向工程
(1)方法:通过反编译工具(如 IDA Pro、Ghidra)分析游戏的二进制代码,了解游戏的实现逻辑。
(2)原理:通过查找特定的功能实现方法,外挂可以编写代码来绕过游戏的保护机制。
8.物理外挂
(1)方法:通过特定的硬件设备(如外挂盒、输入增强设备等),直接修改游戏信号或输入数据,从而实现游戏中的作弊功能。
(2)原理:利用物理外挂的电路设计,将游戏控制器的输入信号进行实时处理和修改,或者直接监控游戏数据传输,改变玩家的输入行为,使其在游戏中获得不公平的优势。例如,通过延迟输入信号或提高反应速度,外挂能够让玩家在竞技场景中表现得更为出色。由于这些操作发生在硬件层面,可以绕过大部分软件监测和防作弊系统,从而实现隐秘作弊。
(三)常见的外挂功能
1.自瞄
(1)功能:自动瞄准敌人,减少射击时的误差。
(2)应用:常见于射击类游戏,能够让玩家更容易击中目标。
2.透视
(1)功能:允许玩家穿透墙壁、障碍物,看见隐藏的敌人。
(2)应用:在射击和战术类游戏中广泛使用,有助于获取对手的位置。
3.无限弹药/无限生命
(1)功能:让玩家获得无限的弹药或生命值,不受游戏机制限制。
(2)应用:用于单人游戏或某些在线游戏中,提升生存能力。
4.速度
(1)功能:增加角色在游戏中的移动速度。
(2)应用:在地图探索、战斗等方面提供优势。
5.数据修改
(1)功能:通过程序界面修改游戏中的各种参数,例如金钱、经验值等。
(2)应用:常见于单机游戏,玩家可以自定义自己的游戏体验。
6.宏
(1)功能:通过设置预置指令,执行复杂的操作组合。
(2)应用:在需要快速操作的游戏中,可以提高操作效率。
7.脚本
(1)功能:利用脚本编写满足特定需求的自动化操作,如自动打怪、自动拾取物品等。
(2)应用:多用于角色扮演类游戏(RPG)和多人在线游戏(MMO)。
8.调整分辨率/增加视距
(1)功能:通过降低游戏分辨率或修改图形设置,提升游戏帧数、响应速度和玩家视距。
(2)应用:在竞技类游戏中,帮助玩家获得更流畅的游戏体验、更早获取关键信息。
二、什么是游戏代码安全
(一)游戏代码的知识产权
游戏代码是开发者的重要创意成果,具备高度的知识产权价值。它不仅包含了开发者多年的技术积累和创新,还凝聚了无数心血和时间。因此,游戏代码受到版权和其他知识产权法律的保护。未经授权的复制、修改和分发游戏代码,都是对开发者权益的严重侵犯。这种行为不仅违法,还会对开发者的创作热情和未来的产品研发造成负面影响。保护游戏代码的知识产权,就是保护开发者的劳动成果和创新动力。尤其是在竞争激烈的游戏市场,独特的代码和编程技巧往往是一个游戏能否脱颖而出的关键所在。而这些代码一旦被复制或篡改,不仅会导致开发者的商业利益受损,还可能影响他们的市场声誉和用户信任。
(二)代码安全的重要性
代码安全是指保护游戏代码免受未授权访问、篡改和复制,确保游戏的完整性和安全性。对于游戏开发者来说,代码安全至关重要,这不仅是为了保护其商业利益,也是为了维护游戏的公平性和用户体验。代码安全的意义体现在多个方面:
1.保护开发者利益
代码安全直接关系到开发者的收入和商业利益。一旦游戏代码被破解和篡改,外挂泛滥,开发者的收入将受到严重影响。外挂不仅能够破坏游戏的平衡性和玩家体验,还可能导致大量玩家流失,从而严重影响游戏的声誉和盈利能力。对于依赖内购和订阅的游戏来说,代码安全更是至关重要。如果玩家发现他们所购买的虚拟物品和权益因外挂而变得毫无意义,他们很可能会选择离开这个游戏,甚至对开发者产生不信任感。
2.保障游戏公平性
代码安全是确保游戏公平性的重要手段。通过保护代码安全,可以有效防止外挂的出现,维护游戏的正常秩序,使所有玩家能够在一个公平的环境中进行游戏。这不仅提高了玩家的满意度和忠诚度,也有助于建立健康的游戏社区。反之,外挂的泛滥会导致游戏环境的恶化,使那些遵循规则的玩家感到挫败,从而影响游戏的用户群体和市场口碑。
3.预防金钱损失
一旦游戏代码被破解,不法分子可能会利用这些漏洞进行各种欺诈行为,包括盗取玩家账户信息、虚拟财产,以及进行非法交易等。这些行为不仅会直接导致玩家和开发者的经济损失,还可能引发法律纠纷,导致公司形象受损。在某些极端情况下,黑客甚至可能通过植入恶意代码来控制玩家设备,进一步扩大对用户隐私和数据安全的威胁。
4.提升用户信任度
在当今的信息化社会,用户对数据和隐私的安全性格外敏感。如果玩家了解到他们的个人信息和游戏数据在使用某款游戏时是安全的,他们会更加信任这款游戏和它的开发者。这种信任不仅有助于提升玩家的忠诚度,还能吸引更多的新用户。而这正是代码安全所能带来的长远利益。
5.防止知识产权泄露
保护游戏代码免受盗窃和未经授权的复制,是保护知识产权的重要手段。代码安全可以有效防止竞争对手通过逆向工程或其他手段窃取开发者的代码和创意,从而保护公司在市场中的竞争优势。这对创新和持续发展尤为重要,确保开发者能够不断推出高质量、有创意的游戏产品。
6.推动游戏技术进步
高水平的代码安全措施往往需要开发者具备扎实的技术功底和创新能力。在应对各种安全挑战的过程中,开发者可以积累宝贵的经验,进一步提升团队的技术水平和创新能力。这不仅有助于开发更安全、更高质量的游戏,也能推动整个行业的技术进步。
三、游戏外挂对代码安全的威胁
(一)对游戏公正性的影响
游戏外挂的存在,严重破坏了游戏的公平性。公平竞争是电子游戏,尤其是网络游戏、竞技类游戏吸引玩家的重要因素之一,通过公平竞争,每个玩家都有机会通过自己的努力和智慧获得胜利。然而,外挂的存在使少数玩家通过非法手段获得不正当的优势,破坏了游戏的平衡性。正常玩家在面对外挂用户时,往往会感到无力和挫败,逐渐失去对游戏的兴趣,最终可能选择退出游戏。这不仅影响了玩家的体验,也对游戏的社区建设和长远发展产生了负面影响。
(二)对开发者权益的侵害
外挂对开发者来说无异于巨大的经济损失。开发者花费大量时间和资源来设计和开发游戏,希望通过玩家的付费来获得回报。然而,外挂的存在使得一些玩家能够通过非法手段获取本应通过付费或辛勤努力才能获得的游戏资源。这直接损害了开发者的收入。此外,外挂泛滥还可能导致正当玩家流失,进一步削弱了游戏的吸引力和生命周期。开发者的声誉也会受到影响,因为外挂问题如果得不到有效解决,玩家可能会认为游戏方对其利益不够重视,从而降低对游戏的忠诚度和信任度。
(三)市场环境的恶化
外挂问题如果得不到有效遏制,整个游戏市场环境将会恶化。外挂开发者通过出售外挂软件获利,这种行为不仅非法,也破坏了市场的正常秩序。一些游戏可能因为外挂问题而被迫关闭,造成行业的不良氛围。长此以往,玩家对于整个行业的信任度将大幅下降,许多优秀的游戏可能因为外挂问题而流失大量玩家,整个游戏生态会因此受到严重损害。

四、司法鉴定的作用
(一)司法鉴定对游戏外挂的意义
司法鉴定是一种法律程序,其目的是通过专业技术手段,对特定事件或物品进行科学分析,并提供公正、客观的结论。司法鉴定在游戏外挂问题上的应用,旨在通过科技手段确认外挂的存在及其性质,为法律裁定提供有力的证据。
在数字化和信息化高度发展的今天,电子游戏逐渐成为一个高度技术化的领域。外挂开发者往往也是技术高超的人,他们利用各种技术手段规避检测和封禁。这使得外挂的检测和取证变得异常困难。在这样复杂的技术背景下,司法鉴定的重要性尤为突显。通过司法鉴定,可以科学地确认外挂的存在,分析其工作原理,评估其对游戏的破坏程度,从而为法律裁定提供权威依据。
(二)外挂案件中的鉴定流程
外挂案件的司法鉴定流程,一般包括以下几个步骤:
1.样本收集
第一步是从游戏环境中提取涉嫌外挂的相关数据和软件。这一步可以通过多种方式进行,如从玩家的设备中提取可疑软件,或者在游戏运行过程中捕获异常数据。
2.技术分析
司法鉴定机构会使用一系列的技术手段对收集到的样本进行详细分析。分析内容通常包括外挂的功能、实现方法、数据篡改方式等。
3.结果报告
在分析结束后,司法鉴定机构会汇总分析结果,编写详细的鉴定报告。这份报告会详细描述外挂的功能和工作原理,并评估外挂对游戏平衡性的破坏程度。
(三)鉴定的目的
司法鉴定的主要目的是通过科学手段确认外挂的存在及其具体影响,为法律裁定提供客观、公正的证据。具体来说,其目的是:
1.确认外挂的存在
通过技术手段确认某个软件是否外挂,以及其具体功能和工作原理。
2.评估对游戏的影响
通过分析外挂的功能和工作原理,评估其对游戏平衡性、公正性和玩家体验的影响。
3.保护开发者权益
通过提供详细的鉴定报告,为开发者提供法律依据,帮助其追究外挂开发者和使用者的法律责任。
(四)鉴定的技术手段与方法
在实践中,司法鉴定机构常常采用多种技术手段来确认外挂的存在及其工作原理。这些技术手段主要有:
1.反向工程
通过还原外挂软件的源代码,从中分析其具体实现方式和工作原理。反向工程是一种非常有效的技术手段,能够深入了解外挂的内部结构和功能。
2.内存分析
检查游戏运行时的内存内容,寻找外挂篡改数据的痕迹。内存分析可以帮助确认外挂通过修改内存数据实现功能的方式,例如,通过修改内存中的生命值数据实现无限生命。
3.数据包捕获
记录客户端与服务器之间传输的数据流,查找异常数据包。数据包捕获可以帮助确认外挂是否通过篡改数据包实现作弊功能,例如,通过修改数据包中的位置数据实现瞬移。
(五)经典案例
案例1
2021年9月3日,上海杨浦法院微信公众号发布了名为《生产、销售《和平精英》作弊外挂,法院作出全链条覆盖的诉中禁令》的文章(https://mp.weixin.qq.com/s/jGnoRvjisi0hkSkTKdFRMA),该案是我国首例“物理外挂”知识产权侵权案件。参与该案的鉴定专家评价道:“软件类的外挂比较容易判定,而硬件类的外挂却很难判定,这是国内首起游戏公司起诉外设厂商的案件,诉讼中迫切需要这个鉴定结果,但当时还没有鉴定机构进行过此类鉴定……”最终经过反复检测,确定了每一把枪在开挂和不开挂情况下的平均射速,其中一款外挂开挂后5.54秒可以打完一匣,另一款外挂开挂后只要3.8秒,而不开外挂则需要7.8秒才可以打完一匣。法院根据鉴定机构的鉴定结论认为“该产品有干扰涉案游戏正常运营,妨碍以用户体验、公平竞技为核心的涉案游戏产品服务功能实现的可能性,且两被申请人有攀附涉案游戏知名度的主观故意,不采取行为保全措施会使申请人的合法权益受到难以弥补的损害”。最终判决该“物理外挂”的生产商立即停止生产、销售。
案例点评:
本案的难点在于不同于传统的外挂,本次需要鉴定的是一种新型外挂——物理外挂。涉案的两款“物理外挂”都是以游戏手柄的形式存在的。这两款外挂可以利用预设高频脉冲信号,模拟人手触摸手机屏所产生的信号,以达到快速触屏点击效果。鉴定人员需要在其他条件完全相同的情况下,在游戏中通过检验在使用外挂和不使用外挂的情况下的差异进行判定。
案例2
2023年8月7日,检察日报刊登了名为《想人生“开挂” 竟卖游戏“外挂”》的新闻(http://newspaper.jcrb.com/2023/20230807/20230807_004/20230807_004_1.htm),文中写道:“……承办该案的检察官徐忠义全程参与该案办理,引导公安机关明确侦查思路,重点围绕外挂运行原理、外挂黑色产业链运作机制等进行侦查取证……经过研究,徐忠义认为准确定性案件的关键在于要把‘鸡腿’外挂的运行原理与实际产生的影响研究清楚。于是在案件侦查环节,他建议公安机关对涉案外挂的4个版本进行全面鉴定。司法鉴定中心出具的鉴定报告显示,‘鸡腿’外挂避开游戏公司采取的安全保护措施,未经授权直接获取、修改游戏内存数据,对游戏的正常操作、正常运行造成了干扰,属于破坏性程序……”
案例点评:
从新闻中可以明显看出,鉴定机构通过细致的技术分析,确立了外挂在游戏中实施作弊的具体机制。这一过程涉及对外挂程序的逆向工程和行为分析,以揭示其如何绕过游戏公司的安全策略,以及其对游戏内平衡造成的具体影响。通过对外挂代码的审查和执行路径的追踪,鉴定机构构建了一个详实且具有法律效力的证据链。
从前述的两个案例中,我们可以看出:鉴定机构的鉴定意见不仅为案件的进一步侦查和检控提供了基础,同时也为司法机关做出公正裁定奠定了坚实的基础。在鉴别出作弊行为的性质与程度后,司法机关利用这些证据,采取了迅速且有效的法律措施,强有力地打击了外挂行为,彰显了对网络游戏公平性的高度重视。这种法治行动不仅维护了游戏玩家的合法权益,也对行业内的作弊行为形成了有力震慑,促进了健康的游戏生态环境的形成,为构建公平的网络环境奠定了重要基础。
当然,对于具体的案件而言,还需要权利人针对不同的侵权行为,采取不同的维权策略,如:《刑法》第二百八十六条破坏计算机信息系统罪,《刑法》第二百一十七条侵犯著作权罪,《刑法》第二百一十九条侵犯商业秘密罪等,需要权利人明确保护的客体,采取相应的策略,鉴定方法也需要做相应的调整。
结语
在当今游戏行业快速发展的背景下,外挂问题已经成为一个不容忽视的问题。外挂不仅破坏了游戏的公平性和玩家的游戏体验,还对游戏开发者的合法权益造成了严重的侵害。司法鉴定作为一种科学、客观的技术手段,是打击游戏外挂不可或缺的重要工具。针对不同的侵权行为,采取相应的司法鉴定,可以有效确认外挂的存在和工作原理,为法律裁定提供有力的证据,帮助保护开发者的知识产权,维护游戏的公平性和安全性。
在外挂技术不断进化的背景下,司法鉴定面临着巨大的挑战。外挂开发者往往具有极高的技术水平,他们利用各种技术手段规避检测和封禁,使得外挂的检测和取证变得异常困难。与此同时,新技术的出现使得法律和司法鉴定的适用范围和方法需要不断更新。因此,司法鉴定机构需要不断更新技术手段、提升鉴定能力,以应对日益复杂的外挂行为。然而除了法律手段的完善和行业规范的提升,更重要的还需要广大游戏玩家的积极参与,玩家是游戏社区的重要组成部分。通过加强玩家的法律意识和游戏道德教育,可以在根本上减少外挂的使用。
作者简介:
曾子洋,西知鉴知识产权鉴定评估(重庆)有限公司鉴定助理


