是否存在文件包含恶意代码,执行代码后,病毒将自身附加到另一个文件并从其来源文件中删除恶意代码的情况?
会不会有病毒会自行卸载?
信息安全
病毒
2021-09-06 13:42:51
1个回答
是否存在文件包含恶意代码的情况,执行代码后,病毒将自身附加到另一个文件并从其来源文件中删除恶意代码?
是的,一旦病毒程序是一个正在运行的进程(程序加载到 RAM 中),它就可以轻松地访问自己的程序文件并从持久存储中删除其可执行文件。
执行这种自我删除的 C 代码非常简单,因为程序文件名是argv
指向 C 主函数的输入数组指针的第零个参数。并且,例如,该remove
函数可用于从stdio
库中按名称删除文件。
例如:
#include <stdio.h>
int main(int argc, char *argv[]) {
remove(argv[0]);
return 0;
}
如果您编译并运行上述源代码,它将删除自己的可执行文件。
注入另一个进程也相当简单,但执行此类功能的源代码的确切形式更依赖于操作系统。