debug与DOSBox安装&&debug命令操作
文章目录
一. DOSBox && debug使用
DOSBox下载 : https://sourceforge.net/projects/dosbox/files/dosbox/0.74-2/DOSBox0.74-2-win32-installer.exe/download
debug下载链接:https://pan.baidu.com/s/1c1rph04y4ZAZrTQfZJuazA
提取码:bxcc
1.安装配置(以下方法们按照从麻烦到简便的顺序)
(1) 多步骤(可行,但不推荐)
- 打开DOSBox
- 输入自定义的驱动器盘符X ,以及你DOSBox的路径: mount X Y:……
- 回车,输入你刚才定义的驱动器盘符
- 进入X盘之后,你就可以开始调试模式啦,bingo(怎么调试待会再说呀~)

- 直接把debug拖进DOSBox中,即点住debug后不放拖到DOSBox应用程序上
此时会出现用DOSBox打开的提示字样
(2)一步到位(强烈推荐)
双击打开DOSBox文件目录中的 DOSBox 0.74-2 Options

在文件末尾,可以看到[autoexec]区段,在最后加入咱上个方法输入的东西,
MOUNT X Y:……
X:

Ctrl + S保存一下之后,再次打开DOSBox自动挂载到指定驱动盘符,直接输入debug指令就OK啦

2. 窗口大小
配置完这个新朋友很开心,可是定睛一看,这么小的窗口,还不能调大小?!
有点子不友善哇,让我们来调教一下这个小妖精~
方法来自贴吧大神https://tieba.baidu.com/p/2150370425?red_tag=0020431408
依然是找到DOSBox里的DOSBox 0.74-2 Options
找个区段,添加以下代码
[sdl]
fullscreen=false
fulldouble=false
fullresolution=original
windowresolution=1080x800
output=opengl
autolock=true
sensitivity=100
waittrue
priority=higher,normal
mapperfile=mapper-0.74.map
usescancodes=true
[render]
frameskip=0
aspect=false
scaler=normal2x
可以在windowresolution里调你想要的分辨率

二. debug两种状态
- 接收debug命令的状态
- 命令下的相关操作状态
两者之间切换用shift
三.debug命令及操作
- 确定与退出都按回车键
- 建议初学者不要对CS、IP、SS、SP中的内容进行修改
- "-"为提示符
- 89D8 H = MOV AX,BX
- 修改一个按回车,修改多个按空格
- HLT:暂停,涉及到硬件处理
? :查看文档
首先让我们打个“?”,看看都有啥指令
一共才二十来个指令,而常用指令有才六个~
A :逐步汇编
assemble汇编: 以汇编的形式在内存中输入一条机器指令
ps:起始的偏移地址一定为0100

A [adress]
[ ]表示其中的内容可省略
1.不给地址的话,默认为0101或者当前的IP地址
2.从给定地址adress开始输入汇编语句,把语句汇编成机器代码依次存放在给定地址开始的存储器
eg:
- 用A命令分别把0001,0002送到AX,BX中,再AX = AX + BX
- 再用D命令显示下结果
//D命令显示相应内存的内容 - 用U命令反编译,把机器代码翻译为汇编语句
//U : 反汇编反汇编,即把机器指令翻译成字节码显示


R : read&&write register显示和修改寄存器
1.显示寄存器状态


这实在是很心酸的一张照片哩,鉴于笔者的后置像素太渣,
还是借助外援拍图后期修改的,呜呜┭┮﹏┭┮
2.修改寄存器
-R 寄存器名称
eg:修改AX的值,AX从0000变为我们指定的0001

U : 反汇编
unssemble反汇编:把机器代码反汇编显示
-U [地址]
1.若省略地址,从上一个U命令的最后一个指令的下一个单元开始显示32个字节。

2.若只给起始地址,只对20H个字节的机器代码反汇编显示

3.若给定始末地址,对指定地址的机器代码反汇编显示

D : 以十六进制显示内存区域的内容
dump
-D[地址或范围]
1.若未给出范围,默认为128字节存储单元。
从左至右依次是:
段地址:偏移地址 以十六进制的形式显示内存值 以ASCII码的形式显示内存值

其中 物理地址=段地址 × 16D + 偏移地址,16D也就是左移四位
2.若给出一个特定地址,则显示对应的存储单元的内容

3.若给定一个查看范围,则显示范围内的储存单元们的内容

4.若给定起点和长度,长度以参数L为标识,则从起点开始显示规定长度的内容
-D[起点][L长度]

E : 改变内存单元的内容
enter
-E 地址 [内容]
注意哦ヾ(●´∀`●) 像地址只要的不带[]的参数,必须有!
otherwise,看error来找你叙旧~

1.若只给出地址,可改变对应地址开始的连续的一个至八个字节


2.若给出地址以及一个或多个数据,可连续修改内存中的内容

T:单步执行
trace
执行执行以cs:ip开始的一条或n条机器指令,并显示寄存器的内容
-[=地址][指令数]
notes : 地址前面的等于不可省,即如果给出地址参数,则一定要在地址前面加上等于
否则,error来找你叙旧~
1.若不给任何参数,则从CS : IP 开始执行

2.若给出地址,不给出指令数参数,则在指定地址的指令执行后,不再执行,并显示寄存器状态

3.若指定地址和指令数,则从指定地址开始执行对应的指令数量

G : 连续执行
go 连续执行机器指令
-G [=起始地址][断点地址]
1.若不给出任何参数,则从当前物理地址开始运行,直到运行终止指令才停止
遇不到就会卡死在这里……

2.若只给出起始地址,则从指定地址开始运行,直到运行终止指令才停止

3.若给定起始地址和断点地址,则从指定地址开始运行,运行到断点结束

P : 执行汇编程序,单步跟踪。与T命令不同的是:P命令不会跟踪进入子程序或软中断。
P命令的使用方式与T命令的使用方式完全相同。
执行循环、重复的字符串指令、软件中断或子例程序。
#持续更新ing
debug与DOSBox安装&&debug命令操作的更多相关文章
- Redis客户端、服务端的安装以及命令操作
目的: redis简介 redis服务端安装 redis客户端安装 redis相关命令操作 redis简介 官网下载(https://redis.io/) Redis 是完全开源免费的,遵守BSD协议 ...
- Windows10安装Debug
1. 什么是Debug? Debug是DOS.Windows都提供的实模式(8086方式)程序的调试工具. 使用它,可以查看CPU各种寄存器中的内容.内存的情况和在机器码级别跟踪程序的运行. 2. 常 ...
- adb(Andorid Debug Bridge)安装和使用
以下是adb工具包最新2017Google官方版下载地址: ADB和Fastboot for Windows https://dl.google.com/android/repository/plat ...
- 汇编debug工具Dosbox使用
汇编debug工具DOSBOX使用说明 首先新建文件,更改后缀名为asm,然后写入一段汇编程序 之后打开DosBox 输入masm + 文件名(加不加文件名后缀都可以)但如果要加的话,应该加上. ...
- debug:am、cmd命令源码分析
debug:am.cmd命令源码分析 目录 debug:am.cmd命令源码分析 am命令的实现 手机里的am am.jar cmd命令的实现 手机里的cmd cmd activity cmd.cpp ...
- 汇编笔记-DOSBox安装和使用(转载)
我自己安装使用在Windwos10下面. [DOSBox简介] 1. 官方网址:http://www.dosbox.com/. 2. debug功能在win7之后系统已经不自带了,即64位系统是不能直 ...
- linux下MySQL安装登录及操作
linux下MySQL安装登录及操作 二.安装Mysql 1.下载MySQL的安装文件 安装MySQL需要下面两个文件: MySQL-server-4.0.16-0.i386.rpm MySQL-cl ...
- NodeJS 安装cnpm命令行工具
在安装之前,请确保已安装Git和NodeJS. cmd机内命令窗口,输入以下命令: git config --system http.sslcainfo /bin/curl-ca-bundle.crt ...
- Scrapy框架——介绍、安装、命令行创建,启动、项目目录结构介绍、Spiders文件夹详解(包括去重规则)、Selectors解析页面、Items、pipelines(自定义pipeline)、下载中间件(Downloader Middleware)、爬虫中间件、信号
一 介绍 Scrapy一个开源和协作的框架,其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的,使用它可以以快速.简单.可扩展的方式从网站中提取所需的数据.但目前Scrapy的用途十分广泛,可 ...
- 实验2: CDP命令操作
基本命令 1.获设备的相邻信息:CDP CDP1.不管上层协议 能够获取的信息包括:1.设备名2.对应各协议的地址3.端口名4.角色特征5.平台 全局启用/关闭CDP:cdp run/no cdp r ...
随机推荐
- Typecho去除更新检测和后台日志
Typecho去除官方日志 打开 admin/index.php,找到下面的代码并删除,在 93-102 行. 代码: <div class="col-mb-12 col-tb-4&q ...
- typecho引入五秒盾,缓解服务器压力
功能是:对访客的访问频率会先一步判断,根据用户自定义的范围,将频率过高的访客跳转向127.0.0.1,而没有达到频率的访客则会进行cookies验证,这样更大程序的对恶意流量攻击进行拦截,并且有效缓解 ...
- 使用Node.js打造交互式脚手架,简化模板下载与项目创建
在上一篇文章中,我们探讨了如何构建一个通用的脚手架框架.今天,我们将在此基础上进一步扩展脚手架的功能,赋予它下载项目模板的能力. 通常情况下,我们可以将项目模板发布到 npm 上,或者在公司内部利用私 ...
- 探秘Transformer系列之(9)--- 位置编码分类
探秘Transformer系列之(9)--- 位置编码分类 目录 探秘Transformer系列之(9)--- 位置编码分类 0x00 概述 0x01 区别 1.1 从直观角度来看 1.2 从模型处理 ...
- 带大家做了个 AI 项目,没想到这么简单!
大家好,我是程序员鱼皮,现在已经是全民 AI 时代了,咱们程序员更要想办法榨干 AI,把 AI 利用起来.前几天我一时兴起,直播用 2 多个小时的时间,从需求分析开始,带大家做了一个 AI 海龟汤游戏 ...
- Manus,没有秘密「注解版」
近来Manus走红,「争论」不断,我也在前文<Manus爆火,是硬核还是营销?>中阐述过自Manus发布后,行业讨论以及开源复刻的信息,以及我们如何结合蚂蚁图计算(TuGraph)技术,实 ...
- Linux升级openssl、openssh
在项目中,我们经常会发现Linux系统中Open SSH.Open SSL存在高危漏洞,如OpenSSL"心脏出血"漏洞,利用该漏洞,黑客可以获取约30%的https开头网址的 ...
- nginx下增加https端口的方法
一.进入根目录我是使用xshell进行远程连接服务器的,连接到服务器首先输入cd /进入到根目录在这里插入图片描述二.配置nginx.conf文件首先输入cd etc/nginx进入到nginx目录在 ...
- gmpy2库
在密码计算中会牵扯大素数的计算模逆等,gmpy2库就是一个这种库 求整数a.b的最大公因数 a = gmpy2.gcd(3,12) 判断一个数是否为素数 a = gmpy2.is_prime(5) 判 ...
- Spring Boot的常用注解
在Spring Boot中,注解(Annotation)是核心特性之一,广泛用于配置和简化开发.以下是Spring Boot中一些常用的注解及其示例: 1. @SpringBootApplicatio ...