經典定長指令 修改EIP

2022-09-09 14:51:21 字數 1797 閱讀 1699

0xe0  loopne/loopnz ib(jb)  共2位元組

ecx=ecx-1當zf=0&&ecx!=0時跳轉到 當前指令位址+當前指令長度+ib

指令包含乙個要新增到指令指標暫存器的相對偏移量(例如,jmp  (0 e9),迴圈)。

立即數

乙個位元組

雙字,不管運算元大小屬性如何

0xe1  loope/loopz ib(jb)  共2位元組

ecx=ecx-1當zf=1&&ecx!=0時跳轉到 當前指令位址+當前指令長度+ib

0xe2

loop ib(jb)  共2位元組

ecx=ecx-1當ecx!=0時跳轉到 當前指令位址+當前指令長度+ib

0xe3

jrcxz ib(jb)(在32位模式中,rcx為ecx)  共2位元組

當ecx=0時跳轉到當前指令位址+當前指令長度+ib

(自己控制步長)

0xe8

call id(jd)  共5位元組

0xe9

jmp id(jd)  共5位元組

跳轉到 當前指令位址+當前指令長度+id

4 經典定長指令 修改ERX

定長指的是 只要opcode確定,這條指令的長度就確定了,這就是定長 而不是 opcode 的長度就是指令的長度 要記住通用暫存器的順序,有利於理解硬編碼 0 eax 1 ecx 2 edx 3 ebx 4 esp 5 ebp 6 esi 7 edi 1 push pop 50 push eax 5...

修改CS IP指令

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

2021 01 09 經典變長指令 ModRM

硬編碼彙編 0x88 mov eb,gb 0x89 mov ev,0x8a mov gb,eb 0x8b mov ev 當指令 現記憶體操作物件的時候,就需要在操作碼後面附加乙個位元組來進行補充說明,這個位元組被稱為modr m。該位元組的8個位被分成了三個部分 其中,reg opcode 第3 4...