逆向工程软件加壳脱壳技术的研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
逆向工程软件加壳脱壳技术的研究.doc

逆向工程-软件加壳脱壳技术的研究 1引言 1.1课题背景 随着计算机技术的发展,面向各个应用领域的的软件不断的发展,各种软件应运 而生。但是无论哪种优秀的软件,其内部的核心技术往往是该软件的命脉,一旦被他 人窃取或者非法复制,由此受到的经济损失都是巨大的。共享软件是软件行业H前来 说世界上比较热门的话题,国内亦然。成千上万的程序员以极大的热情投入到软件行 业,都憧憬着用辛勤的劳动来获得丰厚的回报,但实际上并不是这样。其中最大的原 因就是共享软件被破解。 软件防破解一直是计算机安全领域的一门重要课题,软件加密技术是软件保护的 重要手段,其中的许多加密措施能给非法拷贝或者非法使用造成障碍,在某种程度上 增加了破解的难度,提高软件的安全性。0前的防破解技术主要冇硬件加密和软件加 密两种加密方式,硬件加密依靠存储在硬件中的数据信息进行软件保护,这些硬件一 般连接在计算机的并口、USB接口上,通过软件的特殊指令进行读取和校验,无法 轻易进行复制,保护性能好,但是存在造价高的缺点,一般用于大型的商业软件;软 件加密依靠各种复杂的加密算法来增加破解的难度,纯软件加密因为费用低廉而蓬勃 发展,但是这使得程序验证耍把大量的精力放在与软件功能无关的反破解上,一般用 于共享软件的保护。mm 加壳其实就是利用特殊的算法,对EXE、DLL文件的代码和资源进行压缩。类 似于EINZIP的效果,但是这个压缩过的文件可以独立运行,解压过程也完全隐蔽, 都在内存中完成。解压原理是加壳工具在文件头里加了一段指令,告诉CPU,怎么 解压自己。加壳虽然增加了 CPU的工作负枳,但是减少了硬盘读写吋间,实际应用 时加壳以后的应用程序运行速度更快。l3jl4j 加壳过的程序可以直接运行,但是不能查看源代码,要经过脱壳才可以查看源代 码。当被加壳的程序被运行时,外壳程序会先被执行,然后由这个外壳程序负责将用 户原有的程序在内存中解压,并把控制权交给脱壳后的真正程序。这些操作自动完成 用户不知道不需耍知道壳程序是如何运行的。一般来说,加壳程序和未加壳程序的运 行结果会是一样的。[5][6] 使用壳的好处是可以很好的防止静态分析、文件patch。充分利用加壳软件,程 序员可以将更多的精力放到程序的编写中去,一些专用的外壳工具还加入了很强的反 跟踪技术。加壳己经成为许多软件保护的第一道屏障。l7H8] 1.2加壳技术概况 加壳软件按照其加壳的S的和作用,可以分为两种:一种是压缩(Packers),另 一种是保护(Protectors)。压缩这类壳的主要目的是减小程序的体积,如ASPack、 UPX、PECompact等。另一类是保护程序,用上了各种反跟踪技术保护程序不会被调 试,脱壳等,其加壳以后的体积大小并不是其考虑的主要因素,如:ASProtect, Armadillo^ Themida等。随着加壳技术的发展,这W炎软件之间的界限越来越模糊, 很多加壳软件除了具有较强的压缩功能,同时也有较强的保护性能。[11[91 随着加壳技术的发展,脱壳技术也在快速发展,很多加壳软件在经历了众多高手 们在一段时间的研宂之后都能找到手工脱壳的方法,对于一些加壳工具还有专门的脱 壳机來完成脱壳,这也促进了加壳软件的进一步发展。 现在加壳发展的一个趋势是虚拟机保护技术,虚拟机设计出一套不同意普通x86 的虚拟处理其和虚拟指令集,要保护的关键代码用虚拟指令利用虚拟处理器来解释执 行,想要破解它需要先理解它的虚拟指令集,普通用于x86的调试和反编译工具都无 法在上边使用,利用虚拟机保护后,能大大提高破解难度。[,OJU1J 1.3课题研究内容 使用加壳技术能很好的保护软件,给软件盗版增加难度,不需要程序员话费过多 的精力在软件防盗版上,可以使程序员把更多的精力放在软件功能的开发上,做出更 多更好用、功能更强大的软件。而盗版难度的增加时盗版数量减少,使程序员收入增 加,让程序员更有信心做好自己的软件,促使软件业的更好发展。 课题研宄的主耍内容有:深入分析WindowsPE (Portable Executabl,可移植可执 行)文件格式,了解软件加壳保护的方式,并用程序实现一个可以给程序加壳的加壳 软件。 2关于软件保护 2.1软件保护的意义 计算机软件是软件研发人员智力劳动的具体体现。计算机软件的开发过程有以下 三个步骤:功能确定、逻辑设计和编码。软件研发人员必须具有丰富的计算机专业知 识和编程能力,抽象逻辑思维,熟悉计算机软件、硬件,掌握和使用某一些常用的编 程语言。研发具有一定实用价值的软件,不仅要花费大量的吋间,人力物力,还要具 备丰富的经验和专、Ik技能。但是从另一方面来说,计算机软件的复制却相当容易,其 成木几乎为零,因此假如人们大量使用未经授权的软件,软件开发者的收入就会大大 降低,这

您可能关注的文档

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档