|
一、内容合法性申明:
由于三国策III外 挂横行已是不争的事实,然后官方却一谓打压反应外 挂问题的玩家,对外 挂本身反倒不作为。且在策IV中也未能拿出有效措施反制外 挂,特此,从原理上剖析外 挂的制作思路,以期还广大玩家以知情权。也为官方反外 挂提供一点思路。
二、关于市面上的已知外 挂功能列举如下:
1、增强各类装备属性加成
这一类外 挂属于最低等级的外 挂,有单机版修改经验的玩家即可自制,就是在使用16进制编辑器[如UltraEdit-32、HexCmp等等],记住游戏里某装备的关联数据,在客户端里直接搜索找到存储该数据的地址即可。
当然这类外 挂的防范也是最容易的: 一、玩家防范 多留意一下对方带的什么装备,应该是什么效果,即可发现问题。 二、官方防范 方法太多,从业余角度看至少两种:1、在Server端对客户端回传信息进行验证,由于数据量较大,往往官方只会针对关键数据进行验证,从而就留下了不少BUG。2、在客户端对存储数据依密码学原理进行加密存储,三国策的关键性数据恰恰是从策1到策4都没有进行过任何加密,全部明码存储于客户端。如果没有防范意识,怎能让人信服三国策无外 挂?
2、增加可视范围 这一类外 挂在技术上应该已经上了一个档次了[虽然仍然需要修改客户端],因为,这里能够知道的数据实在太少[最多我们能够知道侦察范围大体有这么几个数值:比如已知相对于埋伏将,副城可视范围5格,主城可视范围7格,无侦察技能的武将可视范围3格,有侦察能力的武将可视范围5格,带上孔明灯可视范围7格,无埋伏技的武将,可视范围10格]等等,如果直接在客户端查找这类数据,实在是太多了,显然非正确途径。
那么这一类外 挂的实现方式是什么呢?那就是反编译客户端,从源程序汇编代码里找突破。目前流行的反编译软件有OllyDBG(看雪学苑有汉化版软件下载)和SoftIce。从功能上讲后者比前者强大,后者可以在Windows内核级对程序进行调试,但是前者简单易用,适合非专业人员使用。当然,不管是哪个软件,要想使用起来,还需要知道一点结构化编程的常识,一般程序员在编程地都会很注重程序的结构清晰,易维护,但同时也造成了程序易破解!这几乎是个死结,所以从保护三国策的本意出发,我一直未能公布此间的相关技术,但是既然官方自己不把这当回事,我也不用不着自做多情地谈什么保护了。
根据我[半个月之前对汇编从未接触过的业余程序员]这些天边百度搜索相关知识链接,边读源程序得到的信息,三国策中对于可视范围的判断是有固定模块的,根据一系列的判断,然后以参数传递的方式给决定可视的模块传递一个可视范围参数[用的是常量传递],了解到这一步,那增加可视范围也就不是什么难事了。只需要反编译出来的源程序里面 搜索 PUSH 3 或 PUSH 5 或 PUSH 7 等等,再上下翻翻,在你找到的附近有没有相关的 PUSH 。如果也有,比如你找到一串PUSH 3,PUSH 5,PUSH 7,再看看程序流程都指向同一个CALL,而且显然是进行某项判断后决定走PUSH 3或PUSH 5或PUSH 7 或 PUSH 0A(即10)的流程,那就说明你找对了地方,可以记录位置,尝试修改某个数值,然后进游戏验证修改是否正确即可。
那么这一类的外 挂应该如何防范呢:
一、玩家防范 只能是多留意,一般玩家在能够看到敌方和不能够看到敌方的情况下所做的判断是不一样的。比如骑兵射或撞,比如部队的行军路线[尤其米仓比较明显,看不到米仓会被米仓挡住,看到米仓则会绕着走],如果已方部队在不该被发现的地方被敌方发现了,多半是有问题的。除非对方指令狂多,不发展,只侦察。 特别要注意的是,这个外 挂的功能是已方[所有部队城池和池池的可视范围均扩大到了极限,如果他改成0A,则我方部队在敌城敌兵10格以内必定会被发现,如果改0F则是15格,几乎等同于地图全亮]
二、官方防范 前面已经说过,这类外 挂几乎无解,因为可视范围的界定是由客户端决定的,而这一模块转移到Server端将会对Server端造成过大的负担,另外所谓的监控也是无意义的,服务端加监控只是场面上的话,可视范围多少根本与服务端无关,而客户端加监控模块,可以通过修改模块入口跳过监控。目前唯一可能的方式就是加密客户端,但那也只是相对安全,加密解密的技术一直是此消彼涨的关系。
更进一层的外 挂分析与防范将视官方对待此事件的态度决定公开与否。

ID:逐鹿中原 QQ:23824317
|
|