四、記憶體空間的編輯和ASSIC碼
阿新 • • 發佈:2018-12-28
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