汇编语言debug的使用方法

简介:
进入Windows操作系统,输入cmd回车
输入debug 回车,这样就进入了 debug模式
1: 输入 -r 查看或者修改寄存器,可以修改CS IP来指向要执行汇编的内存地址
   -r 回车 查看
   -r ax 回车 修改 ax的值
   -r cs 回车  修改 cs的值
   -r ip 回车 修改 ip的值
 
2: 输入-D 查看内存中的信息
   -d 1000:0000 查看段地址为1000H ,偏移地址为0开始的内存信息
   -d 1000:0000 00ff 就是查看 1000:0000 到1000:00ff的内存信息
   查看主板生产日期
  -d fff0:0000 00ff 可以看到右下角的 08/14/08 格式月/日/年, 08年8月14号生产的主板
    这里的生产日期是只读的,无法修改,通过-e修改表面上看是改过了,下次打开后又恢复之前数据了
    如果直接用 -d 0100 则会显示 DS:0100处的内存信息,也就是显示段地址为ds,便宜地址为0100的内存信息。
    -d ds:0100  也可以这么使用
3:输入-E修改内存中位置的信息
   -e 1000:0000 1a 00 09 10 a1 61 这样就可以修改对应段地址为1000H ,偏移地址为0开始的内存信息
   -e 1000:0000 'a+b' 这样就会在内存1000:0000处写入61H(a的ASICC码) 1000:0001处+ 1000:0002 62


4:输入-u查看指定位置对应的汇编指令
   -u 1000:0000 查看该处的汇编指令
   -u cs:0000 查看段地址为cs处的汇编指令
5: 输入-t 执行指令
   -t 执行CS:IP所指向的第一个指令,如果要执行自己写入内存的指令,应该先通过-r来改变CS IP的值,然后再执行 -t 执行
   -t 指令默认执行第一条指令后停止。但是当遇到修改SS的指令时,会把紧接的下一条指令也执行了。
6:输入-a 输入汇编指令
   -a 1000:0000 回车
这样就可以直接在1000:0000处输入汇编指令了,注意再输入完之后,输入一个空格,表示输入完毕,输入完毕后,通过-r修改CS ip来指向对应的内存地址,然后就可以通过-t逐行执行了,每执行一次通过-r来看对应的寄存器的变化。
  -a 回车 直接输入汇编指令,默认会在cs:ip处输入,所以直接用-a 回车输入汇编指令,然后用-t执行那么执行的就是刚刚输入的汇编指令,这样可以用来调试汇编指令
 
7:输入-g 直接跳转到哪步执行
   用-t是需要一步一步执行,但是往往遇到loop循环时候,次数很多,必须要用-g跳到指定行执行
   -g 0019 直接跳到便宜地址为0019h处执行
 
 
 最后用DEBUG加载.exe文件
  用RadASM编写好asm文件(新建选择masm编译器,dos)编写好后用编译、链接、运行,此时生成了对应的exe文件。比如在:D:\RadASM\Masm\Projects\test\test.exe
  再用命令 debug D:\RadASM\Masm\Projects\test\test.exe 回车
  -u 查看对应test.exe里的汇编指令 -t执行 -g 跳转到哪个偏移地址执行
相关文章
|
6月前
|
NoSQL 编译器 Linux
gdb调试工具的使用方法
gdb调试工具的使用方法
74 1
|
3月前
|
NoSQL
技术分享:如何使用GDB调试不带调试信息的可执行程序
【8月更文挑战第27天】在软件开发和调试过程中,我们有时会遇到需要调试没有调试信息的可执行程序的情况。这可能是由于程序在编译时没有加入调试信息,或者调试信息被剥离了。然而,即使面对这样的挑战,GDB(GNU Debugger)仍然提供了一些方法和技术来帮助我们进行调试。以下将详细介绍如何使用GDB调试不带调试信息的可执行程序。
76 0
|
6月前
|
程序员 编译器 C语言
C语言进阶⑳(程序环境和预处理)(#define定义宏+编译+文件包含)(中)
C语言进阶⑳(程序环境和预处理)(#define定义宏+编译+文件包含)
39 0
|
6月前
|
存储 程序员 编译器
C语言进阶⑳(程序环境和预处理)(#define定义宏+编译+文件包含)(上)
C语言进阶⑳(程序环境和预处理)(#define定义宏+编译+文件包含)
48 0
|
6月前
|
自然语言处理 编译器 Linux
C语言进阶⑳(程序环境和预处理)(#define定义宏+编译+文件包含)(下)
C语言进阶⑳(程序环境和预处理)(#define定义宏+编译+文件包含)
52 0
|
存储 安全 NoSQL
1.1 熟悉x64dbg调试器
x64dbg 是一款开源、免费、功能强大的动态反汇编调试器,它能够在`Windows`平台上进行应用程序的反汇编、调试和分析工作。与传统的调试器如`Ollydbg`相比,x64dbg调试器的出现填补了`Ollydbg`等传统调试器的不足,为反汇编调试工作提供了更高效、更可靠的解决方案。正是因为有了这些优点,才能使其成为当今最受欢迎的反汇编调试软件之一。
131 0
|
6月前
|
程序员
【汇编】Debug的使用
【汇编】Debug的使用
164 1
【汇编】Debug的使用
[笔记]vs2015 编写汇编masm32 Helloworld
[笔记]vs2015 编写汇编masm32 Helloworld
|
Linux 程序员 C语言
Vs code写C语言代码配置(超详细超基础)
写在前面: 近期不是重新温习一下C语言吗,也给自己升级换代一下编辑器,最初我一直用Dev c++ 写的C语言,因为没想往深的学习C语言,也不会去写什么大的项目,所以这个编辑器也是可以用,但是目前认真学习,发现那个东西真的适合初学者,对于我这种懒人不适合,项目代码管理起来很麻烦,所以一气之下我直接鸟枪换炮,整个大家伙——vs,但是vs真的太大了,而且默认装在C盘,我这破电脑小内存扛不住,所以就研究了一下vs code,下面就本人安装经验给新学者讲解如何安装。
724 0
汇编 in out的用法示例
汇编 in out的用法示例
268 0