游戏是怎么反外挂呢? 大型游戏的反外挂手段是什么?
\u6e38\u620f\u7684\u53cd\u5916\u6302\u63aa\u65bd\u662f\u4ec0\u4e48\uff1f\u91c7\u7528\u817e\u8baf\u6e38\u620f\u5b89\u5168\u670d\u52a1\uff0c\u5ea7\u4f4d\u53cd\u5916\u6302\u63aa\u65bd\u7684\u6e38\u620f\u65b9\u6bd4\u8f83\u591a\u3002\u5728\u5916\u6302\u5bf9\u6297\u65f6\u6548\u548c\u6280\u672f\u66f4\u65b0\u4e0a\uff0c\u4e5f\u6ca1\u6709\u4ee4\u4eba\u5931\u671b\u3002
\u5916\u6302\uff08w\u00e0i gu\u00e0\uff09\uff0c\u53c8\u53eb\u5f00\u6302\u3001\u5f00\u5916\u6302\u3001\u8f85\u52a9\u3001\u7b2c\u4e09\u65b9\u8f85\u52a9\u8f6f\u4ef6\uff0c\u7efc\u5408\u67d0\u4e9b\u4fee\u6539\u5668\u7684\u529f\u80fd\u8fdb\u884c\u7f16\u7a0b\u51fa\u7684\u6e38\u620f\u4fee\u6539\u5668\u3002
\u4e00\u822c\u6307\u901a\u8fc7\u4fee\u6539\u6e38\u620f\u6570\u636e\u800c\u4e3a\u73a9\u5bb6\u8c0b\u53d6\u5229\u76ca\u7684\u4f5c\u5f0a\u7a0b\u5e8f\u6216\u8f6f\u4ef6\uff0c\u5373\u5229\u7528\u7535\u8111\u6280\u672f\u9488\u5bf9\u4e00\u4e2a\u6216\u591a\u4e2a\u8f6f\u4ef6\u8fdb\u884c\u975e\u539f\u8bbe\u64cd\u4f5c\uff0c\u7be1\u6539\u6e38\u620f\u539f\u672c\u6b63\u5e38\u7684\u8bbe\u5b9a\u548c\u89c4\u5219\uff0c\u5927\u5e45\u589e\u5f3a\u6e38\u620f\u89d2\u8272\u7684\u6280\u80fd\u548c\u8d85\u8d8a\u5e38\u89c4\u7684\u80fd\u529b\uff0c\u4ece\u800c\u8fbe\u5230\u8f7b\u677e\u83b7\u53d6\u80dc\u5229\u3001\u5956\u52b1\u548c\u5feb\u611f\u7684\u597d\u5904\uff0c\u901a\u8fc7\u6539\u53d8\u8f6f\u4ef6\u7684\u90e8\u5206\u7a0b\u5e8f\u5236\u4f5c\u800c\u6210\u7684\u4f5c\u5f0a\u7a0b\u5e8f\u3002
\u4e3b\u8981\u5e94\u7528\u539f\u7406\u662f\u5728\u6e38\u620f\u4e2d\u7528\u5c01\u5305\u548c\u6293\u5305\u5de5\u5177\u5bf9\u6e38\u620f\u672c\u8eab\u6216\u6e38\u620f\u670d\u52a1\u5668\u63d0\u4ea4\u5047\u53c2\u6570\u4ece\u800c\u6539\u53d8\u6e38\u620f\u4e2d\u7684\u4eba\u7269\u80fd\u529b\u3002 \u4f7f\u7528\u5916\u6302\u5177\u6709\u4e00\u5b9a\u98ce\u9669\uff0c\u7279\u522b\u662f\u5728\u975e\u5355\u673a\u6e38\u620f\u4e2d\u4f7f\u7528\u7834\u574f\u6e38\u620f\u516c\u5e73\u6027\u7684\u5916\u6302\uff0c\u53ef\u80fd\u8fd8\u4f1a\u88ab\u5c01\u7981\u8d26\u53f7\u3002
\u5916\u6302\u4e5f\u6307\u5355\u4f4d\u5f62\u7684\u4f5c\u6218\u6b66\u5668\u7cfb\u7edf\u5728\u5176\u539f\u672c\u7684\u4f5c\u6218\u5355\u4f4d\u4e0a\u6dfb\u52a0\u9644\u52a0\u7684\u7528\u4e8e\u8f85\u52a9\u4f5c\u6218\u5355\u4f4d\u4f5c\u6218\u7684\u5de5\u5177\u3001\u5668\u5177\u3002
\u5916\u6302\u4f1a\u9020\u6210\u7f51\u7edc\u6e38\u620f\u7684\u6781\u5ea6\u4e0d\u516c\u5e73\uff0c\u540c\u65f6\u9020\u6210\u670d\u52a1\u5668\u7aef\u7684\u5783\u573e\u6570\u636e\u589e\u591a\uff08\u8fd9\u901a\u5e38\u662f\u56e0\u4e3a\u5916\u6302\u8f6f\u4ef6\u5f00\u53d1\u8005\u6ca1\u6709\u638c\u63e1\u670d\u52a1\u5668\u7aef\u7684\u6280\u672f\u800c\u9020\u6210\u7684\uff09\uff0c\u800c\u4e14\u7531\u4e8e\u4f7f\u7528\u5916\u6302\u8005\u5927\u591a\u4e0d\u7528\u5728\u7535\u8111\u524d\u52a0\u4ee5\u63a7\u5236\uff0c\u800c\u4ee4\u73a9\u5bb6\u957f\u671f\u5904\u4e8e\u201c\u6302\u673a\u201d\u72b6\u6001\uff0c\u670d\u52a1\u5668\u9700\u8981\u4f7f\u7528\u66f4\u591a\u8d44\u6e90\u6765\u5904\u7406\u8fd9\u4e9b\u5e76\u975e\u7531\u4eba\u63a7\u5236\u7684\u89d2\u8272\u3002
\u4ee4\u5230\u670d\u52a1\u5668\u7aef\u7684\u5de5\u4f5c\u91cf\u6fc0\u589e\uff0c\u7f51\u7edc\u6e38\u620f\u8fd0\u8425\u5546\u9700\u8981\u6253\u5f00\u66f4\u591a\u670d\u52a1\u5668\u6765\u5904\u7406\u8fd9\u6279\u89d2\u8272\uff0c\u800c\u4f7f\u6210\u672c\u589e\u52a0\u3002\uff08\u90fd\u6709\u53ef\u80fd\u4ee4\u5176\u4ed6\u73a9\u5bb6\u6e38\u620f\u753b\u9762\u6216\u901f\u5ea6\u51cf\u6162\uff09
\u4e00\u4e9b\u53d7\u6b22\u8fce\u7f51\u7edc\u6e38\u620f\u5c31\u4f1a\u6709\u201c\u4e13\u4e1a\u201d\u7684\u5916\u6302\u3002\u4e00\u4e9b\u6bd4\u8f83\u5c11\u73a9\u5bb6\u7684\u7f51\u7edc\u6e38\u620f\u901a\u5e38\u90fd\u6ca1\u6709\u201c\u4e13\u4e1a\u201d\u7684\u5916\u6302\uff0c\u56e0\u6b64\uff0c\u5916\u6302\u7684\u591a\u5c11\u53ef\u4ee5\u4f5c\u4e3a\u4e00\u4e2a\u7f51\u7edc\u6e38\u620f\u53d7\u6b22\u8fce\u7a0b\u5ea6\u7684\u6307\u9488\u3002
\u7cfb\u7edf\u68c0\u6d4b\u52a0\u4eba\u5de5\u8bc6\u522b\u3002\u5bf9\u4e00\u4e9b\u4e00\u822c\u7684\u5916\u6302\u53cd\u4f5c\u5f0a\u7cfb\u7edf\u53ef\u4ee5\u8bc6\u522b\u51fa\u6765\uff0c\u5bf9\u90a3\u79cd\u53cd\u68c0\u6d4b\u6bd4\u8f83\u5f3a\u7684\u5916\u6302\uff0c\u5c31\u7531\u73a9\u5bb6\u622a\u5c4f\u5f55\u50cf\u4e3e\u62a5\uff0c\u7136\u540e\u4eba\u5de5\u8bc6\u522b\u67e5\u5c01
首先我们科普一下外挂的定义(自己总结非官方):能够修改目标程序原有的行为或数据的第三方程序。其中最常见的目标程序就是网络游戏客户端。一直以来,网络游戏开发商以及运营商与外挂开发者之间的对抗,从未停止过。正所谓,八仙过海各显神通。在对抗的过程当中,双方都有一定的收益,在利益的驱使下,双方都竭尽所能使用更高端的技术完成攻与防的内容。
正所谓,知己知彼百战百胜。我们作为专业的反外挂开发商,非常有必要了解各种常见游戏外挂所采用的技术。只有知道了他们的原理,我们才能想出对抗外挂的技术方法。下面列出我们在十数载反外挂研究中发现的外挂技术种类(不全之处,还望补充)。
一.脱机类外挂
在游戏开发过程中,每款游戏的客户端与服务端都会有固定的通信格式,大部分游戏通信协议位于TCP层之上,自定义的数据结构,外挂开发者们称此为封包。下面简单列举一个简单的打斗封包,以方便说明脱机类外挂原理。
0000ABCD 0000DCBA 00001234 00001000
例如玩家1在与玩家2打斗过程中,发送到服务器这样一个16字节的数据包,其中游戏开发者定义此数据包含义如下:
0000ABCD:玩家1的ID。
0000DCBA:玩家2的ID。
00001234:玩家1所使用的技能编号。
00001000:玩家1对玩家2造成的伤害,转换为十进制为:4096。
当服务器接收到此数据包时,则会将玩家2的血量减少4096点,如果玩家血量减少后小于等于0,则判定为玩家2已经阵亡。这时服务器会返回给玩家2的客户端一个数据包,玩家2的客户端则播放一个玩家2已经死亡的动画。
以上逻辑,其实存在着大量的漏洞,比如说,服务器应该判定玩家上一次释放00001234号技能是否在冷却时间内,再比如说,服务器应该判定玩家战斗过程中所造成的伤害是否与其装备、法力值、攻击力、暴击等相吻合,是否超过了游戏本身限制的最大伤害。类似这种漏洞,每一款游戏都会存在,只不过不会这么明显。一些老游戏在这方面做的相对较弱,所以漏洞更多。
另外,在游戏开发过程中,数据通信的格式在游戏开发商的公司中都有相关文档明确定义的。而这些文档非常机密。一些游戏开发商公司的安全做的不够好的情况下,可能会造成游戏代码以及文档的泄露。这些资料,一旦流入外挂开发者手中,那么这款游戏就极有可能会出现脱机式外挂。
脱机外挂定义:在不开启游戏客户端的情况下,第三方程序直接与游戏服务器进行通信,模拟账号登陆验证、选择角色、进入游戏、进入场景、开始战斗、对怪物造成伤害等操作时的合法数据包,发送给服务器,而服务器是没有能力判断出这些包是否是客户端发来的,即便有验证手段,由于源码已经泄露,外挂开发者可以轻而易举的模拟出服务端的各种验证机制。即便数据包传送过程中是加密的,由于源码外漏,外挂开发者一样可以正确模拟出数据包的加密方式。
对于这种类型的外挂,常见的屏蔽手段就是修改加密方式,使得脱机外挂发送过来的数据包,服务端无法解析,或者解析出的结果是错误的,而服务端发现客户端发送错误的数据包时,则断开连接。此方法,需要客户端与服务端同步更新。改动较大。
还有一种常见方法,是在客户端中嵌入一些验证性代码,与另外一个专门负责验证的服务端通信,客户端必须正确作答后,服务端方可认为是合法客户端发来的数据包。此类反外挂方式,我们也会经常见到,比如一些游戏中为防止挂机行为而加入的答题机制。
方法不少,看你用哪种?我用的是腾讯游戏安全服务,有丰富对抗样本库和反外挂控制平台对抗策略,快速应对通用型外挂的安全问题。
绛旓細2. 濡備綍瑙e皝PAC灏佺锛烶AC灏佺鐩稿杈冭交锛屼粎褰卞搷鍦ㄥ畬缇庝笘鐣屽鎴樺钩鍙颁笂鐨娓告垙锛屼笉浼氬奖鍝嶅叾浠栧钩鍙版垨瀹樻柟鍖归厤娓告垙銆傝В灏丳AC灏佺閫氬父闇瑕佺帺瀹堕伒寰钩鍙扮殑鎯╃綒瑙勫畾锛岀瓑寰呭皝绂佹湡婊″悗鑷姩瑙e皝銆3. 瀹岀編涓栫晫瀵规垬骞冲彴鐨鍙嶅鎸鎺柦鏈夊摢浜涳紵瀹岀編涓栫晫瀵规垬骞冲彴涓昏閲囩敤浠ヤ笅涓ょ灏佺鎺柦鏉ユ墦鍑讳綔寮婄帺瀹讹細- 绯荤粺鐩戠锛氱帺瀹剁殑娓告垙...
绛旓細鑵捐TP鍙嶅鎸妫娴嬬▼搴忥紝浣犲湪鐧诲綍娓告垙鐨勬椂鍊欏氨浼氳褰曚綘鏄惁浣跨敤绗笁鏂硅蒋浠惰繍琛屻傜幇鍦≦Q娓告垙閮戒笉鑳藉寮浜嗭紝鎵浠ユ甯稿寮浼氫娇鐢ㄤ竴浜涘伐鍏枫傝繖浜涘伐鍏锋病鏈夎瀹樻柟璁ゅ彲锛屽氨瀛樺湪涓瀹氶闄┿傝吘璁皝鍙峰悜鏉ユ槸娌℃湁浠涔堢悊鐢辩殑锛屼粬璁ゅ畾浣犳槸澶栨寕灏辨槸澶栨寕銆傚緢澶氱綉娓歌鑾悕灏佸彿浠栦篃涓嶄細缁欎綘瑙i噴銆傚ぉ鍒涓夋祴鐨勬椂鍊欐垜琚皝 浜嗕竴...
绛旓細灏忕背鏋垬12鏈13鏃ユ洿鏂颁簡璇翠粈涔锛熷弽澶栨寕妯″潡濂界敤鍚锛熸父鎴鍦12鏈13鏃ユ洿鏂颁腑寮鍚簡璁稿鐨勬柊鍐呭锛屼笅闈㈡繁绌哄皬缂栧氨甯﹀甫澶у鏉ョ湅鐪嬨傚皬绫虫灙鎴12鏈13鏃ユ洿鏂板叕鍛 浜茬埍鐨勭帺瀹讹紝銆婂皬绫虫灙鎴-杩涘寲銆嬪皢浜12鏈13鏃05:00-10:00杩涜鍋滄満缁存姢锛岄璁$淮鎶ゆ椂闂5涓皬鏃讹紝灞婃椂璇风帺瀹跺嵆鏃朵笅绾夸繚鎸佹暟鎹紝浠ュ厤閫犳垚涓嶄笉蹇呰鐨...
绛旓細娓告垙灞忚斀鍥捐壊杈呭姪杞欢姝ラ濡備笅锛1銆佸姞瀵嗘父鎴忔暟鎹細娓告垙寮鍙戣呭彲浠ュ娓告垙鏁版嵁杩涜鍔犲瘑锛屼娇寰楀浘鑹茶緟鍔╄蒋浠舵棤娉曡瘑鍒父鎴忎腑鐨勫浘鍍忎俊鎭2銆佹娴嬪鎸傜▼搴忥細娓告垙寮鍙戣呭彲浠ヤ娇鐢鍙嶅鎸杞欢锛屾娴嬬帺瀹剁數鑴戜腑鏄惁瀛樺湪鍥捐壊杈呭姪杞欢绛夊鎸傜▼搴忥紝濡傛灉妫娴嬪埌锛屽氨浼氳嚜鍔ㄥ睆钄姐3銆侀檺鍒舵父鎴忔搷浣滐細娓告垙寮鍙戣呭彲浠ラ檺鍒剁帺瀹跺湪娓告垙涓...
绛旓細鍥犳锛岄煩鍥藉皢鍘熸潵鐢ㄤ簬鐢靛瓙鍟嗗姟銆佺綉缁滈氳銆佺梾姣掗槻鎶ょ瓑棰嗗煙鐨勮蒋浠跺畨鍏ㄦ妧鏈Щ妞嶅埌缃戠粶娓告垙锛屽紑鍙戜簡鍑犳缃戠粶娓告垙鍙嶅鎸绯荤粺锛屾瘮杈冩湁鍚嶇殑鏄疘NCA鍏徃鐨Game Guard鍜屽畨鍗氬+鐮旂┒鎵鐨凙hnLab HackShield銆傚杩瑰湪2003骞翠笅鍗婂勾寮濮嬩娇鐢℅ame Guard鍙嶅鎸傜郴缁燂紝闄嗙画浣跨敤Game Guard鐨勬父鎴忔湁甯屾湜Online銆佸ぉ鍫2绛夌瓑銆侴ame Guard鍦...
绛旓細鑷充簬澶栨寕锛屾槸涓緢搴炲ぇ鐨勬暟鎹伐绋嬶紝闇瑕佸ぇ閲忎汉宸ュ拰鏃堕棿绮惧姏銆傛樉鐒惰摑娲炶繖鏍风殑灏忎綔鍧婏紝鍑犱箮灏卞彧鎵撶畻闈犱竴涓娓告垙娣峰悆绛夋鐨勶紝浣犵湅鍏徃澶фゼ淇殑澶氭紓浜晩锛岀幆澧冨濂藉晩銆傚共鍢涜垂鏃惰垂鍔涚殑鍘绘牳瀵规父鎴忕壒寰佺爜绛涢澶栨寕鍛銆俧ps娓告垙鏈夊鎸傦紝灏卞熀鏈笂涓嶅彲鑳借娑堢伃鐨勩備笘鐣屼笂鏈寮虹殑鍙嶅鎸鍥㈤槦鏄吘璁紝鏈寮虹殑澶栨寕鍒朵綔鍥㈤槦涔...
绛旓細1. AntiCheatExpert 鏄竴绉嶈吘璁殑涓存椂鏂囦欢銆2. 浣犲彲浠ュ皾璇曞垹闄 C:\Program Files\AntiCheatExpert 鏂囦欢澶广3. 鍒犻櫎鍚庯紝闇瑕侀噸鏂板惎鍔娓告垙銆4. 娓告垙浼氳嚜鍔ㄩ噸鏂板畨瑁呰鏂囦欢澶广5. 濡傛灉鍦ㄥ垹闄よ繃绋嬩腑閬囧埌鎷掔粷璁块棶鎴栨潈闄愬紓甯哥殑闂锛岃瑙i櫎瀵瑰簲鏂囦欢澶圭殑鎷掔粷鏉冮檺銆6. 涔熷彲浠ヤ娇鐢ㄢ滅數鑴戠瀹垛濈瓑瀹夊叏杞欢鐨勬枃浠...
绛旓細鎮ㄥソ锛屽叧浜庢偍鍜ㄨ鐨勮繖涓棶棰樻垜鎯冲簲璇ユ槸杩欐牱鐨勶細澶栨寕鏄寚鏌愪簺浜哄埄鐢ㄨ嚜宸辩殑鐢佃剳鎶鏈笓闂ㄩ拡瀵逛竴涓垨澶氫釜缃戠粶娓告垙锛岄氳繃鏀瑰彉缃戠粶娓告垙杞欢鐨勯儴鍒嗙▼搴忥紝鍒朵綔鑰屾垚鐨勪綔寮婄▼搴忋傜幇鍦ㄩ殢鐫娓告垙瀹樻柟瀵瑰鎸傜殑鎶靛埗锛屾父鎴忔湰韬篃鏈変簡瓒呭己鐨勮嚜鍔ㄦ娴嬪鎸傜殑鍔熻兘锛屼絾鍒朵綔澶栨寕鐨勬妧鏈篃涓嶆柇鎻愰珮鐫锛岀幇鍦ㄦ渶娴佽鐨勫氨鏄湪娓告垙涓敤灏佸寘...
绛旓細鏄吘璁爺鍙戠殑鍙嶅鎸寮曟搸锛屽湪鎵撳紑娓告垙鏃跺惎鍔ㄣ傚叧闂柟娉:鍦ㄦ父鎴忓揩鎵撳紑鐨勬椂鍊欙紝鎵撳紑浠诲姟绠$悊鍣紝鍙戠幇杩涚▼閲屾湁涓や釜DNF.EXE 鍏朵腑鐨勪竴涓氨鏄疶enProtect寮曟搸銆傚彲浠ュ叧鎺夈傚畠灏变笉浼氭娴嬩簡銆傚弬鑰冭祫鏂欙細http://baike.baidu.com/view/2507712.htm
绛旓細鐜╃綉娓歌兘妫娴嬪嚭鏉ワ紝鍥犱负鍙橀熼娇杞畻澶栨寕锛屾渶浣庣骇鐨勫鎸傘傚眬鍩熺綉鍜屽崟鏈轰笉涓瀹氾紝姣斿锛屽鏂瑰畨瑁呬簡鍙嶅鎸绋嬪簭锛屾垨娓告垙鏈韩灏卞弽澶栨寕(榄斿吔3)銆