作者ice0803 (SoFarSoGood)
看板ASM
标题[问题] x86 Instrution Pointer 问题
时间Tue Sep 4 18:09:12 2018
最近看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://webptt.com/cn.aspx?n=bbs/ASM/M.1536055755.A.A24.html
2F:→ b0920075: x86超奇怪...我的shellcode写在别的数值後面也会被影响 09/05 22:33
3F:→ b0920075: 走钟 09/05 22:33
4F:推 b0920075: 我记得我有附上stackoverflow网址啊QQ,不过google x86 09/06 09:27
5F:→ b0920075: instruction variable length decode应该找的到 09/06 09:27
6F:→ b0920075: 干jptt坏掉难怪我没看到 09/06 09:27
7F:→ ice0803: 感谢你的关键字,我找到下面这篇说明 09/06 21:48
8F:→ ice0803: Instruction decoding when instructions are length-var 09/06 21:52
9F:→ ice0803: iable 09/06 21:53