四、内存空间的编辑和ASSIC码

版权声明:墨痕诉清风 https://blog.csdn.net/u012206617/article/details/85128769
debug  cmd.exe


    代码段:在内存中存放代码的联系内存单元
    比如:03ff:0100 到 03ff:0200  这段空间均存放了汇编代码,这个空间就叫段代码
    

    数据段:在内存中存放数据的连续内存单元
    比如:e 073f:0000    
    01 02 03 04 05 06 07 08 09 0A ..
    一个字节的数据:一个内存单元的数据
    一个字的数据:连续两个内存单元的数据,遵循高地址是高位,低地址是低位。


    a、t、r命令比较重要
    a CS:IP
    034F:0100 mov ax,11




    e为编辑,6000位起始地址,偏移地址为0017,放入数据为AB
    e 6000:0017 AB
    e 6000:0017 AB 13 90 A0 87

    
    查看存储
    段地址:偏移地址
    d 6000:0000


    改写内存
    5F00:1030 01.0A 02.0B 03.0C 04.0D 05.  06.FF


    进入段地址
    a 6000:0100


    汇编翻译
    u 6000:0000 0012
    6000:0000 0000        ADD        [BX+SI],AL
    6000:0006 1300        ADC        AX,[BX+SI]        

         
    ASSIC(单冒号扩起来会对应16进制符号,不扩为16进制)
    e 6000:0010 'A' 'B' 'c' 'D' '>' '=' 3A 3B

        
    字符串
    e 6000:0020 "abcdef"


    查看汇编命令执行界面
    显示寄存器内容的标志位状态,可修改(改变IP的指向,偏移量)
    r
    比如
    r ip 
    IP 0109
    :0100


    执行汇编命令
    t 从当前CS:IP寄存器指向的地址开始执行汇编指令(r 查看汇编信息)
    格式:
    t  

         

猜你喜欢

转载自blog.csdn.net/u012206617/article/details/85128769