




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DEBUG 学习 因为系统是win7 x64 , 所以需要下载DosBox 0.74 安装并且下载masm放在目录下打开DosBox 之后, 用指令 Z:mount C: E:masm5.0 Z:C:C:debug进入debug模式debug命令的作用是测试和调试MS-DOS中的可执行文件。命令格式:debug 盘符 路径 文件名 parameters参数说明: parameters:表示指定要测试的可执行文件所需要的任何命令行信息。Debug 命令功能如下:debug a : 汇编8086/8087/8088记忆码。debug c :比较内存的两个部分。debug d :显示部分内存的内容。debug e :从指定地址开始,将数据输入到内存。debug f :使用指定值填充一段内存。debug g 运行在内存中的可执行。debug h:执行十六进制预算。debug i:显示来自特定端口的1字节值。debug l:将文件活磁盘扇区内容加载到内存。debug m:复制内存快中的内容。debug n:为1或w命令指定文件,或者指定正在测试的文件的参数。debug o:向输入端口发送1个字节的值。debug p:执行循环、重复的字符串指令,软件中断活子例程。debug q:推出debug程序。debug r:显示或改变一个或多个寄存器。debug s:在部分内存中搜索一个或多个字节值的模式。debug t:执行一条指令,然后显示所有寄存器的内容、所有标志的状态和debug下一步要执行的指令的加码形式。debug u:反汇编字节并显示相应的原语句。debug w:将被测试文件写入磁盘。debug xa:分配扩展内存。debug xd:释放扩展内存。debug xm:映射扩展内存页。debug xs:显示扩展内存的状态。先在目录下面创建一个文档, 加入以下代码, 并改为hello.asmDATA SEGMENT BUF DB HELLO WORLD! THIS IS MY FIRST ASM FILE! $DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX LEA DX,BUF MOV AH,09 INT 21H MOV AH,4CH INT 21HCODE ENDSEND START首先,进入masm5.0所在路径(装入-连接-运行-调试均在masm5.0所在目录中进行)(路径是E:masm5.0)1、装入格式:masm asm源文件及路径1 obj文件目标路径2(省去则默认当前路径)如:E:masm5.0 masm .MYDOChello.asm .MYDOC结果:程序无错 在E:masm5.0MYDOC中增加文件HELLO.OBJ2、连接格式:link obj文件路径1 如:E:masm5.0 LINK .MYDOCHELLO.OBJ (此后当前目录就会出现HELLO.EXE)3、运行格式:exe文件全名(即 HELLO.EXE)如:E:masm5.0 HELLO.EXE4、 调试-u 反汇编-r 显示寄存器内容-g =address1address2address3 执行到断点行,如:-g 12 为执行到第12行-t =addressvalue 跟踪,配合-g使用 如:-t 12 1 为从第12行开始,每执行1条指令后停下来-d 查看数据-q 退出返回操作系统作业二在上次的作业中,基本是介绍。因为当时遇到了那个问题:这个程序是没有办法运行的。所以不同程序的反汇编的代码是一样的也就不足为奇了。但是当时没有找到答案,因为根本没有意识到这个是因为什么引起的。经过老师课堂上的讲解,我知道了这是一个报错的过程。接下来我便对这个过程进行了探索。1. 经过几次的实验,对不同的代码进行反汇编。虽然不能够运行,但是发现了在“This program cannot be run in DOS mode”后面有一段乱码。并且在一段乱码之后,都会有一个明确的单词“Rich”,那么中间的乱码是什么呢?“Rich”后面是什么呢?这部分数据包含了一些加密数据,来标识编译这个PE文件的组件。可用来检举某些病毒程序所编译的程序来自哪台机器。而Rich后面是PE header部分。2. 那么为什么会出现这样的语句呢? PE的意思是Portable Executable。他是Win32环境自身所带的执行文件格式。意味着此文件格式似乎跨Win32平台的,即使Windows运行在非Intel的CPU上,任何Win32平台的PE装载器都能识别和使用此文件格式。PE文件可以认为是.exe, .dll, .sys, .scr类型的文件,这些文件在磁盘上存储的格式是有一定规律的。PE文件格式的第一个组成部分是MS-DOS头部。在PE文件格式中,它并非一个新概念,因为它与MS-DOS 2.0以来就已有的MS-DOS头部是完全一样的。保留这个相同结构的最主要原因是,当你尝试在Windows 3.1以下或MS-DOS 2.0以上的系统下装载一个文件的时候,操作系统能够读取这个文件并明白它是和当前系统不相兼容的。换句话说,当你在MS-DOS 6.0下运行一个Windows NT可执行文件时,你会得到这样一条消息:“This program cannot be run in DOS mode.”如果MS-DOS头部不是作为PE文件格式的第一部分的话,操作系统装载文件的时候就会失败,并提供一些完全没用的信息,例如:“The name specified is not recognized as an internal or external command, operable program or batch file.”MS-DOS头部占据了PE文件的头64个字节,描述它内容的结构如下:WINNT.Htypedef struct _IMAGE_DOS_HEADER / DOS的.EXE头部USHORT e_magic; / 魔术数字USHORT e_cblp; / 文件最后页的字节数USHORT e_cp; / 文件页数USHORT e_crlc; / 重定义元素个数USHORT e_cparhdr; / 头部尺寸,以段落为单位USHORT e_minalloc; / 所需的最小附加段USHORT e_maxalloc; / 所需的最大附加段USHORT e_ss; / 初始的SS值(相对偏移量)USHORT e_sp; / 初始的SP值USHORT e_csum; / 校验和USHORT e_ip; / 初始的IP值USHORT e_cs; / 初始的CS值(相对偏移量)USHORT e_lfarlc; / 重分配表文件地址USHORT e_ovno; / 覆盖号USHORT e_res4; / 保留字USHORT e_oemid; / OEM标识符(相对e_oeminfo)USHORT e_oeminfo; / OEM信息USHORT e_res210; / 保留字LONG e_lfanew; / 新exe头部的文件地址 IMAGE_DOS_HEADER, *PIMAGE_DOS_HEADER;3. 如何去除这句话使程序正常运行。未找到相应解决办法。4. 利用debug测试计算机端口当计算机串行端口工作不正常的时候,可以用debug进行测试。串行端口(RS-232C)的2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年员工工作服采购与职业健康防护合同
- 2025版高端人身损害赔偿合同范本
- 二零二五年度飞机销售合同附带有偿维修与备件供应协议
- 2025版智能城市建设项目承包合同标准范本
- 二零二五年EPS构件供应及装配式建筑示范工程合同
- 二零二五年度校园活动中心安全设施改造与维护合同
- 2025版给排水工程绿色施工劳务分包合同范本
- 岩彩画课件教学课件
- 夸张的修辞手法微课课件
- 潍坊医学院生化课件
- 2025年《工会法》知识竞赛试题库及答案
- 2025氯化工艺复审题库及答案详解
- 2025年医院收费笔试题目及答案
- 电力安全隐患排查存在问题及整改措施
- 2025年高考日语试卷及答案详解
- 2025年湖北省初中地理学业水平考试(会考)真题评析
- 硬质合金成型工专业知识考试题库含答案
- 视神经脊髓炎病例汇报
- 高质量数据集实践指南(1.0)
- 二战历史教育
- 2025年机动车授权签字人考试题库及答案
评论
0/150
提交评论