《万能数据库查询分析器》的EXE文件加壳技术

  

《万能数据库查询分析器》的EXE文件加壳技术

      马根峰  ( 广东联合电子收费股份有限公司, 广州 510300)

 

 

作者博客:

新浪博客:   http://blog.sina.com.cn/magenfeng

搜狐博客:   http://magenfeng.blog.sohu.com/ 

QQ空间:    http://630414817.qzone.qq.com/ 

CSDN文库: http://download.csdn.net/user/magenfeng

CSDN博客: http://blog.csdn.net/magenfeng

 

 

  

      引言  

 

        对于一个程序开发单位或者个人而言,如何才能防止别人使用DEBUG工具来破解您的程序,更好地保护您的知识产权?

       一个比较通用的做法就是把你的EXE文件进行加壳,即将EXE文件进行切分、加密。对外您只需发布各个加密的EXE子文件,而不用提供EXE文件。这样别人也就无法DEBUG您的EXE文件来进行破解。 

       在系统启动时,通过运行EXE外壳程序,来对各个加密EXE子文件进行解密并加载到一块内存中,从而在内存中直接启动您的应用程序。

       总之,在发布软件时,您可以不发布EXE文件,只发布各个加密的EXE子文件和EXE外壳引导程序,实现对您的软件的保护。

  

 

     万能数据库查询分析器所采用的软件保护技术

 

       中国本土程序员马根峰推出的个人作品----万能数据库查询分析器,其中文版本《DB 查询分析器》、英文版本《DB Query Analyzer》。它集哈希技术、链表等多种数据结构于一体,使用先进系统开发技术,经历4年的研究、开发、测试周期,长达5万多行代码的工作量,使得万能数据库查询分析器具有强大的功能、友好的操作界面、良好的操作性、跨越数据库平台。

       出于对对自已程序的保护,马根峰同样对中英文版本的EXE程序文件进行了加壳技术。从系统产生至今的三个版本,1.0版本、1.03版本到1.04版本都采用了加壳技术,并且EXE文件进行切分、加密是用自己开发的程序所完成。发布的安装程序中“DB_part1.del”、“DB_part2.del”、“DB_part3.del”、“DB_part4.del”就是万能查询分析器中英文版本的EXE文件所切分、加密后的密文文件,具体的生成过程见图1所示。

 

            

                   图1   《万能数据库查询分析器》EXE文件的切分、加密过程

 

 

 

         用户下载《万能数据库查询分析器》中英文版本安装程序,在计算机上安装后,就可以运行了。整个程序运行的过程如图2所示。

 



             图2   《万能数据库查询分析器》的装载与执行过程

 

      DBQueryAnalyzer.ex_”(这是安装前的文件名,安装到计算机系统中之后,名称就变成“DBQueryAnalyzer.exe”),就是自己所编写的EXE外壳引导程序。“DBQueryAnalyzer.ex_”的作用就是将EXE文件切分、加密后的四个子文件“DB_part1.del”、“DB_part2.del”、“DB_part3.del”、“DB_part4.del”解密,然后组装后装入内存,这时EXE外壳引导程序“DBQueryAnalyzer.exe”就退出运行,调用内存中“万能数据库查询分析器”的执行文件区域。

 

   

       计算机病毒的重要特征

 

计算机病毒具有以下几个特点:

 

寄生性

       计算机病毒寄生在其他程序之中,当执行这个程序时,病毒就起破坏作用,而在未启动这个程序之前,它是不易被人发觉的。

传染性

       计算机病毒不但本身具有破坏性,更有害的是具有传染性,一旦病毒被复制或产生变种,其速度之快令人难以预防。传染性是病毒的基本特征

潜伏性

       有些病毒像定时炸弹一样,让它什么时间发作是预先设计好的。比如黑色星期五病毒,不到预定时间一点都觉察不出来,等到条件具备的时候一下子就爆炸开来,对系统进行破坏。

破坏性

       计算机中毒后,可能会导致正常的程序无法运行,把计算机内的文件删除或受到不同程度的损坏 。通常表现为:增、删、改、移。

可触发性

       病毒因某个事件或数值的出现,诱使病毒实施感染或进行攻击的特性称为可触发性。为了隐蔽自己,病毒必须潜伏,少做动作。如果完全不动,一直潜伏的话,病毒既不能感染也不能进行破坏,便失去了杀伤力。病毒既要隐蔽又要维持杀伤力,它必须具有可触发性。

 

 

       加壳技术的美中不足

  

       EXE文件加壳技术有效的保护了自己的软件,然而由于其加载到内存运行的原理有点类似于病毒的工作原理,所以被相当一部分杀毒软件误认为是木马病毒。但在一个程序中往往会调用另外的程序、或者动态分配内存,仅凭这一点就作为判断病毒的依据,岂非有点儿戏。

       从另一方面讲,《万能数据库查询分析器》根本不具有计算机病毒的特征:寄生性、传染性、潜伏性、破坏性、可触发性。所以我都不知道国内外的杀毒软件产品依据什么来将《万能数据库查询分析器》误判为计算机病毒,真是颇为费解。

       尽管本人已经发信给国内外的杀毒软件商,告知他们本人的程序,但由于别人财大气粗,效率不高,至今《万能数据库查询分析器》的中文版本《DB 查询分析器》、英文版本《DB Query Analyzer》的安装程序依然被当成木马病毒而误杀。

       很不可思议的是,2007年5月份在国内外各大软件下载网站(包括国外的download.com、softpedia.com,并且后者还声明说“DB Query Analyzer -SOFTPEDIA "100% CLEAN" AWARD”)发布时都没有被误杀啊,怎么今年就开始误杀了呢,木马病毒都出现了多少年了噢,真是想不通啊!

 

 

 

技术交流的话,

联系方式:

QQ:630414817

MSN: magenfeng@hotmail.com

QQ添加好友时请输入验证信息:查询分析器



Zprotect是新一代的软件加密保护系统,拥有多项革命性的创新技术,设计用来保护您的软件产品不被破解,减少由于盗版给您带来的经济损失!此外,Zprotect 拥有简单易用的许可控制系统,您无需更改任何代码,即可为您的软件添加注册机制。与传统软件保护系统相比,Zprotect更加注重对代码的处理,并且拥有良好的稳定性和兼容性,是您配置软件保护系统的最佳选择! Zprotect拥有简单易用、高效灵活的注册和授权管理系统: 一键试用技术. Zprotect 为您提供一键试用技术,您不必修改任何源代码,在短短几分钟之内就可以将您的完整版软件转换为“先试用后购买”的试用版软件,甚至还可以支持带硬件锁定的序列号注册。 内建注册和许可管理系统. Zprotect 内建灵活易用的注册和许可管理系统,您可以轻松创建具有时间限制、硬件锁定、水印信息的注册码。 动态算法生成引擎. 外壳所使用算法均动态生成,随机且唯一,让逆向算法变得困难和高成本。 时间限制注册密钥. 如果您需要限制注册版本的有效期,可以通过创建具有时间限制的注册密钥来实现。 硬件锁定(一机一码). 激活硬件锁定功能的注册密钥,只能在某一特定计算机上使用;您可以通过锁定用户计算机的硬件信息来控制注册码的传播,例如 CPU、硬盘序列号、网卡 MAC 地址等。 密钥黑名单. 如果您的用户泄漏了注册密钥,那么您就可以将该密钥添加进密钥黑名单,这样下一版本更新的时候您就可以锁定该密钥。 启动密码保护. 这种附加的保护可以有效防止软件未经授权的使用,必须输入正确的密码才可以运行程序。 试用次数、天数、日期和运行时间限制. 使用 Zprotect ,您可以轻松为您的应用程序添加试用次数、试用天数、试用日期和试运行时间等限制;这样您的客户就可以全功能评估您的软件产品,增大购买意向
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值