如何使程序能够在运行时写入自己的可执行文件

本文关键字:自己的 可执行文件 运行时 何使 程序 | 更新日期: 2023-09-27 18:24:03

关闭程序后,我想在不使用辅助编写器的情况下替换或添加可执行文件中的一些字节。我知道,通常这是不可能做到的,但如果需要的话?

我知道一个叫Unlocker的程序,它可以删除当前正在使用甚至正在运行的文件。它以某种方式删除了阻塞描述符。我认为它将自己的DLL注入到每个正在运行的进程中。

所以,若它将自己的DLL注入到所有内容中,并以某种方式删除阻塞描述符,也许我可以对自己的可执行文件做同样的事情?至少,我不需要为程序注入任何东西,因为我开发了它

解决方案也可以在C/C++中,我只是从自己的DLL中导入DLL所需的函数。

如何使程序能够在运行时写入自己的可执行文件

通常做某事最简单的方法不是去做,而是假装你做了。

例如,当声称要删除一个文件时,只需将其移动到同一磁盘上的另一个目录通常会容易得多。这只是复制元数据(目录条目)的问题。

使用该课程:要"更改"可执行文件,请重命名它(运行时允许),将它复制回原来的名称(正式的新文件,不在使用中),然后用旧名称更改新文件。