.NET程序加壳原理
5页1、.NET程序加壳原理摘要介绍了软件加壳技术的基本知识,给出了.NET环境下桌面软件的一种新的加壳技术,阐述了在这种技术下,软件发布与用户注册流程与实现的有关技术,最后,给出了加壳了的.NET软件运行时,脱壳的关键技术与实现的部分代码。关键词加壳;脱壳;DLL;DES;NET;MSIL1引言为了保护自己的软件的技术内核不被他人轻易盗用,软件开发人员使用了各种加密技术来保障软件的版权不被侵犯,壳便是我们常用的一种软件保护手段。对于Win32 中软件加壳技术已经有非常成熟的商业产品,然而,对于.NET环境下软件,由于.NET程序的编译结果不是机器语言代码,而是一种MSIL中间代码,因此不能使用传统的加壳技术。目前, 对.NET软件实 加壳的商业软件 要有MaxtoCode, ,SafeNet 出了 软件保护产品 最新的 壳 , 了软件开发商的一 。 壳加密 自 成对 行 件的加密 程, 而 开发商 便 成软件加密权理的 。本 介绍了.NET环境下一种的软件加壳技术,currency1技术使用了“MSIL代码fifl加密 技术, 的软件保护。与MaxtoCode,这种技术的是” 软件非 , 对
2、机件权(”件 中 不的识,CPU 的序 ,下 ),对于 版, 非本 器的 户 。2 识壳壳是对加密软件的一 的 , ,壳是软件 部的一件 ,是软件的保护 障。有了, 在对软件 编后, 软件的核 代码。壳是一段程序, 于程序运行,壳在运行后 了currency1软件 权,用 保护能对软件行 保护。壳的 原理 是” 运行壳程序,壳 加密的 程序( 程序原来的待加壳的程序,下 )代码解密内存中,运行 中应能,并 程序的 权交还给 程序。本 中研究的加壳技术正是基于这种原理,只是壳 是用.NET编写的,加密与解密密钥与用户的机器件有关,而不是固定的密钥,所 软件非 ,更的保护 。3本加壳技术的原理原来的 程序编译成DLL,再编写一 壳程序,编译成EXE,并 程序的运行入口(main函)移壳中来,由壳开始 行整 程序。首 , 用自编的加密 ,在软件发布前 所有DLL 件分行加密(输入特定的密钥),在壳加载DLL时临时 解密内存中,并加载运行。由于解密DLL的结果只存在于内存,所 解密后的DLL,除非他能 DLL的解密密钥。 时,为了避免分析 壳程序的逻辑, 中寻 解密密钥,还 壳编译成EXE 件
3、后,再用第三 软件行fifl(”XenoCode)或加密(”MaxtoCode),这样 了解DLL加密的及处理逻辑。 而,更有效保护 程序DLL。加壳与脱壳的原理图1所示。图 1 NET软件加密型加壳的原理4软件发布与用户注册流程为了 广软件,开发商一般会 软件的试用版放在 上, 用户自由下载试用,用户基本 后再注册正式版。软件发布与用户注册的流程图2所示。5软件发布与用户注册的实现5.1 注册申请为了软件 的能,开发商必须为不 的用户不 的 装 件,一套程序只能在一台机器上运行。为此,开发商在 装 件时,必须取 软件 要运行的目标机器的用户的位称,对于有应用程序 器的 版软件,只需要取 应用 器的。据 由用户使用特定的程序取 ,并通 短 或邮件的 式告知开发商。的提取有两种 ” 一,通 软件的试用版。试用版中设申请注册的模块,用户通 此模块提取本机的据。软件的试用版 件的不是 对目标机器的的, 在任何机器上运行。为了Cracker DLL的解密密钥后, 试用版破解。通常 对试用版软件设置能限(”去掉部分关键代码),这样使试用版被破解, 投入正式的应用。 二”使用 用于注册申请的程序。
4、对于 版的应用 程序,果没有用户界面,或 须试用的用户,只能使用由开发商提供的 用注册程序来提取机器。5.2 注册码这种加壳技术本来 省去输入注册码手 注册这 程,因为每一 发布的版本只能在定的机器上运行,但为了定用户位 及对用户行限,还是要有注册 程的。注册码是由用户位机器及用户限 经 加密处理后 的,处理 用自的注册码 来实现。5.3 加密DLL 件本加壳技术的核 之一是加密DLL 件,加密 程 用自的加密 成。加密 选择.NET框架中提供任何加密或自行设加密。 不用 开的,因为加密解密都是在自己的程序中行。因此,此 案的 性 由开发商自己保证,而不依赖于第三 。5.4 装 之前,只需用 为此用户加密的DLL 件及权 件 替换 装 程中应的 件,再生成 装 。装 中 独存放一份加密DLL 件权 件, 备 户升级正式版时用户 。一般而言, 装 件中不能 包含注册码或权 件的,但在这种技术下, 权 件打包 装中,因为,使 装 件被复, 在非权的机器上运行。5.5 正式版 装对于没有 装 试用版的机器, 使用 装 装正式版。对 装 试用版的机器, 用 装 中的正式版 件替换应 件 成正式
《.NET程序加壳原理》由会员飞***分享,可在线阅读,更多相关《.NET程序加壳原理》请在金锄头文库上搜索。
人教版一年级下册数学第二单元20以内的退位减法测试卷精品【考试直接用】
人教版一年级下册数学第二单元20以内的退位减法测试卷(实用)word版
人教版一年级下册数学第二单元20以内的退位减法测试卷及答案(夺冠)
人教版一年级下册数学第二单元20以内的退位减法测试卷(典型题)
人教版一年级下册数学第二单元20以内的退位减法测试卷精品(a卷)
人教版一年级下册数学第二单元20以内的退位减法测试卷及答案【精品】
部编版二年级上册道德与法治期中测试卷 (考试直接用)
部编版二年级上册道德与法治期中测试卷 带答案(培优)
部编版二年级上册道德与法治期中测试卷 含答案(精练)
部编版二年级上册道德与法治期中测试卷 及答案【各地真题】
部编版二年级上册道德与法治期中测试卷 及完整答案【名校卷 】
部编版二年级上册道德与法治期中测试卷 【考点精练】
部编版三年级上册道德与法治期末测试卷 (重点)
部编版三年级上册道德与法治期末测试卷 (模拟题)word版
部编版三年级上册道德与法治期末测试卷 附答案(预热题)
部编版三年级上册道德与法治期末测试卷 附参考答案(b卷 )
部编版三年级上册道德与法治期末测试卷 答案下载
部编版三年级上册道德与法治期末测试卷 含答案【夺分金卷 】
部编版三年级上册道德与法治期末测试卷 含完整答案【网校专用】
部编版三年级上册道德与法治期末测试卷 及答案(最新)
2024-04-24 8页
2024-04-24 1页
2024-04-24 1页
2024-04-24 1页
2024-04-24 0页
2024-04-24 3页
2024-04-24 8页
2024-04-24 5页
2024-04-23 12页
2024-04-23 5页