zoukankan      html  css  js  c++  java
  • Windows10下的debug

    首先在windows下安装debug

    参考一下连接

    https://blog.csdn.net/qq_39564555/article/details/82936535

     

    使用debug

    查看、修改CPU中寄存器内容

    ;采用debug 的R指令来查看、改变CPU的内容
    直接输入R指令,查看所有CPU寄存器内容,以及下一条指令的CS:IP和对应的汇编语言 还有DS的地址
    
    输入-R +寄存器 表示修改寄存器的内容

     

    查看内存中的内容

    使用debug中的命令D查看内存的内容
    
    1.使用 d 段地址:偏移地址
    会自动查看由段地址:偏移地址往后128个字节的对应ascii字符和对应的十六进制编码内容

    2 采用d 段地址:偏移地址 偏移地址

    只会看到这个两个之间的数据

    3. 直接采用-d指令,会查看默认的地址的往后128个字节内容

     

    修改内存中的内容

    采用e指令来修改内容
    可以使用直接赋值
    如:
        -e 1000:0000  0 1 2 3 4 5 
    就会给 10001 赋值0 10002赋值1以此类推
    
    然后也可以采用一一对应赋值方式
    如:
        -e 1000:0000
    就会弹出每一个字节的赋值然后用空格来进入下一个字节,如果没有输入数字按了空格表示跳过,输入完成后用回车来结束。
    注:如果输入的是字符就会在内存上变为字符对应的ASCII值,然后对应的ASCII保存为字符的值,也可以直接输入字符串对应赋值

     

     

     

    将内存中的内容解释为机器指令和对应的汇编指令

     

    使用-e指令修改了内存对应的值后,将CS:IP指向对应的地址然后直接使用-t指令执行就会自动使用对应的汇编指令。
    通过-u指令对应的段地址:偏移地址可以查看到对应内存的汇编指令是什么。

     

    执行CS:IP指向的内存单元的指令

     

    使用-t指令就会直接执行CS:IP执行的指令,并且自动修改IP的值

    以汇编指令的形式向内存中写入指令

     

    也可以通过-a指令来直接用对应的汇编语言指令来修改内存的值,来直接执行。
    
    
  • 相关阅读:
    go语言简述
    树莓派基础
    电信专用名词
    无线linux应用及配置--wifi配置
    udev简述
    什么是物联网网关?物联网网关具备什么功能?_转
    FTDI通用转USB芯片简述
    Spring实现文件的上传下载
    (转)JVM——内存管理和垃圾回收
    (转)JVM——自定义类加载器
  • 原文地址:https://www.cnblogs.com/beautiful7/p/13709612.html
Copyright © 2011-2022 走看看