




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机程序设计论文:试述用异或算法来实现计算机软件外壳加密的程序Discuss on How to Achieve Software Hull Encryption Process with Problematic Algorithm摘要:计算机软件产品是一种知识密集的特殊产品,生产一个软件产品需要大量的人力物力,生产难度大,成本高,周期慢。但是,软件产品的复制却是相当的容易。这就导致了非法复制、盗版软件之风的泛滥。加密是目前保护知识产权的一种有效方式。但任何加密软件都可能被破译、我们不能因噎废食。加密与解密,是矛和盾的关系,要想防止被解读,必须提高加密技术。论文利用异或算法对文件的关键代码节来实现了这种加密,防止通过使用Soft-ice或者其他的调试软件来对程序进行反汇编,阻止分析源程序,以此来实现对软件的保护。Abstract:Computer software is a special knowledge-intensive product.To produce software requires considerable human and material resources,itis difficult to produce with high cost and slow cycle.However,a copy of the software product is quite easy.This led to the illegal copying,the proliferationof pirated software.Encryption is an effective way to protect intellectual property.However,any encryption software could be cracked.Encryption anddecryption is the relationship between spear and shield.To prevent interpretation,we must improve the encryption technology.In this paper,though de-coding algorithm to achieve this encryption and prevent the use of Soft-ice,or other debugging software on the disassembly process,preventing analysis ofsource code in order to achieve the protection of the software.关键词:加密;外壳;异或算法;附加代码段Key words:encryption;shell;XOR algorithm;additional code11、外壳加密法在windows平台下的加密系统是一个对windows内核的探索软件加密技术一般应该包括四个方面:防拷贝、防篡改、防跟踪和防解读。本文主要解决其中的一个问题防解读,即防止通过使用Soft-ice或者其他的调试软件来对程序进行反汇编,阻止分析源程序,以此来实现对软件的保护。对windows下的可执行文件加密可采用外壳加密法,它是直接处理待加密软件,在原软件的外面罩上一层“外壳”,这层外壳在原软件运行前先得到执行,从而达到加密的目的。这种方法实现起来相对困难,需要清晰了解windows可执行文件的格式,而且还要解决外壳与原软件之间的连接问题,但如果采用了高级的反跟踪与变形技术,经加密后的软件不仅操作丝毫不用改变,而且还有很好的保密性。采用的加密方法是外壳式的,主要目的就防止静态分析。所谓静态分析就是使用反汇编软件(如W32dasm,unasm等等),对可执行文件本身进行反汇编。它反汇编的结果是按照文件中的指令代码直接翻译而来的。2用异或算法实现外壳加密外壳式就是加密软件把一段代码附加到执行程序上,并把程序入口指向附加的代码中。在此之前,我们先用一段程序对代码节,这个关键的节进行加密。当被加密的程序装入内存之后,附加代码首先执行,它是一个解密模块,通过附加代码对加密的模块进行解密恢复原程序,并转入原来的程序中执行。但是,当有人试图通过静态分析的方法,对程序进行阅读和修改时,他们只会得到一个加密后的密文。这就是因为我们已经对关键的节(Section)进行了加密处理,这样,原程序完全可以抵御如W32dasm这样的功能强大的反汇编软件的静态分析。但外壳程序并不能保证不被反汇编软件的动态分析和修改,这是由其特殊的作用和反跟踪的脆弱性所决定的。加密的核心代码主要是用win32汇编来完成的。用FileStreamWritebuffer的方法将修改后的文件头和代码段写入一个新的文件。需要修改原程序的入口地址,让加密后的软件先执行我们的解密模块。在PE文件中,我们只需要把AddressOfEntryPoint指向我们自己的附加代码段,让附加代码段先执行就达到了目的。异或算法加密的主程序如下:procedure xorcode(const paddress:dword;const count:integer);beginasmpush esipush edipush ecxpush ebxmov ecx,countmov ebx,paddressl2:mov ah,ebxxor ah,0ffh/逐个字节与一个值异或movebx,ahinc ebxdec ecxcmp ecx,0jnel2pop ebxpop ecxpop edipop esiend;end;异或代码节主程序:with FNTHeaders.Sectionsidobeginif i=0 then/如果是第一个节(代码节)则异或beginppecodebuffer:=AllocMem(SizeOfRawData);mov(Dword(Pointer(FFileBase+VirtualAddress),DWord(ppecodebuffer),SizeOfRawData);xorcode(DWord(ppecodebuffer),sizeofrawdata);NewFile.Position:=PointerToRawData;NewFile.WriteBuffe(rppecodebuffer,SizeOfRawData);endelsebegin/除代码节外的节全部复制NewFile.Position:=PointerToRawData;NewFile.WriteBuffer(Pointer(FFileBase+VirtualAddress),SizeOfRawData);end;end;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高效能离婚抚养权协议与子女学业成绩提升
- 双方自愿离婚财产分配及子女监护协议
- 无子女离婚后财产分割及子女抚养费及探望权协议范本
- 离婚协议书范本:法律依据与签署流程详解
- 房屋租赁合同中关于租赁物转租的附加协议
- 智能交通科技公司股份收购与城市交通优化协议
- 客服给员工培训
- 辽沈战役课件与
- 中国历史文选 课件 第五讲 韩非子;第六讲 秦始皇本纪
- 临床基础检验技术试题及答案解析
- 2025年京东集团招聘笔试指南与面试技巧
- 起重机械定期检查与维护方案
- 2025年新《公司法》知识竞赛题库(附含答案)
- 国际物流运输合同(标准版)
- 动物样品采集培训课件
- 八年级心理健康体验式教学计划
- 二手房资金监管协议书
- 甘肃省会宁县2025年上半年公开招聘辅警试题含答案分析
- (2025年)医疗机构工作人员廉洁从业九项准则考核试题(+答案)
- 2025年太阳能海水淡化项目经济效益评估报告
- 4D厨房区域区间管理责任卡
评论
0/150
提交评论