4
的彙編代碼我successfuly改變的指令到NOP
,因爲它是非常基本的:GDB:改變正在運行的程序
set *0x08048e3a = 0x90
但我想改變其中有je 0x8048e52
這個地址0x08048e3a
。我想將其更改爲je 0x8048ea8
。
但是當我做set *0x08048e3a = 0x74168048ea8
它不起作用。 (0x7416
= je
指令)
謝謝
另外請注意,在x86的'CALL'和'JMP'指令是PC相對(即,指令編碼的實際字節×偏移量*從當前insruction到跳轉目標(更精確的說,從* next *指令偏移))。因此,如果你想'JE 0x8048ea8',實際的指令字節將*不*包含'0x8048ea8'。 –
謝謝你的答案。我認爲16是「je」指令的一部分。但這是跳到的偏移量。 –