所以我使用CFF Explorer将代码段添加到.exe
文件中。我已经将节特征设置为0x60000020
(可执行,可读,包含代码),并使用IDA在那里创建了一些虚拟代码。
但是,当我从原始jmp
段向该代码注入.text
时,我得到的只是访问冲突。我使用IDA来修补二进制文件,因此它为我生成了偏移,但似乎是正确的:
jmp far ptr 6:75D100h
结果操作码看起来也是正确的:
EA 00 D1 75 00 06 00
但是一旦我跳到那个跳转 - “指令引用内存为0xFFFFFFFF,内存无法读取”。我已经尝试了一些补偿无济于事;附加的段似乎已正确加载到内存中。
如果对我在这里缺少的任何暗示感激不尽:)
答案 0 :(得分:0)
只是将此标记为已回答 - @Jester和@RossRidge提出的解决方案是放弃jmp far
。使用
jmp near ptr 75D100h
修复了一切。不得不说IDA的行为可能有点奇怪。