第十二章 软件防拷贝技术

36
第第第第 第第第第第第第 第第第第 第第第第第第第

Upload: elisha

Post on 24-Jan-2016

51 views

Category:

Documents


2 download

DESCRIPTION

第十二章 软件防拷贝技术. 软件防拷贝技术. 防拷贝技术分类 硬件防拷贝技术 软硬件结合防拷贝 软件防复制方法 磁盘防拷贝技术 反防拷贝技术 —— 脱壳 软件限制技术 EXE 文件加密器程序示例. 软件防拷贝技术. 通过某种技术,使得操作系统的拷贝方法,甚至拷贝软件不能将软件完整复制,或者复制后不能使用。是防止软件扩散的主要手段。 主要方法: 硬件防拷贝 软件防拷贝 软硬件结合。 比较常用的是软盘技术。. 防拷贝技术分类. 硬件防拷贝技术 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第十二章 软件防拷贝技术

第十二章 软件防拷贝技术第十二章 软件防拷贝技术

Page 2: 第十二章 软件防拷贝技术

软件防拷贝技术软件防拷贝技术防拷贝技术分类防拷贝技术分类– 硬件防拷贝技术硬件防拷贝技术– 软硬件结合防拷贝软硬件结合防拷贝– 软件防复制方法软件防复制方法磁盘防拷贝技术磁盘防拷贝技术反防拷贝技术——脱壳反防拷贝技术——脱壳软件限制技术软件限制技术EXEEXE 文件加密器程序示例文件加密器程序示例

Page 3: 第十二章 软件防拷贝技术

软件防拷贝技术软件防拷贝技术通过某种技术,使得操作系统的拷贝方法,通过某种技术,使得操作系统的拷贝方法,甚至拷贝软件不能将软件完整复制,或者甚至拷贝软件不能将软件完整复制,或者复制后不能使用。是防止软件扩散的主要复制后不能使用。是防止软件扩散的主要手段。 手段。 主要方法:主要方法:– 硬件防拷贝硬件防拷贝– 软件防拷贝软件防拷贝– 软硬件结合。软硬件结合。比较常用的是软盘技术。 比较常用的是软盘技术。

Page 4: 第十二章 软件防拷贝技术

防拷贝技术分类防拷贝技术分类硬件防拷贝技术 硬件防拷贝技术 – 硬件防拷贝通常是增加硬件接口或更换某些存储器集硬件防拷贝通常是增加硬件接口或更换某些存储器集

成块,将保密系统必须运行的某些程序、数据、密钥成块,将保密系统必须运行的某些程序、数据、密钥等信息固化在接口的只读存储器中,同时在硬件上设等信息固化在接口的只读存储器中,同时在硬件上设旨一些持殊的标记,如某个特殊集成电路片的输比特旨一些持殊的标记,如某个特殊集成电路片的输比特征等. 征等.

– 加密软件运行时,要使用这些固化在接口中的程序、加密软件运行时,要使用这些固化在接口中的程序、数据和密钥,要判断是否存在特殊集成电路片的输出数据和密钥,要判断是否存在特殊集成电路片的输出特征,加密系统要对这些存储器的内容和硬件特殊标特征,加密系统要对这些存储器的内容和硬件特殊标记采取一定的保密措施,使得敌手无法观察这些信息记采取一定的保密措施,使得敌手无法观察这些信息和标记 和标记

– 硬件防复制和加密也可以使用加密处理器,如硬件防复制和加密也可以使用加密处理器,如 z8068z8068密码处理器等. 密码处理器等.

Page 5: 第十二章 软件防拷贝技术

防拷贝技术分类防拷贝技术分类软硬件结合防拷贝 软硬件结合防拷贝 – 首先使用计算机硬件加密的方法,如:首先使用计算机硬件加密的方法,如:

激光加密法,用激光在特定位置烧烫。激光加密法,用激光在特定位置烧烫。掩膜加密法,在磁盘特点位置加膜。掩膜加密法,在磁盘特点位置加膜。针孔加密法,在磁盘穿孔。针孔加密法,在磁盘穿孔。

– 然后使用软件来验证是否特定的硬件。然后使用软件来验证是否特定的硬件。– 也可以利用磁盘、也可以利用磁盘、 CPUCPU 、网卡的序列号进行、网卡的序列号进行

软件加密。 软件加密。

Page 6: 第十二章 软件防拷贝技术

防拷贝技术分类防拷贝技术分类软件防复制方法软件防复制方法– 对加密盘用持殊的方法建立非正常格式,并将对加密盘用持殊的方法建立非正常格式,并将

某些重要的信息如密钥、脱密程序、脱密算法某些重要的信息如密钥、脱密程序、脱密算法等存放在这些非正常格式的介质中间内。等存放在这些非正常格式的介质中间内。

– 由于这些非正常格式是一般拷贝软件是不能完由于这些非正常格式是一般拷贝软件是不能完全正确地拷贝的,而加密程序运行时要判断这全正确地拷贝的,而加密程序运行时要判断这些非正常格式是否存在,并且要使用非正常格些非正常格式是否存在,并且要使用非正常格式存储文问中的信息将加密程序进行脱密,因式存储文问中的信息将加密程序进行脱密,因而非法拷贝下来的其它区间的内容也是不可使而非法拷贝下来的其它区间的内容也是不可使用的. 用的.

Page 7: 第十二章 软件防拷贝技术

防拷贝技术分类防拷贝技术分类– 优点:除了不需要增加或改动机器硬件以外,优点:除了不需要增加或改动机器硬件以外,

生成加密盘也不需要苛刻的条件,而完全依赖生成加密盘也不需要苛刻的条件,而完全依赖于软件,对存储介质无需要作物理加工,这对于软件,对存储介质无需要作物理加工,这对于保持磁盘的完好性和再生成都是有好处的.于保持磁盘的完好性和再生成都是有好处的.

– 缺点:一旦敌手知道它的防复制原理,就可采缺点:一旦敌手知道它的防复制原理,就可采取—些相应的措施进行仿制. 取—些相应的措施进行仿制.

Page 8: 第十二章 软件防拷贝技术

软件防拷贝技术软件防拷贝技术防拷贝技术分类防拷贝技术分类– 硬件防拷贝技术硬件防拷贝技术– 软硬件结合防拷贝软硬件结合防拷贝– 软件防复制方法软件防复制方法磁盘防拷贝技术磁盘防拷贝技术反防拷贝技术——脱壳反防拷贝技术——脱壳软件限制技术软件限制技术EXEEXE 文件加密器程序示例文件加密器程序示例

Page 9: 第十二章 软件防拷贝技术

磁盘防拷贝技术磁盘防拷贝技术早在早在 2020 世纪世纪 8080 年代初期,人们就已经采用防拷年代初期,人们就已经采用防拷贝技术来保护软件了。贝技术来保护软件了。我们最早所见到的磁盘加密技术是一个搬运程序,我们最早所见到的磁盘加密技术是一个搬运程序,这段程序本身不能实现软件的任何功能,它的功这段程序本身不能实现软件的任何功能,它的功能是到磁盘的特定位置去读取真正的主程序,并能是到磁盘的特定位置去读取真正的主程序,并把控制权交给主程序,以此来阻止用把控制权交给主程序,以此来阻止用 COPYCOPY命令命令复制软件。 复制软件。 但随着时间的推移,人们发现根本不用编写这类但随着时间的推移,人们发现根本不用编写这类搬运程序,因为搬运程序,因为 DOSDOS提供了一种更可靠、更简单提供了一种更可靠、更简单的方法——隐含文件名。的方法——隐含文件名。致命弱点:阻止不了致命弱点:阻止不了 DISKCOPYDISKCOPY命令的冲击。命令的冲击。

Page 10: 第十二章 软件防拷贝技术

磁盘防拷贝技术磁盘防拷贝技术新的反拷贝技术:新的反拷贝技术:1.1. 使用异常的使用异常的 IDID参数参数

IDID 字段是磁盘在格式化时被写入的,在写入时不作正确性检字段是磁盘在格式化时被写入的,在写入时不作正确性检查,所以我们可以在格式化磁盘时任意修改查,所以我们可以在格式化磁盘时任意修改 IDID 字段中的内容。字段中的内容。当要读写磁盘时,就要求将被读取扇区的当要读写磁盘时,就要求将被读取扇区的 IDID 字段与相应的读字段与相应的读写参数写参数 (( 是标准是标准 DOSDOS 格式时,由系统默认的格式时,由系统默认的 INT1EINT1E 提供该提供该标准格式参数标准格式参数 )) 进行比较,只有当两者相同时,读写操作才进行比较,只有当两者相同时,读写操作才能成功。 能成功。 如果我们使用了异常的如果我们使用了异常的 IDID 参数格式化出了一个磁道或扇区,参数格式化出了一个磁道或扇区,那么在读写该磁道或扇区时,我们必须给出格式化时所用的那么在读写该磁道或扇区时,我们必须给出格式化时所用的 IIDD 参数才能读写成功,这个磁道或扇区就被我们称作为指纹,参数才能读写成功,这个磁道或扇区就被我们称作为指纹,这种异常的这种异常的 IDID 参数加密法能成功的防止各类参数加密法能成功的防止各类 DOSDOS 标准格式标准格式复制程序。复制程序。没有逃脱没有逃脱 COPY PCⅡCOPY PCⅡ 和和 COPYWRITCOPYWRIT 的威慑。的威慑。

Page 11: 第十二章 软件防拷贝技术

磁盘防拷贝技术磁盘防拷贝技术举例:举例:

– 超级扇区技术超级扇区技术 :: 磁盘机可以成功的读取长达磁盘机可以成功的读取长达 40964096 个字节的扇区,个字节的扇区,而最多只能对而最多只能对 10241024 个字节的扇区进行格式化,所以我们可以运个字节的扇区进行格式化,所以我们可以运用特殊的设备来格式化长度用特殊的设备来格式化长度 NN为为 55 的扇区,借此来实现反拷贝的扇区,借此来实现反拷贝技术技术 ; ;

– 额外扇区技术额外扇区技术 :: 一个磁道的容量大约在一个磁道的容量大约在 62246224 个字节左右,所以个字节左右,所以完全可以在减小扇区间隙的前提下,把一个磁道扩充成完全可以在减小扇区间隙的前提下,把一个磁道扩充成 1010 个扇个扇区,这样就使区,这样就使 DOSDOS 的拷贝程序无法复制到第的拷贝程序无法复制到第 1010 个扇区中的内个扇区中的内容,不过这种技术在现今已经不再用于反拷贝技术,一是由于这容,不过这种技术在现今已经不再用于反拷贝技术,一是由于这类方法已经有相应的对抗措施类方法已经有相应的对抗措施 ;; 二是它和下面介绍的额外磁道技二是它和下面介绍的额外磁道技术已经被广泛的运用于磁盘扩容技术中 术已经被广泛的运用于磁盘扩容技术中

– 扇区乱序排列法扇区乱序排列法 :: 一个磁道上的扇区是从小到大排列的,扇区乱一个磁道上的扇区是从小到大排列的,扇区乱序排列法就是刻意打乱扇区的正常排列,把扇区从大到小或任意序排列法就是刻意打乱扇区的正常排列,把扇区从大到小或任意跳跃地排列起来,以阻止跳跃地排列起来,以阻止 DOSDOS 程序的复制。通过计算可知异常程序的复制。通过计算可知异常 IIDD 有有 4141 种可能的形式,而且最新的某些软加密技术在实现上也种可能的形式,而且最新的某些软加密技术在实现上也是巧妙地运用了是巧妙地运用了 IDID参数,所以说进一步深入了解参数,所以说进一步深入了解 IDID 的运用是十的运用是十分必要的,不过在方法上要充分考虑到指纹的唯一性,因为只有分必要的,不过在方法上要充分考虑到指纹的唯一性,因为只有这样才能达到防止这样才能达到防止 ""解一通百解一通百 "" 的目的。 的目的。

Page 12: 第十二章 软件防拷贝技术

磁盘防拷贝技术磁盘防拷贝技术2.2. 额外磁道技术 额外磁道技术

– 一张未格式化的双面双密软盘一共有一张未格式化的双面双密软盘一共有 4848 个磁个磁道,而在道,而在 DOSDOS 中只用到了前中只用到了前 4040 个 个

– 只用只用 4040 个磁道是由于考虑到了磁盘和磁盘机个磁道是由于考虑到了磁盘和磁盘机的可靠性,但是通过实验人们发现的可靠性,但是通过实验人们发现 40-4240-42 磁磁道照样有较高的可靠性。道照样有较高的可靠性。

– 我们就可以利用这我们就可以利用这 33 个磁道来存放一些重要个磁道来存放一些重要数据,因为数据,因为 DOSDOS 的拷贝程序只复制前的拷贝程序只复制前 4040 个个磁道。 磁道。

Page 13: 第十二章 软件防拷贝技术

磁盘防拷贝技术磁盘防拷贝技术3.3. 未格式化扇区和磁道法 未格式化扇区和磁道法

– 一张新的磁盘在使用时首先要格式化,这是一张新的磁盘在使用时首先要格式化,这是因为因为 DOSDOS 有自己管理磁盘的标准,也只有符有自己管理磁盘的标准,也只有符合这种标准的磁盘,合这种标准的磁盘, DOSDOS才能复制和管理 才能复制和管理

– 我们只要在格式化磁盘时,故意的在某一个我们只要在格式化磁盘时,故意的在某一个或多个磁道上不格式化或少格式化几个扇区,或多个磁道上不格式化或少格式化几个扇区,就足以对付就足以对付 DOSDOS 的拷贝程序的拷贝程序

– 但这种方法难以抵挡但这种方法难以抵挡 COPYWRITCOPYWRIT 和和 COPYCOPYPCⅡPCⅡ 的攻击。 的攻击。

Page 14: 第十二章 软件防拷贝技术

磁盘防拷贝技术磁盘防拷贝技术4.4. 弱位技术:弱位技术:

– 磁盘是一种通过不同的磁化单元来记录信息的磁记录设备,它记磁盘是一种通过不同的磁化单元来记录信息的磁记录设备,它记录的信息有两种可能性,即“录的信息有两种可能性,即“ 1”1” 或“或“ 0”0” ,但如果在写盘时采用,但如果在写盘时采用了特殊技术,使得所记录的信息比了特殊技术,使得所记录的信息比 11 信号弱些,比信号弱些,比 00 信号强些,信号强些,这样就形成了反拷贝技术中的弱位技术。这样就形成了反拷贝技术中的弱位技术。

– 当磁盘机从原盘上读取数据时,读出的数据非当磁盘机从原盘上读取数据时,读出的数据非 11 即即 00 ,对弱位也,对弱位也不例外,可是弱位中存放的是一种非不例外,可是弱位中存放的是一种非 11 非非 00 的数据,所以它存在的数据,所以它存在多次读取的结果不一致的特点,如果拷贝程序只按某一次读取的多次读取的结果不一致的特点,如果拷贝程序只按某一次读取的数据进行复制的话,必然使复制盘中不含弱位。数据进行复制的话,必然使复制盘中不含弱位。

– 弱位技术是一种构思比较巧妙的反拷贝技术,但是关于它的制作弱位技术是一种构思比较巧妙的反拷贝技术,但是关于它的制作方法却很少公开,不过我们可以利用工具软件方法却很少公开,不过我们可以利用工具软件 EXPLOREREXPLORER 来制来制作,有兴趣的读者可以研究一下。 作,有兴趣的读者可以研究一下。

Page 15: 第十二章 软件防拷贝技术

磁盘防拷贝技术磁盘防拷贝技术5.5. 宽磁道技术:宽磁道技术:

– 磁盘机的磁头由读写磁头和消磁磁头组合而成,其中磁盘机的磁头由读写磁头和消磁磁头组合而成,其中的读写磁头用来读写磁道,而在读写磁头外侧的消磁的读写磁头用来读写磁道,而在读写磁头外侧的消磁磁头主要用以抹除读写磁头所产生的多余磁场,以减磁头主要用以抹除读写磁头所产生的多余磁场,以减少磁道间的数据干扰 少磁道间的数据干扰

– 宽磁道技术则是针对磁盘机磁头的这种组合来设计的,宽磁道技术则是针对磁盘机磁头的这种组合来设计的,它的具体实现是利用一种能同时在两个或更多的磁道它的具体实现是利用一种能同时在两个或更多的磁道上写数据的宽磁头,在两个相邻的磁道上写上相同的上写数据的宽磁头,在两个相邻的磁道上写上相同的数据,甚至可在这两个磁道之间的间隙中写上相同的数据,甚至可在这两个磁道之间的间隙中写上相同的数据数据 (( 这是相对比较窄而且具有消磁磁头的普通磁头这是相对比较窄而且具有消磁磁头的普通磁头无论如何也做不到的无论如何也做不到的 )) ,以此建立一个较普通磁道至,以此建立一个较普通磁道至少宽一倍的宽磁道少宽一倍的宽磁道

– 用普通磁头复制这类宽磁道时,由于消磁磁头的存在用普通磁头复制这类宽磁道时,由于消磁磁头的存在始终会造成一个间隙,所以根本无法构造宽磁道 始终会造成一个间隙,所以根本无法构造宽磁道

Page 16: 第十二章 软件防拷贝技术

磁盘防拷贝技术磁盘防拷贝技术6.6. CRCCRC错误法:错误法:

– 循环冗余校验码循环冗余校验码 CRCCRC 是软磁盘控制器是软磁盘控制器 FDCFDC 在向磁盘在向磁盘写入数据时自动生成的 写入数据时自动生成的

– 在正常时,软磁盘控制器所产生的在正常时,软磁盘控制器所产生的 CRCCRC校验码都是校验码都是正确的,只有在软磁盘有物理性损伤或缺陷时才会产正确的,只有在软磁盘有物理性损伤或缺陷时才会产生错误的生错误的 CRCCRC校验码 校验码

– 人为生成错误的人为生成错误的 CRCCRC校验码,在写入数据时,人为校验码,在写入数据时,人为地在某一个扇区或几个扇区产生地在某一个扇区或几个扇区产生 IDID字段或数据字段字段或数据字段的错误校验码 的错误校验码

– 在复制有在复制有 CRCCRC错误的扇区时,由于软磁盘控制器错误的扇区时,由于软磁盘控制器 FDFDCC 在正常的情况下,本身绝对不会产生错误的在正常的情况下,本身绝对不会产生错误的 CRCCRC校验码校验码 (( 除非软磁盘有缺陷除非软磁盘有缺陷 )) ,所以肯定也不可能复,所以肯定也不可能复制人为生成的错误的制人为生成的错误的 CRCCRC校验码 校验码

Page 17: 第十二章 软件防拷贝技术

磁盘防拷贝技术磁盘防拷贝技术7.7. 几种不常用的反拷贝技术 几种不常用的反拷贝技术

– 扇区对齐技术扇区对齐技术 :: 通常的拷贝程序在复制软磁盘时,只通常的拷贝程序在复制软磁盘时,只将它读到的某磁道数据全部写入到目标盘的相应位置,将它读到的某磁道数据全部写入到目标盘的相应位置,根本不管各磁道内扇区的起始位置是否对齐,因此如根本不管各磁道内扇区的起始位置是否对齐,因此如果有了对齐的扇区,便可以达到反拷贝的目的 果有了对齐的扇区,便可以达到反拷贝的目的

– 螺线型磁道技术螺线型磁道技术 :: 螺线型磁道技术就是在软磁盘上制螺线型磁道技术就是在软磁盘上制作一些螺线型的磁道,当磁头在读写这类磁道时,势作一些螺线型的磁道,当磁头在读写这类磁道时,势必会造成磁头的步进必会造成磁头的步进 (( 由于普通的磁道是一个同心圆由于普通的磁道是一个同心圆 )) ,,以达到读写数据与磁头步进同时进行,这就打乱了步以达到读写数据与磁头步进同时进行,这就打乱了步进结束后方开始读写数据的传统复制方法 进结束后方开始读写数据的传统复制方法

Page 18: 第十二章 软件防拷贝技术

磁盘防拷贝技术磁盘防拷贝技术– FMFM 格式法格式法 ::调频制调频制 FMFM 是早期的磁盘机常用的是早期的磁盘机常用的编码方式,如今的编码方式,如今的 PCPC 机使用的是改进调频制机使用的是改进调频制MFMMFM编码方式,它们之间存在着显著的差异,编码方式,它们之间存在着显著的差异,如果对软磁盘的某个磁道用调频制如果对软磁盘的某个磁道用调频制 FMFM编码方编码方式进行格式化的话,式进行格式化的话, DOSDOS 将无法正常读出该将无法正常读出该磁道 磁道

Page 19: 第十二章 软件防拷贝技术

磁盘防拷贝技术磁盘防拷贝技术– DDAMDDAM 法法 :: 利用软磁盘控制器的写删除数据标志命令写利用软磁盘控制器的写删除数据标志命令写

某个扇区,使得其数据区地址标志变为某个扇区,使得其数据区地址标志变为 DDAMDDAM ,值是,值是F8H(F8H( 正常时扇区数据的地址标志是正常时扇区数据的地址标志是 DAMDAM ,值是,值是 FBH)FBH) 。。当复制工具碰到删除数据标志时,会跳过该扇区而转当复制工具碰到删除数据标志时,会跳过该扇区而转去复制下一个扇区,这样就达到加密的目的去复制下一个扇区,这样就达到加密的目的 ; ;

– 伪扇区法伪扇区法 :: 伪扇区是指只有伪扇区是指只有 IDID字段没有数据字段的假字段没有数据字段的假扇区,由于数据字段比扇区,由于数据字段比 IDID字段要大得多,而伪扇区又字段要大得多,而伪扇区又没有数据字段,所以可在一个磁道上写入很多个伪扇没有数据字段,所以可在一个磁道上写入很多个伪扇区,当复制程序工作时要为这些伪扇区分配很大的内区,当复制程序工作时要为这些伪扇区分配很大的内存,以存放这些伪扇区的数据值存,以存放这些伪扇区的数据值 ((伪扇区中不存在数据伪扇区中不存在数据字段字段 )) ,因而它会很快地使缓冲区溢出,以达到无法复,因而它会很快地使缓冲区溢出,以达到无法复制的目的制的目的 ; ;

Page 20: 第十二章 软件防拷贝技术

磁盘防拷贝技术磁盘防拷贝技术– 双机加密技术双机加密技术 :: 联合使用两个或更多个不同的软磁盘控联合使用两个或更多个不同的软磁盘控

制器的加密技术,又称为两种不同软磁盘控制器之间制器的加密技术,又称为两种不同软磁盘控制器之间的移花接木。 的移花接木。 各种型号的软磁盘控制器的功能是有差异的,如某软磁盘控制各种型号的软磁盘控制器的功能是有差异的,如某软磁盘控制器可以检测出软盘上的某种特殊数据格式,但它本身却不能生器可以检测出软盘上的某种特殊数据格式,但它本身却不能生成这种特殊的数据格式,而这种特殊的数据格式需要其它某种成这种特殊的数据格式,而这种特殊的数据格式需要其它某种型号的软磁盘控制器才能产生,这就是双机加密技术的特点和型号的软磁盘控制器才能产生,这就是双机加密技术的特点和优点。优点。

另外还有一些反拷贝技术如另外还有一些反拷贝技术如 :: 磁道间距不规则变磁道间距不规则变化技术、改变主轴电机转速法、磁道噪声法和电化技术、改变主轴电机转速法、磁道噪声法和电磁软盘加密法等 磁软盘加密法等

Page 21: 第十二章 软件防拷贝技术

磁盘防拷贝技术磁盘防拷贝技术针孔反拷贝技术:针孔反拷贝技术:– 早在早在 2020 世纪世纪 8080 年代末期,就有人开始尝试用年代末期,就有人开始尝试用

针孔来代替造价昂贵的激光孔了,至针孔来代替造价昂贵的激光孔了,至 2020 世纪世纪 9900 年代初期,甚至有人提出用针孔来复制激光年代初期,甚至有人提出用针孔来复制激光加密孔,以达到复制软磁盘控制器根本无法生加密孔,以达到复制软磁盘控制器根本无法生成的激光孔的目的。 成的激光孔的目的。

– 生成的损伤区域小,造价十分低廉。生成的损伤区域小,造价十分低廉。– 损坏磁头、制作效率不高。损坏磁头、制作效率不高。

Page 22: 第十二章 软件防拷贝技术

磁盘防拷贝技术磁盘防拷贝技术掩膜反拷贝技术:掩膜反拷贝技术:– 激光与针孔反拷贝技术都是损坏了磁盘的磁性介质,激光与针孔反拷贝技术都是损坏了磁盘的磁性介质,破坏了磁盘的光洁度,对软磁盘驱动器的磁头都有一破坏了磁盘的光洁度,对软磁盘驱动器的磁头都有一定程度的磨损,为了弥补这个不足,掩膜反拷贝技术定程度的磨损,为了弥补这个不足,掩膜反拷贝技术应运而生。应运而生。

– 掩膜反拷贝技术是在磁介质的某一块区域上镀上一层掩膜反拷贝技术是在磁介质的某一块区域上镀上一层膜,从而使该区域不能正常记录信息,也使拷贝工具膜,从而使该区域不能正常记录信息,也使拷贝工具无法识别,导致拷贝失败。无法识别,导致拷贝失败。

– 掩膜反拷贝技术与激光加密技术一样,有极高的可靠掩膜反拷贝技术与激光加密技术一样,有极高的可靠性,而且是一种很有前途的指纹制作技术。 性,而且是一种很有前途的指纹制作技术。

Page 23: 第十二章 软件防拷贝技术

磁盘防拷贝技术磁盘防拷贝技术加密卡:加密卡:– 把软件产品固化在硬件电路上,并附上一些特殊的电把软件产品固化在硬件电路上,并附上一些特殊的电

路以形成指纹,这样就形成了加密卡路以形成指纹,这样就形成了加密卡 (( 有的加密卡只具有的加密卡只具有指纹功能有指纹功能 )) ,当被加密程序执行时,可以通过端口指,当被加密程序执行时,可以通过端口指令来检测加密卡的存在,甚至要直接从加密卡上读取令来检测加密卡的存在,甚至要直接从加密卡上读取数据或程序,如果这期间出现错误将引起系统的死循数据或程序,如果这期间出现错误将引起系统的死循环或退出。 环或退出。

– 用加密卡技术实现加密具有极高的可靠性,比其它任用加密卡技术实现加密具有极高的可靠性,比其它任何加密方法的可靠性都高,而且其加密的磁盘不能用何加密方法的可靠性都高,而且其加密的磁盘不能用任何的磁盘拷贝工具进行复制,因为复制的磁盘在没任何的磁盘拷贝工具进行复制,因为复制的磁盘在没有加密卡的情况下无法正常运行。 有加密卡的情况下无法正常运行。

Page 24: 第十二章 软件防拷贝技术

磁盘防拷贝技术磁盘防拷贝技术– 对于加密卡的解密方法只有两种对于加密卡的解密方法只有两种 :: 一是复制加一是复制加

密卡密卡 ;; 二是彻底分析加密软件,这两种方法实二是彻底分析加密软件,这两种方法实现起来都比较困难。现起来都比较困难。

Page 25: 第十二章 软件防拷贝技术

磁盘防拷贝技术磁盘防拷贝技术指纹唯一性和不可复制性。指纹唯一性和不可复制性。从前面的众多反拷贝技术来看,显然不具从前面的众多反拷贝技术来看,显然不具备指纹唯一性的有备指纹唯一性的有 ::– 异常异常 IDID参数参数– 额外磁道技术额外磁道技术– 未格式化扇区和磁道法等反拷贝技术未格式化扇区和磁道法等反拷贝技术因为这类反拷贝技术不具备指纹唯一性,因为这类反拷贝技术不具备指纹唯一性,所以它们能被高级拷贝工具复制。所以它们能被高级拷贝工具复制。

Page 26: 第十二章 软件防拷贝技术

磁盘防拷贝技术磁盘防拷贝技术指纹的不可复制性和唯一性是否都要同时存在才指纹的不可复制性和唯一性是否都要同时存在才能形成一个好的反拷贝技术呢能形成一个好的反拷贝技术呢 ? ?

在双机加密技术中,可以由某种软磁盘控制器制在双机加密技术中,可以由某种软磁盘控制器制作出另一种软磁盘控制器根本无法制作的指纹,作出另一种软磁盘控制器根本无法制作的指纹,而这种指纹完全可以重复甚至不变,也就是说完而这种指纹完全可以重复甚至不变,也就是说完全抛弃指纹的唯一性,但依旧保持了指纹的不可全抛弃指纹的唯一性,但依旧保持了指纹的不可复制性。复制性。可以肯定的是如果指纹的不可复制性和唯一性同可以肯定的是如果指纹的不可复制性和唯一性同时存在的话,那么反拷贝技术的可靠性将更高。时存在的话,那么反拷贝技术的可靠性将更高。

Page 27: 第十二章 软件防拷贝技术

磁盘防拷贝技术磁盘防拷贝技术指纹的随机性:指纹的随机性:– 现今成功的一些反拷贝技术现今成功的一些反拷贝技术 (( 如扇区间隙技术和磁道接如扇区间隙技术和磁道接缝技术等缝技术等 )) 都采用了随机性这个概念,非写入部分的数都采用了随机性这个概念,非写入部分的数据随机性、磁头操作时定位点的随机性等等,总而言据随机性、磁头操作时定位点的随机性等等,总而言之那些不是人们刻意去写入的或者由于机械方面产生之那些不是人们刻意去写入的或者由于机械方面产生的一些碎数据,我们都可以把它们收集起来,形成一的一些碎数据,我们都可以把它们收集起来,形成一种当前最流行的反拷贝技术。 种当前最流行的反拷贝技术。

– 指纹的随机性从一个方面来讲是指纹唯一性的一个分指纹的随机性从一个方面来讲是指纹唯一性的一个分支。支。

– 完全具备了唯一性和不可复制性两种特性,所以它超完全具备了唯一性和不可复制性两种特性,所以它超越了唯一性的定义。越了唯一性的定义。

– 一个反拷贝技术制作出的指纹如果具备了随机性,那一个反拷贝技术制作出的指纹如果具备了随机性,那么它是比较可靠的。么它是比较可靠的。

Page 28: 第十二章 软件防拷贝技术

软件防拷贝技术软件防拷贝技术防拷贝技术分类防拷贝技术分类– 硬件防拷贝技术硬件防拷贝技术– 软硬件结合防拷贝软硬件结合防拷贝– 软件防复制方法软件防复制方法磁盘防拷贝技术磁盘防拷贝技术反防拷贝技术——脱壳反防拷贝技术——脱壳软件限制技术软件限制技术EXEEXE 文件加密器程序示例文件加密器程序示例

Page 29: 第十二章 软件防拷贝技术

反防拷贝技术——脱壳反防拷贝技术——脱壳壳:壳: shellshell ,软件中专门一段负责保护软件,软件中专门一段负责保护软件不被非法修改或反汇编的程序,将先于程不被非法修改或反汇编的程序,将先于程序而运行,拿到控制权来保护软件。序而运行,拿到控制权来保护软件。通常通常 shellshell 与压缩一体化。 与压缩一体化。 脱壳技术就是利用反汇编,找到判定正版脱壳技术就是利用反汇编,找到判定正版的跳转语句,直接修改。 的跳转语句,直接修改。

Page 30: 第十二章 软件防拷贝技术

反防拷贝技术——脱壳反防拷贝技术——脱壳解密(脱壳)技术的进步促进、推动了当解密(脱壳)技术的进步促进、推动了当时的加密(加壳)技术的发展。时的加密(加壳)技术的发展。 LOCK95LOCK95和和 BITLOKBITLOK 等所谓的“壳中带籽”加密程等所谓的“壳中带籽”加密程序纷纷出笼。 序纷纷出笼。 国外的“壳”类软件有国外的“壳”类软件有 LZEXELZEXE 之类的压缩之类的压缩壳,它是一个标准的加壳软件,它把壳,它是一个标准的加壳软件,它把 EXEEXE文件压缩了以后,再在文件上加上一层在文件压缩了以后,再在文件上加上一层在软件被执行的时候自动把文件解压缩的软件被执行的时候自动把文件解压缩的“壳”来达到压缩“壳”来达到压缩 EXEEXE 文件的目的。 文件的目的。

Page 31: 第十二章 软件防拷贝技术

反防拷贝技术——脱壳反防拷贝技术——脱壳在脱壳技术中,保护在脱壳技术中,保护 EXEEXE 文件不被动态跟文件不被动态跟踪和静态反编译是非常重要的。有一些专踪和静态反编译是非常重要的。有一些专门这样的加壳程序,如门这样的加壳程序,如 MESSMESS 、、 CRACKSCRACKSTOPTOP 、、 HACKSTOPHACKSTOP 、、 TRAPTRAP 、、 UPSUPS 等。等。脱壳技术大量使用了静态跟踪技术、动态脱壳技术大量使用了静态跟踪技术、动态跟踪技术,后续章节有详述。 跟踪技术,后续章节有详述。

Page 32: 第十二章 软件防拷贝技术

软件防拷贝技术软件防拷贝技术防拷贝技术分类防拷贝技术分类– 硬件防拷贝技术硬件防拷贝技术– 软硬件结合防拷贝软硬件结合防拷贝– 软件防复制方法软件防复制方法磁盘防拷贝技术磁盘防拷贝技术反防拷贝技术——脱壳反防拷贝技术——脱壳软件限制技术软件限制技术EXEEXE 文件加密器程序示例文件加密器程序示例

Page 33: 第十二章 软件防拷贝技术

软件限制技术软件限制技术目前,许多应用程序都有在一定限制条件目前,许多应用程序都有在一定限制条件内免费使用的功能,利用该功能可以有效内免费使用的功能,利用该功能可以有效限制非法用户的使用,同时,还可以使合限制非法用户的使用,同时,还可以使合法用户在充分了解软件优缺点的基础上,法用户在充分了解软件优缺点的基础上,再决定是否购买。 再决定是否购买。 软件限制技术的利用在保护正版软件的基软件限制技术的利用在保护正版软件的基础上,既有效地扩大了软件的使用范围,础上,既有效地扩大了软件的使用范围,又给用户提供了进行充分选择的机会。 又给用户提供了进行充分选择的机会。

Page 34: 第十二章 软件防拷贝技术

软件限制技术软件限制技术软件限制技术有很多种,比如:软件限制技术有很多种,比如:– 利用注册表限制程序使用的天数,比如限制使用利用注册表限制程序使用的天数,比如限制使用 3030天;天;– 利用注册表限制程序使用的次数,比如限制使用利用注册表限制程序使用的次数,比如限制使用 4545次;次;– 设定程序使用的截止日期,比如设截止日期为设定程序使用的截止日期,比如设截止日期为 20032003 年年

66月月 3030日;日;– 限制每次使用程序的时间,比如一次允许使用限制每次使用程序的时间,比如一次允许使用 5050 分钟。分钟。

这些软件限制技术既可以单独使用,也可以几个这些软件限制技术既可以单独使用,也可以几个同时使用实现综合保护。 同时使用实现综合保护。

Page 35: 第十二章 软件防拷贝技术

软件防拷贝技术软件防拷贝技术防拷贝技术分类防拷贝技术分类– 硬件防拷贝技术硬件防拷贝技术– 软硬件结合防拷贝软硬件结合防拷贝– 软件防复制方法软件防复制方法磁盘防拷贝技术磁盘防拷贝技术反防拷贝技术——脱壳反防拷贝技术——脱壳软件限制技术软件限制技术EXEEXE 文件加密器程序示例文件加密器程序示例

Page 36: 第十二章 软件防拷贝技术

EXEEXE 文件加密器程序示例文件加密器程序示例目的:设计加密软件目的:设计加密软件 .. 软件运行必须有特定软件运行必须有特定的密码才可以运行。的密码才可以运行。编程环境编程环境 : Delphi 6.0: Delphi 6.0 , , Windows XP.Windows XP.用于用于 EXEEXE 文件加密,这样别人在运行加密文件加密,这样别人在运行加密后的后的 EXEEXE 文件时必须输入加密的密码 文件时必须输入加密的密码 运行环境运行环境 :Pentium II 366MHZ:Pentium II 366MHZ ,, WIN9X/2WIN9X/2000/NT/XP000/NT/XP ,, 16M16M 内存以上。图内存以上。图 1 EXE1 EXE 文文件加密器界面件加密器界面源代码参见源代码参见 addoil.netaddoil.net 。 。