论坛: 编程破解 标题: 有关debug命令 复制本贴地址    
作者: ben [ben]    论坛用户   登录
这个命令怎么用啊,能不能说的详细点啊,
在这里也找不到有关的介绍啊
斑竹能不能给粘一个啊!!!
谢谢!1

地主 发表时间: 04/09 17:50

回复: cjb [cjb]   论坛用户   登录
这个在NT,或者是在2000下的帮助下有很详细的说明,我先发有一点
Debug
说明
使用 Debug 命令但不指定要测试的文件 

如果使用没有位置和文件名的 Debug 命令,然后键入所有的 Debug 命令以响应 Debug 提示符,连字符 (-)。 

Debug 命令 

以下是 Debug 命令列表: 

? 显示 Debug 命令列表。  
a 汇编 8086/8087/8088 记忆码。  
c 比较内存的两个部分。  
d 显示部分内存的内容。  
e 从指定地址开始,将数据输入到内存。  
f 使用指定值填充一段内存。  
g 运行在内存中的可执行文件。  
h 执行十六进制运算。  
i 显示来自特定端口的 1 字节值。  
l 将文件或磁盘扇区内容加载到内存。  
m 复制内存块中的内容  
/n 为 l 或 w 命令指定文件,或者指定正在测试的文件的参数。  
o 向输出端口发送 1 个字节的值。  
p 执行循环、重复的字符串指令、软件中断或子例程。  
q 停止 Debug 会话。  
r 显示或改变一个或多个寄存器。  
s 在部分内存中搜索一个或多个字节值的模式。  
t 执行一条指令,然后显示所有寄存器的内容、所有标志的状态和 Debug 下一步要执行的指令的解码形式。  
u 反汇编字节并显示相应的原语句。  
w 将被测试文件写入磁盘。  
xa 分配扩展内存。  
xd 释放扩展内存。  
xm 映射扩展内存页。  
xs 显示扩展内存的状态。  

分隔命令参数 

所有 Debug 命令都接受参数,除了 q 命令之外。可以用逗号或空格分隔参数,但是只有在两个十六进制值之间才需要这些分隔符。因此,以下命令等价:

dcs:100 110 

d cs:100 110 

d,cs:100,110 

指定有效地址项 

Debug 命令中的 address 参数指定内存位置。Address 是一个包含字母段记录的二位名称或一个四位字段地址加上一个偏移量。可以忽略段寄存器或段地址。a,g,l,t,u 和 w 命令的默认段是 CS。所有其他命令的默认段是 DS。所有数值均为十六进制格式。 

有效地址如下:

CS:0100 

04BA:0100 

在段名和偏移量之间要有冒号。 

指定有效范围项 

Debug 命令中的 range 参数指定了内存的范围。可以为 range 选择两种格式:起始地址和结束地址,或者起始地址和长度范围(由 l 表示)。 

例如,下面的两个语法都可以指定从 CS:100 开始的 16 字节范围:

cs:100 10f 

cs:100 l 10 




B1层 发表时间: 04/09 18:25

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号