基于捆绑式的文件加密技术及实现_王小刚
- 格式:pdf
- 大小:78.19 KB
- 文档页数:2
2012年第·12期太原城市职业技术学院学报Journal of TaiYuan Urban Vocational college期总第137期Dec2012[摘要]论文打破了现有的一些文件加密方法,描述了一个通过可执行文件捆绑被加密文件的方法,集加密和解密于一身的文件保护方案。
通过对文件捆绑方法的结构及载入机制进行深刻的剖析,使用密码学算法CRC、MD5及多种反破解方案对加密的文件实施保护。
在该方案的实现中,选用了VisualBasic编程语言,设计文件捆绑算法、反破解算法,及文件完整性判断的算法。
将解密程序同被加密文件作为一个整体,加密后的文件可在Windows各操作系统平台之间使用,操作简单使用方便。
当文件使用时,要求是输入正确的密码,开始后能够和使用普通文件一样使用该文件,使用完毕以后该文件依然保持加密状态,下次使用依然需要输入密码,解除了重复加解密的过程。
[关键词]捆绑;加密;解密;反调试[中图分类号]TP3[文献标识码]A[文章编号]1673-0046(2012)12-0135-02基于捆绑式的文件加密技术及实现王小刚(山西水利职业技术学院,山西太原030027)现在大部分的加密软件只是针对某种特殊的文件进行处理,并且只是使用简单的加密手段,很容易被解密者破解;有一些高强度的加密软件要求有昂贵硬件设备予以支持,这样加密后的文件很不方便在别的机器上对文件进行解密操作;还有一些加密软件是在利用系统的漏洞进行加密,一旦这些漏洞被修补,极易造成文件的丢失。
计算机病毒是指编制者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码。
试想可以用计算机病毒的原理,把插入的破坏计算机功能或数据的代码换成具有解密特定数据能力的代码,被注入病毒的文件可以看作是已加密好的数据,重新排列解密代码和被加密数据的位置,只要有执行能力的代码可以引导数据正确的解密,那么这种方法是行得通的。
浅谈⽂件捆绑技术⽅式(图)随着恶意代码的发展越来越⼴泛,以及其强⼤的破坏性和更多样的传播⽅式,给⼈们带来更多的危害。
叶⼦在前⾯的⽂章中已经跟⼤家谈过恶意代码的基本概念以及对其的研究分析流程。
在本篇⽂章中叶⼦将给⼤家介绍⼀下恶意代码的传播⽅式之⼀的捆绑技术,以及常见的Winrar⾃解压捆绑技术的实现过程。
捆绑技术是将两个或两个以上的⽂件捆绑在⼀起成为⼀个可执⾏⽂件,在执⾏这个⽂件的时候,捆绑在⾥⾯的⽂件都被执⾏。
需要捆绑在⼀起的⽂件,可以是相同的⽂件格式,也可以是不同的⽂件格式。
捆绑技术被⿊客们⼴泛应⽤在互联⽹的恶意代码传播过程。
通过发送⼀些⽤户感兴趣的⽂件,其中包含恶意软件的程序。
当⽤户看到感兴趣的⽂件,点击后则感染相应的恶意代码。
⿊客们可以利⽤恶意代码来完成⼀些⿊⾊经济的收⼊。
⽬前⽹络上流⾏的捆绑技术和⽅式主要有下⾯⼏种情况: ◆多⽂件捆绑。
捆绑技术中最简单的捆绑⽅式,也是最流⾏的捆绑技术实现⽅式之⼀。
⽂件捆绑也就是将A.exe⽂件(正常⽂件)和B.exe⽂件(恶意代码)捆绑成C.exe⽂件。
当⽤户点击C.exe⽂件时,⽤户看到的是A.exe⽂件的执⾏结果,⽽B.exe⽂件则在后台悄悄执⾏。
⼀个Win32下正常的⽂件中包含以⽂件MZ开头,DOS⽂件头后⾯的PE头以PE\0\0开头。
检查是否被捆绑多⽂件,则可以通过UltraEdit类的⼯具打开⽬标⽂件搜索关键字MZ或者PE。
如果找到两个或者两个以上,则表明此⽂件⼀定把捆绑了其它的⽂件。
叶⼦将在后⾯的实例中介绍如何实现⽂件捆绑的操作过程。
◆资源融合捆绑。
了解Windows⽂件中PE结构的⼈都知道资源是EXE中的⼀个特殊的区段。
这段区域可以⽤来包含EXE调⽤的资源信息等相关内容。
⽽我们可以利⽤BeginUpdateResource 、UpdateResource、EndUpdateResource的API函数实现对资源内容的更新替换。
编程⼈员只需先写⼀个包裹捆绑⽂件的头⽂件,⽂件中只需⼀段释放资源的代码。
文件加密系统毕业设计文件加密系统毕业设计随着信息技术的快速发展,我们生活中的大部分数据都以电子文件的形式存在。
然而,随之而来的是数据泄露和信息安全的威胁。
为了保护个人和机构的隐私,文件加密系统变得越来越重要。
本文将探讨一个关于文件加密系统的毕业设计方案。
1. 引言文件加密系统是一种将文件转化为密文的技术,以保护文件内容不被未授权的人访问。
它利用密码学中的算法和密钥来加密和解密文件。
一个好的文件加密系统应该具备高安全性、高效性和易用性。
2. 设计目标在设计文件加密系统的过程中,我们需要明确设计目标。
首先,系统应该能够保护文件的机密性,确保只有授权的用户才能访问文件内容。
其次,系统应该具备高效性,即在加密和解密过程中不会对文件的处理速度造成过大的影响。
最后,系统应该易于使用,用户不需要过多的专业知识就可以使用系统进行文件加密和解密操作。
3. 系统架构文件加密系统的架构应该包括加密算法、密钥管理和用户界面。
加密算法是文件加密系统的核心部分,它决定了文件加密和解密的过程。
常用的加密算法包括对称加密算法和非对称加密算法。
密钥管理是指对密钥的生成、存储和分发进行管理。
用户界面应该提供友好的操作界面,使用户能够方便地使用系统进行加密和解密操作。
4. 加密算法选择在选择加密算法时,我们需要考虑安全性和效率。
对称加密算法使用相同的密钥进行加密和解密,它具有高效性但密钥管理较为复杂。
非对称加密算法使用公钥和私钥进行加密和解密,它具有较高的安全性但效率较低。
根据实际需求,我们可以选择适合的加密算法。
5. 密钥管理密钥管理是文件加密系统中的重要环节。
密钥的生成应该是随机的,并且需要定期更换。
密钥的存储应该采取安全的方式,例如使用密码保险箱或硬件安全模块。
密钥的分发应该确保只有授权的用户才能获取到密钥。
6. 用户界面设计用户界面应该简洁明了,方便用户进行操作。
用户应该能够轻松地选择要加密或解密的文件,并设置相应的加密算法和密钥。
实现文件简单的加密和解密摘要随着信息社会的到来,人们在享受信息资源所带来的巨大的利益的同时,也面临着信息安全的严峻考验。
信息安全已经成为世界性的现实问题,信息安全问题已威胁到国家的政治、经济、军事、文化、意识形态等领域。
同时,信息安全也是人们保护个人隐私的关键,是社会稳定安全的必要前提条件。
信息安全是一个综合性的交叉学科领域,广泛涉及数学、密码学、计算机、通信、控制、人工智能、安全工程、人文科学等诸多学科,是近几年迅速发展的一个热点学科领域。
信息对抗和网络安全是信息安全的核心热点,它的研究和发展又将刺激、推动和促进相关学科的研究与发展。
现今,加密是一种保护信息安全性最有效的方法。
密码技术是信息安全的核心技术。
本文是一篇关于文件简单加密和解密软件——文件管家的毕业设计论文:用AES 算法实现文件的加密和解密,用MD5实现文件校验功能,用覆盖技术实现文件粉碎功能;并且设计了一套完整的注册码验证体系,防止软件被逆向,从而保护软件的安全。
关键词:文件;加密;解密;粉碎;反逆向;AESSimple implementation fileencryption and decryptionAbstractWith the arrival of the information society, people not only enjoy the enormous benefits of information resources, but also face the severe challenges of information security. Information security has become a worldwide problem. The problem has become a threat to the political, economic, military, cultural, ideological and other aspects of a country. Meanwhile, the information security is the key of protecting individual privacy and the prerequisite for social stability and security.Information security is a comprehensive interdisciplinary field, involving a wide range of disciplines such as mathematics, cryptography, computer, communications, control, artificial intelligence, security, engineering, humanities and so on, It has been being a hot subject with rapid development. Information countermeasure and network security is a core focus, whose research and developments will stimulate and accelerate the study and progress of related disciplines. So far, the password to information security technology is the most effective method. Cryptography is the core technology of information security.This article is about a software named File Manager, which can simply encrypt and decrypt files. The software uses AES algorithm to encrypt and decrypt files, MD5 to check the files, and overlay technique to achieve the feature of file shredder. Meanwhile, there is a complete set of design registration code verification system, which is used to protect the software from reverse, thus to protect the security of the software.Key words:file; encrypt; decrypt; shredder; Anti-Reverse; AES目录摘要 (i)Abstract (ii)1 绪论 (1)1.1 论文背景 (1)1.2 主要工作 (1)1.3 本文结构 (1)2 AES介绍 (2)2.1 AES概述 (2)2.2 轮密钥加(AddRoundKey) (3)2.3 字节替代(SubBytes) (3)2.4 行移位(ShiftRows) (5)2.5 列混淆(MixColumns) (6)2.6 密钥调度(Key Schedule) (7)3 系统设计 (8)3.1 设计概述 (8)3.1.1 界面设计 (8)3.1.2 实现代码设计 (8)3.1.3 操作流程 (8)3.2 界面设计 (9)3.2.1 LOGO设计 (9)3.2.2 加密选项卡的设计 (10)3.2.3 解密选项卡的设计 (11)3.2.4 工具箱选项卡的设计 (12)3.3 实现代码设计 (12)3.3.1 加密选项卡的设计 (13)3.3.2 解密选项卡的设计 (14)3.3.3 工具箱选项卡的设计 (15)3.3.4 程序流程图 (16)4 设计结果及分析 (20)4.1 设计结果展示 (20)4.1.1 软件初始化 (20)4.1.2 注册码验证 (22)4.1.3 文件加密 (24)4.1.4 文件解密 (27)4.1.5 文件校验 (29)4.1.6 文件粉碎 (29)4.2 设计结果分析及说明 (30)4.2.1 软件初始化 (30)4.2.2 注册码验证 (32)4.2.3 文件加密 (35)4.2.4 文件解密 (37)4.2.5 文件校验 (38)4.2.6 文件粉碎 (39)结论 (41)参考文献 (42)致谢 (43)外文原文 (44)中文翻译 (55)1 绪论1.1 论文背景信息安全是一个综合性的交叉学科领域,广泛涉及数学、密码学、计算机、通信控制、人工智能、安全工程、人文科学等诸多学科,是近几年迅速发展的一个热点学科领域。
计算机网络信息安全中的数据加密技术发布时间:2023-02-03T08:04:20.912Z 来源:《科技新时代》2022年9月17期作者:朱羿鉴[导读] 计算机已成为社会各领域中的常用设备,对推动社会发展具有重要意义。
朱羿鉴江苏海洋大学计算机工程学院江苏 222000摘要:计算机已成为社会各领域中的常用设备,对推动社会发展具有重要意义。
因为网络具有开放性和复杂性的特点,所以在计算机网络运行中也会受到诸多因素的威胁,如黑客攻击和网络病毒、系统漏洞等。
为了切实保障用户的信息安全,应严格做好计算机网络安全防护工作,满足用户的多元化及个性化使用需求。
随着技术水平的提升,网络威胁也呈现出多样化的特征,必须不断优化数据加密方式,做好技术创新,以适应当前网络威胁的特点,增强系统防护能力。
需要在了解具体影响因素和数据加密技术特点的基础上,制定切实可行的技术方案,提供更加可靠的安全保障。
关键词:计算机技术;信息安全;加密技术中图分类号:TP393文献标识码:A引言网络本身具有极强的开放性,这也使得很多数据信息会出现被盗窃、篡改的情况,从而对人们的正常使用带来很大影响。
为了确保计算机网络安全,就需要特别注重相关安全防护技术的应用。
数据加密技术是当前应用比较广泛的一种安全防护技术,将其应用到计算机网络安全中可以获得良好的效果。
1数据加密技术对于数据加密技术属于一种特殊的保护性技术,其可以将重要的数据信息通过加密函数将其变成没有任何规律的密文,并且这样的密文在计算机中存在感很低,即便是被他人截获也需要特定解密函数、解密钥匙,才可以还原成原文,因此数据加密技术具有很强的安全性。
随着现代网络技术的快速发展,数据加密技术也迎来了良好的发展。
在早期数据加密技术只能对文字、数码进行加密,加密局限性比较强,很难满足计算机网络技术的快速发展需求。
为了打破传统数据加密技术的局限性,就需要借助先进的技术来辅助数据加密技术应用到计算机网络中,如通信技术。
信息安全毕业设计题目信息安全毕业设计题目:基于区块链技术的个人隐私保护系统设计设计背景:随着互联网的发展,个人隐私泄露问题日益突出。
大量的个人信息被不法分子进行盗取和滥用,给人们的生活带来了严重的安全隐患。
为了保护个人隐私,现有的安全机制和技术存在着一定的局限性,需要针对这一问题进行深入的研究和探索。
设计目标:本课题旨在设计并实现一个基于区块链技术的个人隐私保护系统,通过利用区块链的去中心化、不可篡改和数据透明等特点,确保个人隐私的安全性和可控性。
具体目标如下:1. 设计一个分布式的个人隐私数据存储系统,将个人敏感信息存储在区块链上,确保数据的安全性和不可篡改性。
2. 基于密码学算法,设计个人身份认证和权限管理机制,确保只有合法的用户才能访问和修改个人隐私数据。
3. 设计一个隐私保护算法,对个人敏感信息进行加密和分割存储,确保即使部分数据被泄露,也无法还原出完整的个人隐私信息。
4. 实现一个用户界面友好的隐私保护系统,提供用户注册、登录、查看和修改个人隐私数据等功能。
设计内容:本课题的设计主要包括以下几个方面的内容:1. 区块链技术研究:了解和掌握区块链的基本原理、数据结构和算法,研究区块链的去中心化、不可篡改和数据透明等特点,以及区块链的应用场景和安全性。
2. 个人隐私保护系统设计:根据用户需求和功能要求,设计个人隐私保护系统的整体架构和模块划分,确定各个模块的功能和接口设计。
3. 个人身份认证和权限管理设计:基于密码学算法,设计个人身份认证和权限管理机制,确保系统只有合法的用户才能访问和修改个人隐私数据。
4. 隐私保护算法设计:研究隐私保护算法,对个人敏感信息进行加密和分割存储,确保即使部分数据被泄露,也无法还原出完整的个人隐私信息。
5. 系统实现与测试:基于上述设计内容,实现一个用户界面友好的隐私保护系统,并进行系统测试和性能评估,验证系统的功能和效果。
设计意义:本课题的设计和实现将为个人隐私保护提供一种全新的解决方案。
专利名称:基于FatFs的加密文件系统及其实现方法专利类型:发明专利
发明人:王云,夏杰
申请号:CN201511014210.7
申请日:20151231
公开号:CN105701408A
公开日:
20160622
专利内容由知识产权出版社提供
摘要:一种基于FatFs的加密文件系统及其实现方法,其包括:使数据在存储的时候,经过加解密层加密,并计算加密数据的校验值,每个数据块对应一个校验值,将校验值与加密数据一并写入存储设备;使数据在读取的时候,从存储设备中取出加密数据,经过加解密层解密后得到明文。
本发明能够避免数据被篡改而引发的风险。
申请人:深圳市证通电子股份有限公司
地址:518054 广东省深圳市南山区南油天安工业村八座3A单元
国籍:CN
代理机构:深圳市睿智专利事务所
代理人:陈鸿荫
更多信息请下载全文后查看。
2012年第·12期太原城市职业技术学院学报Journal of TaiYuan Urban Vocational college期总第137期Dec2012[摘要]论文打破了现有的一些文件加密方法,描述了一个通过可执行文件捆绑被加密文件的方法,集加密和解密于一身的文件保护方案。
通过对文件捆绑方法的结构及载入机制进行深刻的剖析,使用密码学算法CRC、MD5及多种反破解方案对加密的文件实施保护。
在该方案的实现中,选用了VisualBasic编程语言,设计文件捆绑算法、反破解算法,及文件完整性判断的算法。
将解密程序同被加密文件作为一个整体,加密后的文件可在Windows各操作系统平台之间使用,操作简单使用方便。
当文件使用时,要求是输入正确的密码,开始后能够和使用普通文件一样使用该文件,使用完毕以后该文件依然保持加密状态,下次使用依然需要输入密码,解除了重复加解密的过程。
[关键词]捆绑;加密;解密;反调试[中图分类号]TP3[文献标识码]A[文章编号]1673-0046(2012)12-0135-02基于捆绑式的文件加密技术及实现王小刚(山西水利职业技术学院,山西太原030027)现在大部分的加密软件只是针对某种特殊的文件进行处理,并且只是使用简单的加密手段,很容易被解密者破解;有一些高强度的加密软件要求有昂贵硬件设备予以支持,这样加密后的文件很不方便在别的机器上对文件进行解密操作;还有一些加密软件是在利用系统的漏洞进行加密,一旦这些漏洞被修补,极易造成文件的丢失。
计算机病毒是指编制者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码。
试想可以用计算机病毒的原理,把插入的破坏计算机功能或数据的代码换成具有解密特定数据能力的代码,被注入病毒的文件可以看作是已加密好的数据,重新排列解密代码和被加密数据的位置,只要有执行能力的代码可以引导数据正确的解密,那么这种方法是行得通的。
而且被加密的数据看成了一个整体,使用时将加密文件分离,这样就不会有特定文件类型的限制了,再在这个基础上辅以特定的加密算法,就可以对文件进行更强的保护了,杜绝了上面所属加密方法的不足。
由于是将具有执行能力的文件注入到已加密好的文件中,运行时将它们分离,我们就把这种方法叫做捆绑的方法。
利用这种方法就可以对文件进行加密了。
一、捆绑捆绑是将几个东西用绳索等绑在一起,用在软件中就是这样的:想实现运行一个文件同时运行其他多个文件,必须要把多个文件“组合”成一个文件,而这一个文件还必须有“分解”的能力,这样才能把捆绑起来的文件分离出来,使之正常运行。
而“组合”也可以有多种形式,比如把要捆绑的文件一个一个地加到文件末尾,或者以资源形式组合到一个文件中,还有复杂一点的利用专用的安装打包工具组合。
基于捆绑式的文件加密使用的是第一种组合方式,也称为传统式捆绑机。
这里把起捆绑并加密文件作用的程序叫做加密程序,它是一个可执行文件;要加密的文件经加密程序加密后捆绑在事先写好的具有解密能力的解密程序文件尾部,此时的文件称为解密程序,具有解密引导功能的程序称为解密引导程序。
解密时,先执行具有解密能力的解密程序,从自身中分离出捆绑的那个需要解密的文件。
二、软件环境及需求1.软件设计如何保护自己的文件不被非授权盗用的问题,始终困扰着每一个人。
现在市面上充斥着各式各样的加密软件,用这些加密软件可以加密用户的文件,它通常是将待加密的文件作为纯数据处理,加密后还需一个特定的解密软件来针对这个加密后的文件进行解密,这样做的缺点是显而易见的:解密时需要解密程序存在,不易于在未装有解密程序的平台上解密,通用性差,一旦解密程序丢失,加密后的文件是难以恢复的;大量的加密软件仅仅是针对PE可执行文件的,使得许多的其他文件没法保护;另外,还有些软件对数据的加密是利用系统的漏洞,这样对数据是很不全的。
这里通过捆绑的方法将解密程序同加密的数据作为一个整体,加密后的文件将生成一个可执行文件,而不是一个单纯的数据乱码,单纯的数据很难判断自身是否完整,这样就使用户确定文件的完整。
当文件使用时,要求用户拥有正确的密码,开始使用时能够和使用普通文件一样使用,使用完毕以后该文件依然保持加密状态,下次使用依然需要输入密码,解除了重复加解密的过程。
2.捆绑式加密技术实现语言及需解决的问题VisualBasic软件的功能极为强大,深受程序员喜欢。
VB的P-code方式编译的程序很难破解,因为我们跟踪用这种方式编译的程序时,看不到程序作者写的程序,只能看到VB的程序,我们只能在微软设计好的VB程序里面兜圈子,但是在兜圈子的过程中,作者的程序已经在执行了,并且由于它的开发速度快,适合于捆绑式文件加密技术的实现。
实现捆绑式的文件加密方法,需解决的几个问题:(1)如何加入密码检测;(2)如何隐藏文件密码;(3)135··DOI:10.16227/ki.tycs.2012.12.071参考文献:[1][美]BruceSchneier.应用密码学[M].吴世忠,祝世雄,张文政,等译.北京:机械工业出版社,2000.[2]武新华.加密解密全攻略(第3版)[M].北京:中国铁道出版社,2010.[3][美]Collberg,C.软件加密与解密[M].北京:人民邮电出版社,2012.[4]李良俊.Visual-Basic程序设计语言[M].北京:科学出版社,2011.对正常用户而言,不应造成使用不便。
3.运行需求正常使用时不应出错,若运行时遇到不可恢复的系统错误,也必须保证数据完好无损,要求系统运行时能够保证正确性、可靠性。
三、详细设计(一)加密程序设计1.用户界面设计基于捆绑式的文件加密程序采用了易上手的向导式界面,拥有较强的交互性。
用户依照步骤浏览找到待加密的文件,指定加密后文件的存储位置以及文件名,最后设置文件的密码。
在用户输入密码时,软件系统将自动判断密码的强度,这样可以帮助用户选择合适强度的密码。
2.加密过程实现当用户选择好加密的文件和加密后的文件位置之后,并输入要设置的密码后就可以进行程序的加密了。
程序加密时,首先将要加密的文件以二进制的形式读入一个文件大小的p1Array缓冲中,然后以用户输入的密码作密匙对数组p1Array用事先写好的算法进行数据加密,加密后的数据仍放在数组p1Array中。
为了日后解密的方便,将解密引导程序放在p1Array的前面,用捆绑的形式,在我们运行解密程序时就可以对附在后面的数据文件进行解密了。
为了达到跨机运行,就不得不把密码写入加密后的文件中,这里为了演示清楚,以“[Password]”为密码存放开始的标志,将加密后的密码信息放在“[Password]”后面,这样还不够,将来解密文件后,仍要保持文件的类型,将文件的扩展名放在“[FN]”后面,最后将解密引导程序+加密后的文件数据+[Password]+加密后的密码+[FN]+未加密的文件扩展名保存为加密后的文件的尾部。
3.密码加密的保存若将密码以明文的形式保存在加密文件中,很容易通过查看加密文件获得密码,那么这样对加密文件是十分危险的,我们就必须对密码进行加密保存。
这里用MD5对密码进行加密,这样做的好处是它将产生一个固定长度为128位的信息摘要,有利于解密时密码正确与否的判断。
4.加密后加密文件完整性的判断加密后的文件很容易被那些破解者通过文件编辑器编辑,修改特定的代码,以达到破解的目的,那么就必须预防这种破解手段,实现软件代码校验,以防止被修改,比如用CRC或者MD5进行自身代码完整性检测。
加密程序是加密文件的程序,同时也是一个用于在文件末尾增加stCRC特征码的程序。
特征码用于保存所需的校验标志位和校验码信息,在解密时将判断校验信息,经过这一处理,修改任何一处,解密软件运行后会自动退出,给用户程序没有运行的假象,对于校验信息的判断将在解密引导程序中讨论。
(二)解密引导程序设计1.用户界面及解密过程因为加密后的文件是可执行的,只要双击就进入到了解密程序的引导界面,在这个界面中完成密码验证工作。
当用户输入正确的解密密码后就会触发文件的解密的事件。
解密程序从自身的程序中分解出经加密后的文件数据,然后把这些数据放入缓冲vbArray中,再对这一缓冲数组进行解密,最后将解密后的数据写入预定的文件。
在加密程序的设计中,已经对加密后的文件引入了文件完整性的校验标志,那么解密程序执行时,首先就要判断文件是否完整,如果校验信息与标志不一致,就停止解密以保证数据安全。
2.加密文件的进一步保护通过加密程序加密后的文件,它的加密强度还不是很强。
由于解密引导程序同被加密的数据是捆绑在一起的,要保护加密的数据,就还要对解密引导程序进行一些安全处理,以防破解者通过跟踪解密引导程序的方法得知解密密码,所以对加密文件的进一步保护就等同于对解密引导程序的保护。
以下是笔者对解密引导程序设计的一些保护方法:(1)反调试Anti-Debug检测父进程反RING3调试器,我们知道WIN32系统一般软件的父进程都是EXPLORE,而OllyDbg等RING3调试器对软件进行调试时都是将它们的进程设为它的子进程,我们只要让程序检查父进程是否为EX-PLORE.EXE就行,如果发现父进程不是EXPLORE.EXE,就自动退出。
(2)反静态反汇编对加密程序和解密引导程序加壳,增加程序的安全性,就会使静态反汇编程序不能对程序进行汇编,从而保护代码不被泄漏。
四、使用说明及测试(一)使用说明该软件能在WindowsXP以及以上的WINDOWS操作系统平台下运行,由于Windows操作系统使用的广泛性,使得这一方法可以被广泛地使用。
它可以对任何想加密的文件(*.txt)、图像文件(*.jpg,*.gif,*.bmp)、音乐文件、可执行文件等几乎一切的文件进行加密。
也就是说,你可以用它对各种文件进行加密,文本文件软件使你要加密的文件最终生成一个可执行文件,当文件使用时,要求您输入正确的密码,文件使用时和使用普通文件一样使用该文件,使用完毕以后该文件依然保持加密状态,下次使用依然需要输入密码,该软件解除了需要重复加解密的过程。
软件充分考虑了用户的操作,通过简单几步的界面选择便可以达到加密文件的目的。
(二)测试分析及效果1.用加密程序Server加密WINDOWS自带的记事本Notepad.exe后的生成的文件记为NotepadJM.exe,运行加密后的文件并输入正确的密码可以成功地解密,并运行程序,软件基本功能实现。
2.用UltraEdit打开NotepadJM.exe文件,任意修改一个字节,然后运行该程序,一旦运行程序退出,程序的完整性检查成功。