4 經典定長指令 修改ERX

2021-09-24 05:55:48 字數 925 閱讀 7748

定長指的是:

只要opcode確定,這條指令的長度就確定了,這就是定長

而不是 opcode 的長度就是指令的長度

要記住通用暫存器的順序,有利於理解硬編碼

0 eax

1 ecx

2 edx

3 ebx

4 esp

5 ebp

6 esi

7 edi

1、push/pop

50 push eax

51 push ecx

52 push edx

53 push ebx

54 push esp

55 push ebp

56 push esi

57 push edi

58 pop eax

59 pop ecx

5a pop edx

5b pop ebx

5c pop esp

5d pop ebp

5e pop esi

5f pop edi

2、inc/dec

0x40 - 0x47 inc erx

0x48 - 0x4f dec erx

3、mov rb, ib(immediate byte)

0xb0 - 0xb7

4、mov erb, id(immediate double)

0xb8 - 0xbf

5、xchg eax, erx:

90 xchg eax, eax(nop) //這裡就可以說明了nop是怎麼來的了,因為將eax與eax交換毫無意義。

91 xchg eax, ecx

經典定長指令 修改EIP

0xe0 loopne loopnz ib jb 共2位元組 ecx ecx 1當zf 0 ecx 0時跳轉到 當前指令位址 當前指令長度 ib 指令包含乙個要新增到指令指標暫存器的相對偏移量 例如,jmp 0 e9 迴圈 立即數 乙個位元組 雙字,不管運算元大小屬性如何 0xe1 loope lo...

拖動指令bug修改(4)

指令用到專案中後,測試提了乙個bug,在瀏覽器中input框,文字域等輸入框中游標聚焦有問題,經過排查,發現是用來過濾元素的draggable屬性的問題。換了個屬性名解決問題。directive draggable document function document 按下滑鼠左鍵 element....

修改CS IP指令

實驗環境 visual stdio 2015 irvine庫 除錯視窗暫存器,可以看到暫存器變化 右鍵暫存器視窗 可以開啟 段和標誌位 外掛程式asmhighlighter語法高亮提示 書籍 組合語言第三版王爽編譯未通過 jmp 2ae3 3 執行後 cs 2ae3h,ip 0003h,cpu將從2...