[发明专利]Windows平台可执行文件API延迟导入保护方法有效
申请号: | 201310066958.6 | 申请日: | 2013-03-01 |
公开(公告)号: | CN103116715A | 公开(公告)日: | 2013-05-22 |
发明(设计)人: | 郑子琛 | 申请(专利权)人: | 中标软件有限公司 |
主分类号: | G06F21/12 | 分类号: | G06F21/12 |
代理公司: | 北京聿宏知识产权代理有限公司 11372 | 代理人: | 吴大建;钟日红 |
地址: | 200030 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | windows 平台 可执行文件 api 延迟 导入 保护 方法 | ||
技术领域
本发明涉及一种软件防破解领域,尤其涉及一种Windows平台可执行文件API延迟导入保护方法。
背景技术
软件的盗版问题已经引起了各国政府的高度关注。盗版软件最基本的技术手段是通过逆向工程来理解程序,进而对软件进行非法的篡改,以达到去除软件保护的目的。软件盗版的日益猖獗已经严重扰乱了软件市场的秩序,严重损害了软件厂商的利益。
比软件盗版更可怕的是逆向分析。根据经验,一个熟练的逆向分析者一天可以逆向1000行c++代码。也就是说,辛辛苦苦几年时间开发出来的软件,如果不加保护,就会被人以每天1000行的速度逆向全部代码。这个问题在驱动程序方面体现的尤为突出。驱动程序各个短小精悍,汇集着众多的核心技术,但他往往只有几十KB,可能在几天的时间内就被人逆向出全部源码。所以往往在你的软件发布后很短的一段时间内,就会涌现出无数个与你的软件功能相同的软件,你的竞争力也就不复存在了。
由此可见软件保护的重要性。不过由于软件加密是一种对抗性技术,所以需要开发者对解密技术有一定的了解。但是软件加密技术的资料相对来讲比较匮乏,这也就使得大多数软件保护程序的开发者不熟悉软件加密与解密,进而导致花费了大量人力物力设计出的加密方案不堪一击。为了让软件开发者从软件保护的措施中脱离出来,专心致力于自己的软件开发,专用加密软件这个事物就应运而生了。本专利申请提出的方案就属于一种用于专用加密软件的软件加密方案。
壳技术是最早出现的一种专用的加密技术。现在大家能够接触到的绝大多数软件都经过了加壳的保护,而壳技术也成为了现阶段最流行的软件加密技术。世界知名的加壳加密软件有ASProtect、Armadillo、EXECryptor等等。
例如,ASProtect是一款非常强大的Win32程序保护工具,具有压缩、加密、反跟踪代码、CRC校检和花指令等众多保护措施。它使用Blowfish、Twofish、TEA等强劲的加密算法,用RSA1024作为注册密钥生成器。他还通过API钩子与加壳的程序进行通信,并且ASProtect提供SDK,支持VC、VB等,实现加密程序内外结合。
Armadillo是一款应用面较为广泛的商业保护软件,可以在提供保护的同时为你的软件加上各种限制,包括时间、次数、启动画面等等。他的特点是双进程保护。他在加壳时会扫描程序,将标记过的跳转指令替换成int3指令。程序在运行时,保护进程截获int3指令,将其替换成目标地址返回被保护进程,然后被保护进程继续运行。
EXECryptor是一款商业保护软件,可以为目标软件加上注册机制、时间限制、使用次数等功能。他的特点是Anti-Debug功能很强大。
通过加壳保护的软件,在壳与解密后的原始程序之间有一条明显的分界线,破解者可以在这个分割线下断点,等待壳自己解密完成后进行内存倒出,并利用倒出的内存重构exe文件,达到解密的目的。
其他已有的双进程保护软件仅仅针对软件解密过程进行保护,并没有针对软件运行全过程进行保护,也存在解密过程与程序运行的明显分界线,与传统加壳保护存在相同的问题。
还存储一种虚拟机保护技术。虚拟机保护与虚拟机这种概念不同,他比较类似于P-CODE,将一系列的指令解释成字节码,放在一个解释引擎中执行,以对软件进行保护。调试者跟踪进入到虚拟机,是非常难于理解原指令的。想要理解程序流程,就必须深入分析虚拟机引擎,完整地得到P-CODE与原始代码的对应关系,其复杂度可想而知。VMProtect是一款著名的虚拟机保护软件,它以向开发者提供SDK的方式提供保护。以VMProtect为代表的而虚拟机保护也就成为了当今最安全的保护方式。随着虚拟机保护技术的日益成熟,许多基于壳技术的加密软件也转向虚拟机加密方式,现在,上述的几种加壳保护软件也都或多或少的包含了虚拟机加密功能。
可见,虚拟机加密保护在安全方面做得较好,但是存在过大的性能损耗,影响了这种加密机制的广泛使用。虚拟机保护是以效率换取安全的,一条原始的汇编指令经过VM处理后会膨胀几十倍甚至几百倍,执行效率会大大下降。正因如此,VM保护一般采取提供SDK的方式。不过对于一些对执行效率要求较高的程序,虚拟机保护就不适合了。
发明内容
本发明所要解决的技术问题之一是需要提供一种能够较好地防破解的Windows平台可执行文件API(Application Programming Interface,应用程序编程接口)延迟导入保护方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中标软件有限公司,未经中标软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310066958.6/2.html,转载请声明来源钻瓜专利网。