-----------------------------------------------------------------------------------------------------------------
一個關於INT 3h的知識分享
一般來說INT xxh的機器碼會看到是CD imm8 ,例如: CD 19 就是呼叫INT 19h.
而INT3比較特別,他有一個1 byte的OPCODE是0xCC,使用1個BYTE的好處是"
而2 bytes的方式就沒這個好處! 如果你了解INTEL 指令,你就會知道一行指令是由Prefix OPCODE.......部分組成的,所以一行指令所代表的機器碼長度
底下是範例代碼,一個換掉原本位置的方式:
lds bx,BreakToAddress ;Insert INT3h OPCODE to this addrees
mov al,0CCh ;INT 03h opcode
xchg [bx],al ;Set INT 3h OPCODE and also save original opcode into AL
mov OriginalOpCode,al ;Save original opcode
沒有留言:
張貼留言