您所在位置: 首 页 —> 技术支持 —> <<外挂克星>>客户客户解决方案



《外挂克星》客户方案简介  

以下是乐宇科技《外挂克星》技术解决方案的基本方案,如果客户有不同的要求,则根据客户的具体情况制定出技术实施方案。《外挂克星》从技术上分主要由五部分组成:客户端程序加密特征防范外挂主动防范外挂动态代码主体认证

客户端程序加密

乐宇科技有自主开发的程序代码加密产品,拥有先进的加密技术和代码分析技术。乐宇科技拥有自主知识产权的加密算法和安全领域的技术专利,更为重要的是拥有先进的代码分析技术,能在指令集的基础上对客户程序进行分析,进行复杂度可计算的加密处理。目前的多数程序加密产品都是基于技巧,而不是可计算的复杂度;如果所采用的技巧不为人所知,对它进行破解是困难的,一旦其技巧为人共知,就毫为安全可言。

基于技巧的代码加密一旦被破解,就采用它所有的产品都失去了安全性;基于可计算复杂度的代码加密就是多次被人破解了,其破解的复杂度并不会降低。由于代码加密的特殊性,不可能有一旦加密就永远不被破解的产品,因此,只有基于可计算复杂度的加密方案才能很好地保护软件产品,基于技巧的技术方案只能是一种临时方案。

乐宇科技的代码加密主要采用以下技术,并达到相应目的:

•  代码混乱技术。这种技术其复杂度是可计算的,现代数学可证明并能计算出其最少复杂度;这种技术主要通过抽取原程序中的代码,对它进行多态变换,从中混入安全代码,使破解者必须分离出安全代码,并还原代码才能获得破解方法;分离与还原的工作量(复杂度)是可计算的,而代码抽取具有无限多种情况(明文空间是不可穷尽的),代码混乱也具有无限多种情况(密文空间也是无限的),对一次加密的破解,并不能为下一次破解提供完全的方法。从安全理论的观点上讲,这种技术是安全的。

•  代码掩藏技术。这种技术从掩藏角度讲属于技巧型技术。事实上,乐宇科技的代码掩藏技术的重要目的并不是掩藏代码,而是针对目前的破解技术,使各种断点和跟踪技术失效。因为代码掩藏技术,使每次程序运行代码可能加载于不同的地方,上一次的跟踪结果对下一次的跟踪可能毫无意义,特别是上一次跟踪下的断点可能在下一次跟踪中被安全代码发现,从而拒绝执行。可见这种技术尽管其作用不是确定的,但总体上其复杂度是有个平均值,是确定的。

•  破解工具分析技术。这种技术属于技巧型技术,一旦被破解就必须采用新的方法。这种技术主要防止破解者采用一些通用工具(如 softice,trw2000,ollydbg,peid , w32dasm…… 等等)对程序进行破解。这种技术主是根据破解工具的特征进行分析,一旦发现内存中存在这些工具就做出相应的处理。

•  拒绝访问技术。这种技术也属于技巧型技术,主要通过操作系统拒绝其它程序对加密程序进行访问,使破解者无法获得原程序代码。

•  反静态分析技术。就是所谓的加壳技术,也属于技巧型技术。就是对代码进行加密,加个壳,运行时由壳解密。加壳程序一旦脱壳就失去了再次保护的作用。

•  反动态分析技术。这种技术也属于技巧型技术。这种技术主要采用程序无序执行,自校验检测,多线程和多进程等方法实现。

乐宇科技的代码加密技术着重于代码混乱和代码掩藏,这两种技术给出基本安全保障,事实上,这两种技术是分不开的,从安全角度上讲是两种不同的技术,但从实现方法上,代码掩藏是代码混乱的基础。代码掩藏与代码混乱从理论上讲多多少少要损失一些效率,在不同的程序中,相同的智能分析规则得出的加密结果,会产生不同的效率损失。因此,必须针对不同的程序(主要是程序功能的不同与代码设计风格的不同和编译工具的不同),调整分析规则;由于高度规划的代码安全性比较差,调整规则不能采用配置的方式,而是要直接由特殊代码实现,增大复杂度。所以,乐宇科技将根据客户的不同情况,为客户定制专用版的加密工具和运行代码。

 

特征防范外挂

乐宇科技具有强大的数据分析技术队伍,拥有自主研发的安全算法和功能强大的数据分析工具。目前市场上主流的防外挂产品,都是采用特征防范技术,从本质上讲,特征防范技术没有什么重大区别,乐宇科技的特征防范部分也不例外。 特征防范也称为被动防范,因为特征防范技术必须在外挂已经在市场上流通后,才能对其进行防范,完全处于被动地位。

    特征防范本身属于不安全的技术,最多也只能具有技巧型技术的安全;因此,它必须依靠其它技术来保障其本身的安全。特征防范本身的安全,目前主要依靠代码加密。目前市场上的主流产品都是依靠第三方的代码加密技术,具有先天性不足;乐宇科技的特征防范是与自主开发的代码加密技术相结合的,这是《外挂克星》与其它防外挂产品最大的区别,也是使《外挂克星》的特征防范在安全性上相对其它防外挂产品具有绝对优势的主要原因。

特征防范主要采用以下技术实现防外挂功能的:

•  数据特征分析技术。数据特征分析技术的好坏主要体现在两个方面:一是准确性,就是得出的特征结果是准确的,不会进行误处理;二是运行效率,就特征计算不能影响程序的正常运行。

•  数据搜寻技术。由于环境的多样性,数据搜寻技术变得非常重要。数据搜寻技术是保证外挂不会漏查的关键,通俗地讲,就是所有地方必须找到。在搜寻技术中,效率要求比数据分析更加重要。

•  特征处理技术。在发现外挂特征时,并不能对程序进行简单处理,而是要根据游戏程序的特点进行正确的处理,最重要的是要对抗外挂程序的反处理技术。

乐宇科技的特征防范相对其它防外挂产品的技术而言,主要进行了以下方面的改进,功能上比主流的防外产品进行了量上的提升:

•  分析范围加大了。不仅对外挂程序的代码和数据进行分析,还对外挂进程和线程进行了分析,最大的改进是对游离区进行了分析。

•  分析方法进行了改进。不仅采用了静态分析技术,还采用了动态分析,能有效地对抗外挂的多进程、高权限技术。

•  特殊防范与加密技术相结合。乐宇科技的特征防范与代码加密技术是不可分离的,使特征防范有个可靠的生存环境。

从理论上讲,特征防范就能防住除脱机外挂以外的所有外挂,因此说,如果防外挂要求不高的游戏,只要采用特征防范就行了。

特征防范的关键是本身的生存问题,目前市场上的主流防外挂产品(技术)都没重视这个关键,现在外挂开发中,已把杀死特征防范为自我保护的主要内容。没有强大生存能力的防外挂产品将成为摆设。

 

主动防范外挂

主动防范与被动防范的最大区别在于主动防范能防住未知的外挂。对于营运非常成功的游戏来说,外挂有可能象雨后春笋一样出现,采用特征防范就会难于应付,维护成本将会急速上升,游戏公平不能及时得到维护,威胁到游戏的生存。如果采用主动防范技术则不会出现这种现象。就目前而言,具有主动防范技术的防外挂产品只有《外挂克星》(当然,所有的防外挂产品研发公司或个人都在研究这项技术),乐宇科技是首先掌握主动防范技术的公司。

简单地讲,主动防范就是主动防止各种外挂技术起作用,用乐宇科技公司的术语就是功能禁用。

功能禁用的技术基础是代码分析与人工智能。只有进行了可靠的代码分析后,才能实施正确的功能禁用,由于功能的复杂性,代码分析将是无穷大的工作量,必须作定向分析,也就是所谓的人工智能技术。没有人工智能做基础的功能禁用是片面的或是不可行的,可见,主动防范要求较高的技术门坎,而且投入也是巨大的。

乐宇科技的核心技术人员具有良好的代码分析与人工智能理论基础,并已投入大量的人力物力,才研发出功能禁用标准库和应用开发工具。乐宇科技能根据不同的游戏在较短的时间内开发出有针对性的运行代码。

主动防范技术是一种矛盾的技术,它既能主动防范外挂,同时也可应用于防反外挂技术,也就是说它也能使主动防范失去作用。

主动防范如果应用于防破解,它也是一种代码安全技术。事实上,乐宇科技的代码加密就采用了主动防范技术来加强安全强度。可见,乐宇科技的主动防范与代码加密也是能做到不可分离的,这就大大提高了防外挂的能力。

主动防范系统的建立,要完成以下几部分工作:

•  外挂技术分析。通过对外挂技术的分析,抽象出主动防范的基本模型,建立代码分析和功能禁用规则。

•  外挂行为分析。通过对外挂的行为进行分析,抽象出分析模型,建立人工智能分析的规则。

•  外挂目的分析。通过对外挂的目的进行分析,抽象出功能禁用模型,建立数据安全规则。

•  游戏程序分析。通过对游戏程序的分析,总结出系统模型,建立基本安全规则。

•  游戏规则分析。通过对游戏规则的分析,总结出外挂可能的行为。

•  游戏系统分析。通过对游戏系统的分析,总结出主动防范系统的建立规则。

就防外挂而言,主要考虑以下四个方面的安全:

•  系统安全。主要保证系统的正常运行。

•  代码安全。主要保证代码功能不被修改。

•  数据安全。主要保证数据的合法性。

•  通讯安全。主要保证数据的完整性。

主动防范涉及具体的程序和运行环境,因此兼容性是做专用版要重点考虑的问题。乐宇科技的《外挂克星》通用版就不能在 Windows 9x 下运行。乐宇科技要求用户提出具体的环境需求,以便做出合适的工具。

主动防范并不要求实现到尽善尽美,乐宇科技将根据客户的具体需求和可承受的经济实力做出合适的专用版本。

 

动态代码

动态代码技术主要保证代码不被外挂开发者掌握,使外挂开发难度增大。例如封包类外挂,就是外挂开发者掌握了封包的相关代码功能(协议或算法),从而直接对封包进行处理;如果采用了动态代码,外挂开发者就难以做出类似外挂了。

动态代码技术与主体认证技术都是只有开发商解决方案才能实现的安全技术,这两种技术的实现必须增加游戏系统的代码,如果营运商能要求开发商增加代码,也可以实现。

从理论上说,动态代码技术本身属于复杂度可计算的安全技术,其复杂度由动态代码(程序)的复杂度与数量决定;因为多数功能的实现代码尽管复杂度是有限的,但数量是可以做出任意多,关键是成本,只要条件允许,可达到真正安全的复杂度。

动态代码技术主要采用下列两项技术来实现代码保护与防外挂的:

•  代码隐藏技术。主要是将代码隐藏起来,隐藏程度有多种,根据不同的要求,可以将代码隐藏到不同的程度。一般将代码变成数据,只有在执行时才放入代码段;也可以将代码加密,只有执行时才解密;还可以将代码放到系统空间中;如果是进程无关的代码,甚至可以不在进程中执行。这四种不同程度的隐藏,各有不同的要求,安全性越强的隐藏,对代码的要求就越多。

•  动态变换代码技术。就是将一个功能写成 N 个版本,系统自动变换不同的版本,使外挂开发难度加大。特别是,如果将同一个数据结果集定义成不同的意义集,其安全强度相当于一码一密,从理论上讲是可以做到安全不可破。

要实现动态代码,软件(游戏)开发商要加上以下四项工作:

•  要在客户端程序中加入乐宇科技规定的代码,代码的源程序可从乐宇科技的公司网站 http://www.szleyu.com 中获得。

•  通过协商,将一些关键代码定义为动态代码,并在乐宇科技的协助下,将这些代码编写出多个版本。

•  在客户端中将调用动态代码的功能代码按乐宇科技规范编写。相关规范内容可从乐宇科技的公司网站 http://www.szleyu.com 中获得。

•  在服务器端加入传送动态代码的程序。

动态代码技术是防外挂中的高级技术,它可防范各种外挂技术,但是它的实现成本比较高,而且必须开发商介入,因此并不是所有游戏都可以实现。

动态代码技术不存在通用版本,乐宇科技无法提供通用版试用。动态代码与主动防范一样,并不要求做到十全十美,有规模的游戏都可根据公司的财务状况加入适当的动态代码。

 

主体认证

主体认证必须建立在动态代码的基础之上,它是动态代码在安全认证领域的应用;也就是说,主体认证技术 = 动态代码技术 + 认证技术。

主体认证又称为无秘密认证或主体完整性认证,其动态代码的功能主要就是对主体程序的完整性进行认证。从安全性角度上讲,动态代码的版本越多越安全,乐宇科技为了提高安全性,将采用自动代码生成技术来产生认证代码,使版本的数量达到 2 的 1024 次方,具有足够的安全强度。

主体认证的实现,主要是要做好代码生成器,而代码生成器是对象相关的,也就是说不同的游戏的代码生成器是不能通用的,甚至同一游戏的不同版本的代码生成器也不能通用,游戏程序变化后,必须对代码生成器进行相应的修改,可见它对游戏程序升级的速度有一定的要求,太快了则乐宇科技无法在短时间内完成代码生成器的升级。

主体认证的目的主要是为了防脱机外挂,由于脱机外挂的开发成本非常高,只有运营非常成功的游戏才会出现,一般的游戏都要营运一段非常长的时间才会出现;另一方面,主体认证系统的开发成本也很高,如果没有必要乐宇科技不建议客户购买。如果客户确实需要,请向乐宇科技索取相关资料或上乐宇科技网站 http://www.szleyu.com


版权所有:深圳市乐宇科技有限公司 All copyright ©2003-2005