光盘是贸易软件最常用的流传载体之一, 绝大大都贸易软件最终都以光盘的形式发放到用户手中。今朝计较机软件市场上光盘盗版的现象很是严重, 光盘掩护是软件版权掩护很是重要的一个方面。光盘掩护主要是防备光盘拷贝和硬盘拷贝。
在措施中添加代码, 运行中对特定的、常见
单向散列算法是举办数据完整性校验的有效手段。对措施文件举办完整性校验时, 利用单向散列算法对文件数据举办加密计较, 获得一个牢靠长度的散列值, 将其在措施外部可能措施自身特定位置加密存储, 然后在措施运行中随机举办校验。校验进程中从头计较措施文件的散列值, 与事先存储的值举办较量( 假如事先计较的存储在文件自身, 则举办校验时先将存储该值的位置用文件初始值填充后再举办计较), 假如不相等, 证明措施被窜悔改, 阻止措施的正常运行。
要害词?? ?? 软件破解?? 版权掩护?? 软件掩护?? 加密Abstrac t?? ?? This paper ana ly zes and summ ar izes the acknow ledgem ents about the so ftwa re copyr ight pro tection, especia lly ana lyzes the pr inciple and the im plem en tation of the so ftwa re protection techno logy. The techno log ies are descr ibed on three aspects: CD, H ardw are and Sof-tw are, in wh ich the techno logy based on so ftw are is analyzed particu larly.
址沟通, 如被跟踪则相反。
措施中的壳措施去除或使其失效。
3) 非对称密钥算法
?? 未经软件著作权人许可, 颁发、挂号、修改、翻译其软件;?? 将他人软件作为本身的软件颁发可能挂号, 在他人软件上署名可能变动他人软件上的署名;
4. 1?? 光盘掩护
2) 对原措施反汇编, 阐明修改反汇编代码以绕过授权校验;
当措施被跟踪调试时, 这些内容会差异。
软件破解作为软件掩护的对立面而存在, 要阐明和把握软件版权掩护技能, 首先必需领略软件破解的流程。
中执行后会跳转到被解码的措施处再执行,
措施假如未被跟踪, 期INT1 和INT3 进口地
计较机软件产物有开拓完成后复制本钱低、复制效率高的特点, 所以往往成为蒙受版权加害的工具。研究与阐明软件版权掩护相关内容, 对付掩护计较机软件著作权人的权益, 勉励计较机软件的开拓与应用, 促进软件财富和百姓经济信息化的成长有着重要的意义。本文着重从软件掩护技能的道理和详细技妙手段两个方面临软件版权掩护举办阐明。
同事情, 在调试模式下因为线程挂起, 线程
?? 未经相助者许可, 将与他人相助开拓的软件作为本身单独完成的软件颁发可能挂号;
调试器检测要领描写
?? 安详源安详?? 安详源是指系统安详所依赖的数据或介质自身, 如加密算法的密钥, 加密硬件等。安详源安详也是软件掩护中一道重要的防地。
注册信息= Function(用户信息)
对付回收注册验证的版权节制, 假如对软件阐明获取了软件注册验证的逻辑算法和加密算法, 则有大概写出相应的措施用来生成正确地注册信息, 利用该注册信息注册的软件具有和正版软件同样的成果。这类用于生成注册信息的措施称为注册机。
反编译是一个将方针代码转酿成源代码的进程[ 4] , 方针代码是用某种语言暗示的代码, 这种语言能在实际呆板上可能虚拟机上运行。由于编译器在编译源代码时举办的一些代码优化和调解, 要通过反编译获得和原始代码完全沟通的源代码险些是不行能的, 可是可以获得与原始代码布局成果临近或基内情同的代码。
壳是计较机软件中一段专门认真掩护软件不被犯科修改或反编译的措施, 它先于软件原措施运行并拿到节制权, 举办必然处理惩罚后再将节制权转交给原措施, 实现掩护软件的任务[ 5] 。加壳后的措施可以或许有效防御静态阐明和增加动态阐明的难度。
3) 对原措施跟踪调试, 阐明注册验证进程获取注册信息或破解验证算法编写注册机;
间断, 当利用调试器对措施举办调试时因为
摘?? 要?? ?? 对软件版权掩护的相关常识举办了阐明和总结, 重点阐明白软件版权掩护技能的道理和实现手段。在基于光盘、硬件、软件举办的软件版权掩护技能基本上, 重点阐明白基于软件实现的版权掩护技能。
内存中没有原措施的完整代码, 这样做增加
需要更为靠得住的掩护可以在修改光盘ISO布局的同时为光盘添加开锁措施和不行复制的开锁信息, 开锁措施中包括一串密文, 开锁措施对开锁信息举办加密运算后与内部密文举办较量, 两者相符才跳转至正确的进口启动软件。
软件破解一般是通过特定的东西, 对软件载体或软件体自身的布局和数据举办阐明, 查察、猜测软件运行进程中措施的逻辑跳转和内存数据的变革, 采纳修改软件掩护体、被掩护体绕过授权校验, 或模仿软件正常运行条件的手段, 到达正常利用未经授权软件的目标。
反汇编是将可执行措施转换成汇编语言代码的进程[ 4]。
2) 反静态阐明
反静态阐明目标就是要只管埋没提示信息和注册验证的代码。可以回收的手段包罗代码夹杂、配置代码陷阱、措施加壳等。
统紊乱
通过技妙手段举办软件掩护主要是防备对软件产物的犯科复制和利用, 以及对软件产物举办的犯科修改。软件掩护的安详主要包罗以下几个方面:
在验证较量严格的环境下, 用户信息应该包括符号用户独一性且不行复制的信息, 可以回收的此类信息包罗计较机的CPU、硬盘等要害部件的硬件序列号, 计较机的IP地点( 对付回收牢靠IP地点的软件利用者)等。
[ 2 ] 看雪学院, 软件加密技能黑幕, 电子家产出书社, 2004.
在软件侵权行为中, 对付一些侵权主体较量明晰的, 一般通过法令手段予以办理, 可是对付一些侵权主体较量隐蔽或分手的, 当局打点部分受到时间、人力和财力诸多因素的制约, 还不能举办全面管束, 因此有须要通过技妙手段为掩护软件不受加害筑起一道防火墙。
可以修改光盘的ISO布局, 使文件目次埋没, 可能文件巨细异常, 可能将目次以文件方法显示, 阻碍光盘拷贝的行为。
粉碎间断向量表
?? 文件阐明东西?? FileInfo, PE iD, G tw
4) 对原措施跟踪调试, 提取并阐明注册验证代码, 修改代码逻辑;
间断向量表的粉碎调试进程将不能正常
行可以长短牢靠流程, 各个线程举办通信协
S egm en t Prefix) [3]
3. 2?? 软件破解的流程
5) 软件加壳
通信无法正常举办, 措施无法正常运行, 达
?? 代码夹杂?? 将措施中的变量名函数名用一些无法则字符替代, 将对单个函数的挪用拆解成对多个函数的巨大挪用, 到达夹杂原始代码的目标, 这样破解者对验证逻辑的定位变得坚苦, 纵然破解者反编译了原措施, 也不能从中等闲领略原措施运行的逻辑。
父历程检测法
的历程ID以判定是否被调试。
反静态阐明和反动态阐明的技能给通过修改可执行措施来实施进口破解的行为带来很大的障碍, 可是仍然不能完全防御对措施的修改, 因此有须要在软件运行进程中举办文件数据完整性校验。
[ 4 ] 科尔文( Cerven, P. )著, 韩宏莲译, C racker终结者: 提供最优秀的软件掩护技能, 北京: 清华大学出书社, 2004.
?? 防备光盘拷贝?? 防备对光盘中数据举办复制, 阻碍盗版光盘的出产。
操纵, 如生存断点等, 因此采纳法子以阻止
和间断3, 间断1为单步间断, 间断3为断点
[ 5 ] 武新华主编,
阻碍调试器要领描写
4. 3?? 基于软件的版权掩护技能
常用的静态阐明东西主要有[ 1] :
的14H 和16H 开始的两个字节是沟通的,
存在对应调试器, 采纳相应法子。
间断检测法
跟踪调试软件在运行时, 会发生大量地仓库
软件破解一般的手段有:
要实现开锁信息的不行复制性, 可以回收的手段有: 操作指纹或数字签名作为开锁信息, 将一串代码刻录至光盘上的非凡位置, 这些位置上的数据无法直接读出, 只有开锁措施能检测到此指纹的存在并验证其是否有效, 如回收激光加密技能将非凡刻录的激光孔硬符号作为?? 指纹信息?? [ 5] ; 操作光盘的固有物理属性作为开锁信息, 如回收差异范例的CD- R对原盘举办刻录时, 由于差异CD 上的扇区长度、密度等均存在差别, 沟通长度的数据写入差异光盘后, 各扇区的角度将差异, 可以通过识别该信息作为开锁信息。
参考文献
段解码, 解码的进程在堆中完成, 代码在堆
基于注册验证的版权节制是今朝利用较量遍及的版权掩护方法。
1) 对原措施反汇编, 阐明反汇编代码获取注册信息或破解注册验证算法编写注册机;
序被跟踪运行时, 则仓库空间不敷, 呈现系
的调试器举办检测, 假如在当前历程列表中
软件版权掩护不只是一个技能问题, 更是一个法令问题, 其最终的办理要靠人们版权意识的不绝增强和法令的不绝完善来实现。
?? 复制可能部门复制著作权人的软件;
当前历程父历程的历程ID 与explorer. exe
?? 措施加壳?? 加壳后原措施被加密或压缩生存在壳措施中, 在措施运行时才被还原, 可以有效防御静态阐明。
换与加密, 替换的进程中会生成相应的解密
3. 3?? 暗码学算法简介[ 6]
PSP法( Program
所谓静态阐明就是从反编译出来的措施列表上阐明措施的流程, 从提示信息入手举办阐明, 相识模块完成的成果, 探索出软件的运行机制, 以实现对其顺利解密[ 5] 。
在法令手段上, 软件版权主要是以著作权法来掩护的。按照著作权法令的原则, 法令所掩护的工具是作者思想的详细表达方法, 而非思想自己。详细针对软件来说, 著作权法令所掩护的是软件的表达方法, 包罗文档、源措施、方针措施, 而不包罗开拓软件所用的思想、处理惩罚进程、操纵要领可能数学观念等[ 9]。
对付纯粹的东西阐明, 代码陷阱能起到很好的掩护浸染。一般采纳的有下列要领: 配置大轮回、废指令法、措施自生成技能[3] 。
基于硬件的软件版权掩护是在软件授权加密的进程中引入硬件, 操作硬件技能的安详性为软件产物的安详性提供保障。
措施在正常运行时所用时间一般远小于被
[ 1 ] 段钢, 加密与解密(第二版), 电子家产出书社, 2003.
可以在软件运行进程中, 判定光驱中是否存在特定文件, 可能运行中加载光盘中的部门代码/数据执行, 这样用户纵然将光盘数据拷贝到硬盘, 没有相应的光盘, 软件也不能正常运行。
大量的仓库操纵, 如将仓库设在内存地点低
?? 加壳东西?? ASPack, UPX, PECompac t, ASPro tect, DBPE 等3) 反动态阐明
基于以上计策的版权节制, 流程如图1所示。
?? 向公家刊行、出租、通过信息网络流传著作权人的软件;?? 存心避开可能粉碎著作权工钱掩护其软件著作权而采纳的技能法子;
?? 存心删除可能改变软件权利打点电子信息;
在基于注册验证的版权节制中团结回收加密掩护型壳, 将注册信息作为原措施解密的暗码, 对注册验证逻辑的修改将导致原措施解密进程的失败, 这样可以大大提高基于软件注册的版权节制计策的进口安详性。
?? W in32措施资源查察东西?? Resource H acker, eXeScope?? 反汇编东西?? W 32Dasm, IDA Pro
代码插入到措施中。原措施运行进程中分
多线程反调试
程都处于挂起状态, 多线程的措施其代码执
?? 转让可能许可他人行使著作权人的软件著作权。
加壳后措施的执行流程图2所示。
2?? 软件版权相关常识
对换试器举办检测的要领包罗表4. 1中要领等。
在W indow s中, 一个措施被调试时其所有线
为调试器历程, 可以在措施运行进程中较量
对称密钥算法中, 用于加密的密钥和用于解密的密钥是完全沟通的。对称算法的安详性主要依靠算法自己的强度和密钥的私密性。对称密钥算法运行速度快。最著名的对称加密系统是美国的DES, AES和欧洲的IDEA。
了代码还原的难度。
4) 数据校验
差异位置添加时间检测代码以确定措施是
单向散列算法中的CRC 算法在文件完整性校验中应用很是普遍, 假如需要更高的加密强度, 可以回收MD5 和SHA-1算法。在数据校验进程中引入硬件, 将数据初始校验值的存储和数据校验的进程移植到硬件中, 以及实现校验时刻的随机性, 都能显著提高措施防改动本领。
W indow s下措施正常运行时其父历程为exp
5?? 总?? 结
图1?? 基于软件注册的版权节制流程
版权, 又称著作权或作者权, 是指作者对其创作的作品享有的人身权和工业权[ 7, 8]。人身权包罗颁发权、署名权、修改权和掩护作品完成权等; 工业权包罗作品的利用权和得到酬金权。
3?? 软件版权掩护技能的道理
表1?? 调试器检测要领列表
到反调试的结果。
按时检测法
常见的软件侵权行为包罗[ 9] :
不检测调试器而阻碍调试器运行的手段包括表4. 2 中要领等。
特定调试器检测法
措施中的提示信息有注册提示信息、验证提示信息等, 可能一些有意义的函数名变量名等。按照这些提示信息, 在反编译获得的措施清单中举办查找, 从而定位措施中注册验证逻辑的位置。
码以防备调试措施对壳措施举办阐明。加
4?? 软件版权掩护的技妙手段
否处于调试运行中。
?? 工具安详?? 工具指要掩护的软件体自己。其安详问题成立在授权工具的独一性和授权符号的不行伪造性的基本上,工具安详一般依赖于现代暗码学中的有安稳理论基本的加密算法。
跟踪调试时所利用的时间, 可以在代码中的
行流程
K eywords?? ?? Softw are crack ing?? Copy right protection?? So ftw are protection?? Encryption1?? 引?? 言
端, 在正常操纵时仓库巨细满意要求, 当程
按照对原措施实施掩护方法的差异, 壳大抵可以分为以下两类:
这种掩护方法可以通过修改措施验证逻辑而破解, 安详系数较低, 可是因为价值也低, 此刻仍然有不少人回收。
每个措施运行时都必需成立相应的措施断
今朝较量靠得住的硬件掩护方法中, 实施掩护的硬件包括内置CPU, 措施中的注册验证模块和部门要害模块回收高强度加密算法加密存储在该硬件中, 措施运行中执行存储在该硬件中的模块, 模块解码和执行功效的加密由内置CPU 完成。可以在硬件驱动中添加反跟踪代码以防备对硬件数据举办截取。因为硬件中包括了措施运行必须的要害模块, 要对软件实施破解必需对措施函数挪用举办阐明, 硬件内置CPU实现的加密成果和硬件驱动措施的反跟踪, 可以很洪流平上掩护成果模块不被仿真及破解[ 1] 。
2) 对称密钥算法
的举办。一般调试进程中利用的为间断1
对措施举办阐明最常见和有效的要领是反编译(包罗反汇编) 和措施跟踪调试。
lorer. exe, 处于调试模式下的历程其父历程
个中Func tion为加密函数, 个中可以综合回收多种加密算法。
按照措施调试运行的道理, 可以通过粉碎中
加密掩护型壳?? 按照用户输入的暗码以相应的算法对原措施举办加密。当措施执行的时候会提示用户输进口令或注册码。假如破解者强行变动暗码检测指令, 会导致措施不正确的执行, 因为被加密的代码并没有用相应的口令举办解密, 措施还没有被还原。
?? 进口安详?? 软件体自己可以分为掩护体和被掩护的软件主体, 进口即它们之间的团结点。担保进口安详就能防备绕过掩护体而直接进入被掩护的软件主体。进口安详往往成为软件掩护最单薄的环节和破解者最常进攻的环节, 进口安详是实施软件掩护必需高度重视的问题。
为防御脱壳, 可以在壳中添加反调试代
非对称密钥算法是基于注册验证的版权节制技能常用的加密算法。可以将用户信息用私钥加密, 得到的数据作为注册信息。在注册验证进程中, 用公钥对注册信息举办解密, 将得到的功效与当前用户信息举办较量以判定用户身份是否正当, 这样纵然破解者通过跟踪调试获得了公钥, 可是因为无法通过公钥计较获得私钥, 也无法写出相应的注册机。
4. 2?? 基于硬件的版权掩护技能
即果真密钥算法, 它包括一对密钥, 别离用于加密息争密,个中公钥可以果真通报, 私钥保密, 不能通过公钥计较获得私钥。利用一对密钥中的一方对数据加密, 必需利用另一刚刚气对数据举办解密。非对称密钥算法运行速度较慢, 可以团结对称密钥算法和非对称密钥算法举办加密, 对称密钥算法实现数据的加密, 非对称密钥算法实现对称密钥的加密。常用的非对称密钥系统有RSA, DSA, ECC等。
所谓动态阐明就是操作动态阐明东西一步一步地单步执行软件, 对软件进动作态跟踪, 及时阐明, 相识模块运行的细节, 最终实现软件的破解[ 5] 。常用的动态阐明东西主要有: SoftIce,TRW2000, OllyDbg 等。
单向散列算法也称为H ash算法, 它是软件版权掩护中常常利用的一种算法。它可以将任意长度的数据压缩到一个牢靠长度, 而且这一进程不行逆。单向散列算法可用于数字签名、数据完整性校验等, 常见的散列算法有MD5, SHA-1, N-HASH, RIPEMD,CRC 等。2004 年, 山东大学王小云传授破解了MD5算法,对SHA的破解也有了很大的希望, 暗码学界一直努力研究新的散列算法。
壳的时候先对原措施中的要害代码举办替
注册信息一般基于软件利用者的用户信息生成, 可以是一串序列号或注册码, 也可以是一个授权文件或其他存在形式。
2. 1?? 软件版权的观念
?? 代码陷阱?? 在措施文件中工钱配置一些无用代码或大概引起反编译措施错误领略的代码, 使反编译措施进入误区。
1) 单向散列算法
常用的反静态阐明东西主要有[ 1] :
5) 通过对原措施反汇编代码的阐明或对原措施跟踪调试,直接修改措施文件。
断向量表中跟调试相关的间断来阻止调试
2. 2?? 软件侵权行为
反动态阐明主要的技能是反调试[1, 3] , 即在措施运行中自动检测调试器的存在并采纳相应法子, 如抛系统异常, 遏制调试历程, 重启, 死机等, 以阻止调试器的运行, 使得对措施的阐明和修改无从入手。
早期的基于硬件的掩护是将软件的注册信息写入实施掩护的硬件, 信息举办简朴的加密调动后存储, 软件执行进程中读取注册信息举办验证, 假如验证失败则阻止软件的进一步运行。
措施跟踪调试的道理是在措施内存代码中插入间断指令, 使措施单步运行可能在特定位置间断, 以便对措施举办阐明。
?? 夹杂器?? yGuard ( java语言) , JODE ( java 语言), Dotfuscator(. ne t)等
基于软件的版权掩护方法因为其富厚的技妙手段和优良的性价比, 是今朝市场上主流的软件版权掩护方法。典范的技能包括以下几类:
压缩掩护型壳?? 对原措施举办压缩存储的壳。这种壳以减小原措施的体积为目标, 在对原措施的加密掩护上并没有做过多的处理惩罚, 所以安详性不高, 很容易脱壳。
回收加壳举办软件掩护要留意防备被脱壳, 即把添加在原图2?? 加壳措施运
[ 3 ] 宋红、吴建军、岳俊梅, 计较机安详技能, 中国铁道出书社, 2003.
所以采纳法令手段举办软件版权掩护应该留意所要掩护的工具, 不然很难获得充实的掩护。
1) 基于注册验证的版权节制
配置仓库指针法[ 3]
表2?? 阻碍调试器运行要领列表
?? 防备硬盘拷贝?? 指将光盘措施拷贝到硬盘中运行。
最新的基于硬件的版权掩护技能中引入了智能卡技能, IC智能卡芯片具有强大的运算和数据处理惩罚本领, 具有较大的存储空间, 可以提供对高级措施开拓语言的支持以更有效地将措施要害模块移植到硬件中, 实现软件和加密硬件间真正的无缝毗连。IC智能卡芯片只有通过国际安详机构检测和认证的专业安详芯片制造商才气提供, 为加密掩护的强度提供了保障。
运行。
前缀( PSP) , 当措施未被跟踪执行时, PSP中
?? ?? 软件的破解与软件版权掩护技能是矛与盾的干系, 两者之间的强弱此消彼长。单一的版权掩护技能存在各自的不敷, 在实际应用中设计软件版权掩护技能办理方案, 可以综合回收多种技能, 全面思量工具安详和进口安详, 并妥善处理惩罚好安详源的问题, 按照掩护需要的强度、便利性、经济性等各项因素, 回收具有最优性价比的方案。
?? 文件编辑东西?? H iew, H exW orkshop, W inH ex?? 反编译东西?? DeDe( de lph i语言), JAD、DJ Java Decompiler( java语言), Reflector( C# )
3. 1?? 软件掩护技能的道理
以上基于注册验证的版权节制办理的是工具安详问题, 对进口安详的问题并没有妥善办理, 破解者仍然可以采纳修改措施绕过注册验证逻辑的方法实现进口破解, 因此基于注册验证的版权节制还应该与以下防备对措施举办阐明和改动的技能相团结。
软件提供商对用户信息举办加密, 将加密功效作为注册信息返回给用户。按照用户信息生成注册信息的根基数学模子如下:
最著名的对称加论文范文密系统是美国的DES
毕业论文库:计算机 时间:2016-10-16 点击:
次