有没有办法移动x86机器码?

时间:2014-06-02 22:19:29

标签: windows assembly x86 exe machine-code

假设我在地址X处有一小块机器代码,这是EXE(PE)的一部分。它包含所有类型的指令,包括具有相对地址的指令。如何在不改变其行为的情况下将此代码移动到地址Y?我不想写自己的反编译器。一些现有的库或技巧,也许?

2 个答案:

答案 0 :(得分:2)

在旧学校做的标准事情'几天是将代码留在' x',用跳转到新代码替换前几个字节(比如说是3)。在新代码的最后,您执行在' x'处替换的代码,然后跳回到' x' +3

答案 1 :(得分:1)

通常不可能,但如果代码是经过仔细编写的,则无视。请参阅:position-independent code