正在运行的进程是否可以从其目录中破坏其可执行文件和文件(当前正在使用)

时间:2019-05-24 03:46:24

标签: linux windows operating-system executable

我有一个从目录启动的正在运行的进程,将可执行文件名为foo.exe(windows),我怀疑该进程是否会破坏其自己的可执行文件?

如果是这样,下次运行将不允许我启动可执行文件,还是当前正在运行的可执行文件显示有问题的行为? 对于它可能正在使用的某些DLL也有类似的疑问。

我正在使用Windows,但对Windows和Linux的回答都表示赞赏。

2 个答案:

答案 0 :(得分:0)

Windows在可执行文件运行时将其锁定,无法编辑.EXE或对其进行重命名/删除。

.DLL文件也是只读的,因此无法进行编辑,但可以重命名,以便恶意程序可以执行.DLL替换攻击。

Linux允许在使用文件时unlink对文件进行<form action="<?php echo route('profile.store'); ?>" method="post"> <input type="hidden" name="_token" id="csrf-token" value="<?php echo csrf_token(); ?>" /> 处理,因此会产生替换攻击。我不知道是否有办法在适当位置进行编辑。

如果可执行文件在网络共享上,则这些限制可能不适用,这取决于服务器实现和所使用的协议。

答案 1 :(得分:0)

通常,答案是否定的,除非操作系统中存在某些错误。操作系统将以只读方式打开可执行文件。然后,某些操作系统将可执行文件用作过程的只读部分的页面文件。在大多数操作系统中,如果没有错误,就不可能写回可执行文件。