醉风月 - 第61章:外挂原理

上一章 目录 下一章
    !go老赵刚才提到的外挂一词也激起了孙轶民的好奇。关于游戏外挂,自打孙轶民进入公司与老赵共事以来,通过耳濡目染也大致有个概念上的了解。毕竟老赵的岗位负责了《天问》工程的服务器安全这一块。
    但是关于外挂概念的具体细节,他并不是特别清楚。此时便好奇跟老赵打听了起来:“你给我科普一下看,游戏外挂具体是如何工作的?篡改服务器上的数据吗?”
    “严格上说确实是这样,”老赵解释道,“外挂程序准确的定义指通过修改游戏数据而为玩家谋取利益的作弊程序或软件。对于网游来说,它就是那种通过非法手段篡改服务器数据的软件。从本质上讲,她就是一种黑客攻击软件,是非法的。但是这种程序只存在于网游刚刚流行的那个时代。如今随着网游安全技术的不断提升,这样的外挂程序基本上不存在。”
    “哦?是吗?”孙轶民一脸疑惑的望着老赵。
    老赵慢条斯理的继续解释道:“现在市面上流传的大多数所谓外挂,其实根本不算真正意义上的外挂,它顶多只能叫做游戏辅助程序。因为它不能篡改服务器数据,也不会对服务器造成损害或增加额外的负担。它的作用是帮助玩家提高游戏操作的效率,速度,从而占据优势。比如说某些辅助程序利用游戏设计上的漏洞投机取巧的,可以实现玩家角色穿墙,瞬间移动等等超能力。还有一些呢可以代替玩家手动操作,从而提高角色的行动速度与精准性
    ,等等。这些辅助程序一定程度上造成了对其他玩家的不公平,因此作为网游运营者来说,对此还是要反对与杜绝的。”
    孙轶民琢磨了老赵这一番话,大致明白了其中的含义。想来,自己近日在计划着手制作的一个可以在醉风月中操作他的霸王角色自动战斗的程序,也并不属于什么非法外挂,而是一种辅助程序而已。
    因为孙轶民根本没有想过要去黑游戏服务器或者篡改数据,他只是希望借助这一辅助程序来提升操作速度与战斗效率。
    但是这个工程他目前只完成了一小部分——用程序代替手指自动按键,剩余关键部分(即通过程序解读游戏数据从而对角色战斗状态做出判断,进而自动做出决策的功能)如何实现,他还没开始好好琢磨。
    今日是个不错的机会,他想借此好好请教一下老赵,看看是否能在技术方面获得一些帮助。
    “那你能不能说说,现在那种游戏辅助程序,具体是如何工作的呢?”孙轶民问。
    “目前的辅助程序分三种,”老赵重新坐了下来点上烟,缓缓吐出一口深灰色的烟气之后,他解释道:“其中第一种是最原始的模拟按键程序,这种工作原理很简单,无非是用程序向游戏窗口传送虚假的按键信息,从而代替手工按键。它不能解读从游戏服务器返回的信息从而判断游戏角色自身的状态与各种属性数值,只能傻乎乎的按照设定好的顺序发送虚拟按键,仅此而已。说白了,他的作弊效果非常有限,对游戏造成的不公平性也不大。对于这
    种,我们一般都不太去管。”
    孙轶民暗想,这种辅助程序功能确实连菜鸟程序员都会都会,自己昨晚就做出来了。然而对于他的远大目标来说,这并没什么卵用。
    “那第二种呢?”孙轶民问。
    “另一种就比较高端了,技术含量也比较高。它可以解读游戏客户端接收到的数据,或者从客户端程序虚存中读取各种游戏数据,然后从这些数据中解译出各种游戏信息,比如角色当前的生命值,技能冷却状态,自己的增益或受控状态等等。然后根据这些信息,让程序操纵游戏角色随机应变,作出相应的动作或操作。”
    “第三种呢?”孙问。【请到17k阅读㊣版】
    “就是利用游戏漏洞,向服务器发送虚假的非法数据实现角色穿墙瞬移等等超能力,这种就需要比较高超的技术了。首先他必须具备制作第二种程序的能力了,在此基础上他还能善于发现游戏设计的漏洞加以利用。”
    “那么外挂程序如何操纵角色动作?”孙问。
    “有些外挂可以伪造数据报发送给服务器,从而可以取代游戏的客户端直接操作角色行动。但是这种制作难度高,而且很容易被发现,一旦被发现角色就容易被封号。所以现在大多数的外挂都是通过向游戏发送模拟的按键信息
    来驱动角色的动作,也就是说,客户端必须存在。对于这种就比较难被监测到了。”
    “那你们是如何防范这些外挂作弊的呢?”孙轶民用右手柱起脑袋,望着老赵,好奇的问。
    对此,老赵耐心的解释了一番:“对于第三种,主要是修补系统漏洞。一般来说我们的工作基本上可以让这些外挂生存很短时间。对于第二种,最关键的措施就是对于传输的数据进行加密了,加密方式越高级越安全。就现在而言,基本上没人能够破解这种传输方式的,所以,这种外挂的制作难度非常高。对于第一种的话,只能从客户端着手,让客户端程序检测收到的按键信息是否虚构,但这个其实很难预防,因为聪明的程序员完全可以把窗口消息
    模拟的真假难辨。不过我们还有另外一种方法,那就是扫描客户端所在电脑的进程列表,找出市面上常见的那种按键外挂的进程名称,上报给服务器就行了。”
    “加密?难道以前的游戏都是明码传输数据的?”孙问。
    “嗯。以前的网游数据传送方式基本不加密,或者加密方式非常简单,很容易被人破解,所以导致辅助程序泛滥。但现在情况不一样了。它在数据传输方面采用了更复杂更强壮的加密方式,因此你想通过解读数据报来获取游戏数值是难上加难,更别说想通过程序向服务器发送模拟的游戏数据了。”
    “那可以通过锁定关键数值的虚存地址,也可以随时获取数据啊?”孙轶民脱口而出。
    “虚存中存储的游戏数据也是经过加密转换的,不知道加密方式,你根本就没办法去分析,还谈什么获取地址?”老赵笑道。
    孙轶民愕然。思索良久,又想到了一点,问道:“其实除了解读数据报和分析虚存地址,还有一种方法也可以获取数据,那就是通过子窗口句柄。比如说,我想让程序获取我的角色身上携带的金币数量,那么我可以先锁定包裹界面的子窗口句柄,然后通过句柄号调用api函数,就可以获取此子窗口上的任何数据。不是么?”
    “呵呵,你能想到的,我们反外挂部门都想到了。构建客户端界面采用windows子窗口?那是老古董的网游设计师的做法了。现在的网游界面除了一个主窗口,在其内部没有任何一个子窗口。所有的对话框,文本框,都是采用gdi函数画出来的,明白么?唯一你能得到的,是游戏主窗口的句柄号,但那没有任何意义。”
    原本对于制作战斗辅助程序信心满怀的孙轶民,此时忽然遭到了沉重的打击。可以想见,醉风月的运营方,肯定也做了这样的防范措施。看来自己的宏大目标只能停留在构想状态了,根本无法付诸实施。
    而老赵的总结也从侧面证实了这一点:“事实上通过采取这些防范措施,现在市面上真正牛逼的网游辅助程序已经很少见。现在市面上有的辅助程序,无非就是一些按键精灵之类的软件,虽然有些先进一些可以自助写按键脚本,但本质上还是盲人摸象类型的。没什么用的。”
    孙轶民点了点头。沉默了一会儿,抬起头问道:“按你刚才所说的,如果一个懂得编程的玩家,自己设计一款自己专用的辅助软件,不在市面上流传,对于你们来说,还是很难发现它的。”
    “这是没错。但这无关紧要。如果只是一个玩家再用,对游戏整体上影响不大。也没必要去管。”老赵说道,“但问题是,你很难开发出那样的程序来。因为制作这种程序的关键就在于解读数据,而现在所有的网游都采用了超级复杂的加密方式和长密码,几乎无法破解。即便是我本人,你叫我去破解另一个游戏的密码,即便我懂得那些原理,但还是很难破解。”
    孙轶民点了点头。
    此时老赵仰起头一脸好奇的望着孙轶民,问道:“咦,你问那么多做什么?难道你也要做外挂?”
    孙轶民笑掩饰:“纯属好奇。”
    老赵起身掐灭了烟蒂,提起公文包离开了。孙轶民也收拾了一下,带着一些失落的情绪,步出了办公室。
    但此时,他心中人有些不服与不甘。他想:“回家我再试试,或许事情并没有老赵说的这么难。”
    出门的时候,再次碰到了黎允儿,站在公司大门口似乎在等人。没多久,远处一个头发染成爆炸式红色看不清楚容颜的瘦弱男子,骑着一辆摩托出来到停车场中,抬头望这边忘了一眼。摆了个奇异的手势。
    黎允儿随机兴冲冲的跑去,跨上摩托车后座,绝尘而去。
    孙轶民看得一脸讶异,问老赵:“这谁啊?”
    “他男朋友啊,好像是刚换的。”老赵不假思索道。
    “这小小年纪的小屁孩谈什么男朋友,现在的女孩子啊,真是不可思议”孙轶民感慨道。
    “小孩的世界咱们理解不了,有代沟正常呢。我家那女儿在学校有了喜欢的小男生了”老赵笑道。
    “你女儿几年级。”孙问。
    “六年级,小学。”
    !over

添加书签

搜索的提交是按输入法界面上的确定/提交/前进键的

上一章 目录 下一章