如何修改可执行文件而不破坏它?

时间:2012-08-30 00:40:27

标签: windows executable exe bytecode nul

是否存在特定的空字符或字节序列,如果在文件的FRONT中添加,则不会损坏可执行文件?我尝试添加NUL(00十六进制),但每次都会破坏可执行文件。是否有一些字节码用于NOP(无操作)或类似的东西?

长话短说,我想弄乱一个“黑客”,修改内存中的值& process + fixed offset。推动内存堆栈会(或者我认为)阻止它工作。

2 个答案:

答案 0 :(得分:2)

不,Windows可执行文件使用的PE文件格式具有非常特定的标头。有关详细信息,请参阅http://en.wikipedia.org/wiki/Portable_Executable

您可以尝试使用ASLR使您的代码更能抵抗内存中的修补。

答案 1 :(得分:1)

您必须将其完全解析为不同的部分和细分,修改您要查找的部分,但您无法在任何代码段之前插入代码: 你最好有一个先执行的段,然后跳转到旧的起始段。

最后,您将不得不重新创建一个新的完整可执行文件。

相关问题