假设我在地址X
处有一小块机器代码,这是EXE(PE)的一部分。它包含所有类型的指令,包括具有相对地址的指令。如何在不改变其行为的情况下将此代码移动到地址Y
?我不想写自己的反编译器。一些现有的库或技巧,也许?
答案 0 :(得分:2)
在旧学校做的标准事情'几天是将代码留在' x',用跳转到新代码替换前几个字节(比如说是3)。在新代码的最后,您执行在' x'处替换的代码,然后跳回到' x' +3
答案 1 :(得分:1)
通常不可能,但如果代码是经过仔细编写的,则无视。请参阅:position-independent code。