看板 ASM 關於我們 聯絡資訊
最近看mips32的處理器 它的program counter是每次增加4,去抓指令來解碼 但x86指令長度不定 Instruction Pointer(IP)是否也是每次增加4(假設32位元處理器) 然後在解碼的時候,看指令的長度,再去更新IP的位址? 例如 0x1000 抓了4 Byte的資料,發現指令長度只有1byte,即更新 IP 為 0x1001 0x1001 再抓4 Byte的資料,發現指令長度只有3byte,即更新 IP 為 0x1004 0x1004 ... 先謝謝各位 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.237.25 ※ 文章網址: https://www.ptt.cc/bbs/ASM/M.1536055755.A.A24.html
b0920075: https://tinyurl.com/ybmesrkh (stackoverflow) 09/05 22:31
b0920075: x86超奇怪...我的shellcode寫在別的數值後面也會被影響 09/05 22:33
b0920075: 走鐘 09/05 22:33
b0920075: 我記得我有附上stackoverflow網址啊QQ,不過google x86 09/06 09:27
b0920075: instruction variable length decode應該找的到 09/06 09:27
b0920075: 幹jptt壞掉難怪我沒看到 09/06 09:27
ice0803: 感謝你的關鍵字,我找到下面這篇說明 09/06 21:48
ice0803: Instruction decoding when instructions are length-var 09/06 21:52
ice0803: iable 09/06 21:53