定長指的是:
只要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...