- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DOS Windows汇编语言程序设计教程_课件 第四章
(4) 因为在MOV DX,136H 指令设字符串从136H开始,故用F命令从该处开始添加字符串。也可以用命令E逐个添加字符。 (5) 写入的长度由寄存器CX决定,程序被修改后变长了,要修改到新的值。计算从100H到字符串的最后程序占用50H字节,用命令R CX修改要写入的字节数。 (6) 使用W指令保存。W命令后可以带明确的写入开始地址,也可以不带。装入时,开始位置为100H,所以此处的缺省开始位置为100H。 * * 4.9 加密一个EXE文件 我们用简单的方法加密,对字符串和显示字符串的代码分别进行异或,让静态反汇编者看不到直接的字符串和代码。但是程序运行时必须先将字符串和代码再异或一次,以恢复本来的状态。 * 加密方法的实现 ;文件名:Crypto.asm .MODEL SMALL .DATA STRING DB I AM A STUDENT!,0DH,0AH,$ LEN EQU $-STRING ;LEN 为字符串长度 .CODE .STARTUP ;与78H异或,解密字符串 MOV BX, OFFSET STRING MOV CX,LEN AGAIN1: XOR BYTE PTR[BX],78H INC BX LOOP AGAIN1 * ;与78H异或,解密显示字符串的代码 MOV BX,ADDR1 MOV CX,ADDR2-ADDR1 AGAIN2: XOR BYTE PTR[BX],78H INC BX LOOP AGAIN2 ADDR1 EQU $ ;ADDR1等于当前的偏移地址 MOV DX, OFFSET STRING MOV AH,9 INT 21H ADDR2 EQU $ ;ADDR2等于当前的偏移地址 .EXIT 0 END * 加密EXE文件中的代码与字符串 生成Crypto.exe后反汇编,首先要找到字符串和显示字符串代码在文件中的位置,记下相应的16进制串 WinHex是一款二进制编辑工具。运行WinHex.exe,查找对应的16进制代码,找到在文件偏移中对应的位置 选中要异或的数据部分,运行菜单“编辑”?“数据修改”,在异或的值中添入78H,选择确定,即所有选中字节与78H进行了异或,保存该文件即可 * 读磁盘扇区数据到内存缓冲区 AH = 2 ; AL = 要读的扇区数; CH = 柱面号(低8位); CL = 扇区号(0-5位);6-7位为柱面号; DH = 磁头号; DL = 驱动器号,软盘A,B为0,1,对第一块硬盘80H,第二块81H,……; ES:BX = 数据缓冲区的地址。 输出信息: CF=0,操作成功,AH=0 ,AL=读出的扇区数; CF=1,操作失败,AH=出错状态,同前。 * 内存缓冲区内容写入磁盘 输入信息:同读盘; 输出信息:同读盘。 检验指定扇区 输入信息:不要求ES:BX,其它同读盘; 输出信息:同读盘。 格式化磁盘 输入信息:ES:BX=格式化参数首址,其它同读盘; 输出信息:同读盘。 * 设计一个简单钥匙软盘程序 设计程序key.exe,在它运行时只有软驱上插有钥匙盘才能正确运行,否则提示错误信息。其原理是在软盘上设置一个特殊的信息,如特殊的扇区、坏扇区等办法。我们这里是利用引导扇区的空域设置密码,程序key.exe执行时会读该密码,正确则顺利执行,否则出错。 * 观察软盘引导扇区 * 程序将软盘的0面0磁道1扇区(面和道从0开始排,扇区从1开始排,这里是引导扇区)。可见,在4000:4020处有几个字节为0,我们用这段空间来存放密码。设密码为字符串“12345”,用命令E修改内存数据,用D4000:4000再验证修改结果。 * * 命令W行表示将内存4000:4000开始的数据写入0驱(A:)的第0个逻辑扇区(引导扇区)开始共1个扇区。当然也可以编一段程序写入。 为查看修改引导扇区内容后软盘能否正常工作,可以尝试磁盘文件操作,若无误则可以。 * 编写识别程序 .MODEL SMALL,C CMPCODE PROTO ;声明比较字符串的子程序 .DATA SEC_CODE DB 12345,0 COUNT EQU $-OFFSET SEC_CODE-1 ;取密码字符串的长度 ;$表示当前偏移地址 SECTOR DB 512 DUP(0) INF1 DB 读软盘失败,0DH,0AH,$ INF2 DB 请插入钥匙盘,0DH,0AH,$ INF3 DB 密码正确,谢谢使用,0DH,0AH,$‘ .CODE .STARTU
您可能关注的文档
- 2015年高考语言文字知识运用复习--语言得体(原创)85页.ppt
- 2015年新人教版八年级数学上期末总复习课件_图文.ppt.ppt
- 2015年湖南长沙房地产市场分析报告月报_中原_52页,市场分析,市场调查,分析报告.ppt
- 2015年重要事故案例分析[PPT课件].ppt
- 2015年第一季度护理质量汇报_图文.ppt
- 2015年高考语言文字运用复习--- 辨析并修改病句课件265页(原创).ppt
- 2015湘教版政治总复习第二部分热点专题攻略专题5 践行社会主义核心价值观推进精神文明建设(共86张PPT).ppt
- 2015年高考数学试题解析.ppt
- 2015月护理质量检查分析.ppt
- 2015年高考最有效的高考语文答题技巧(新课标).ppt.ppt
最近下载
- 水文分析软件:MIKE 21二次开发_(1).MIKE21概述.docx VIP
- 高中数学人教A版(2019)选择性必修第一册第三章圆锥曲线的方程教学分析和教学建议(课件).pptx
- 清洁生产和清洁生产审核.pptx VIP
- 人教版小学六年级语文上册第五单元测试卷及答案.pdf VIP
- 水族世界行业调研报告解数咨询1016mb.pptx VIP
- 冷库灭火和应急疏散救援预案.docx VIP
- 水文分析软件:MIKE 21二次开发_(10).MIKE21API接口应用.docx VIP
- 供应链风险管理与应急预案.docx VIP
- 酒店前台交接班记录表完整优秀版.docx VIP
- 一种小干扰RNA及其应用专利CN118516357A说明书.pdf
文档评论(0)