问:加密软件有何作用?
答:加密软件主要用于保护软件开发者的合法权益,防止软件被复制、算法分析及目标码反汇编等达到控制或缓非法扩散的目的。
问:国外的软件都是不加密的,国内软件为什么要加密?
答:在国外PC机软件开发初期,象dBASE这样的通用软件都是加密的。近年来,国外用户的软件版权意识逐步形成,绝大多数软件才开始不加密。但大型系统,如AutoCAD12.0网络版由于价格高,不得已仍然采用加密手段。看来软件加不加密的问题,在美国也是具体情况具体分析。
国内由于软件保护法规不完善,法制观念不强,盗版现象此较严重,开发者不得不想办法保护自己的产品不被别人侵权。如果大家都使用正版软件的话,估计国内的软件行业也会和国外样,不再选择加密这种方式。相信在不久的将来,这种手强完全会被法律和社会的文明所取代。
问:软件加密技术主要由哪几部分构成?
答:软件加密技术主要由密钥技术、反跟踪技术和代码插入技术构成。一套完整的加密软件,就是由这些技术组合而成,缺一不可。
问:什么是密钥技术?
答:密钥技术是指与密钥有关的密钥盘的制作、识别密钥盘、安装和回收密钥等。密钥技术主要特点是防止程序被复制。密钥主要分软盘、加密卡和并行加密盘(也称“软件狗”)。
问:什么是反跟踪技术
答:反跟踪技术是加密软件关键,工作量大的部分,是加密技术不断推陈出新、永无止境的原因。有了好的密钥技术,没有强有力的反跟踪手段,解密者使用功能强大的调试器和些辅助工具就可破译,达不到保护的目的。
反跟踪手殷主要有以下几种;一种方法是把程序写乱或使用高级语言生成代码,使代码杂乱无章,跟踪者不易看懂。另一种方法是设置陷阱,让调试器不能正常工作。还有一种方法是做大量变形和跳转,拖跨对手。
问:什么是代码插人技术?
答:代码插入技术就是把加密的代码插到用户的程序中去。
问:加密软件有几种加密方式?
答:加密软件有三种加密方式;外壳式、内含式和结合式。
问:外壳式有何特点?是如何工作的?
答:外壳式加密是把段加密代码附加到执行程序上,并把程序入口指向附加代码中。当被加密的程序装人内存后,附加代码首先执行,检查是否有跟踪程序存在,如果没有,再检查密钥是否正确,如果正确,则转入原来的程序中。
这种方式的优点是不需要修改源代码,使用简单。但是其缺,点也很明显:一旦附加代码被击破就,会被解得干干净净没有一,点遗留的问题。
问:内含方式有何特点是如何工作的?
内含式加密码是以OBJ文件形式存在,应程序调用这些加密代码,*后要与拟加密的程序编译连接到一起。
这种方式需要修改源代码,比较可靠,但是代码复杂性不如外壳式,不容易对二进制代码做复杂变形,容易被跟踪。这种方式主要用于使用软件狗和加密卡的加密程序。
问:什么是结合式?
答:结合式加密方式就是把外壳式与内含式两种方法结合起来,用OBJ去检查外壳的可靠性,内外结合,功能*强。
问:加密软件与密码学有什么关系?
答:加密软件与密码学不是一个概念,它们之间有着很深的联系,加密软件的变形算法都源于密码学的理论。有的加密软件采用的变形算法比较简单,认为无关紧要,其实这样给解密者留下了很大的“后门”。比如说用加密软件加密“全零”等各种有规律的数据采研究推断,不用分析程序就可以轻松地解开。为了提高加密软件的安全性,必须使用复杂可靠的算法。如有的加密软件采用了几十套随机可选的算法,可有效地增加解密难度。
原文地址:http://blog.51cto.com/13741502/2116640