C语言中的自毁代码
在这里,我们将看到如何在C语言中创建自毁代码。自毁代码基本上是在执行该代码,然后在执行后删除可执行文件。
这个任务很简单。我们需要获取可执行文件名才能将其删除。我们可以使用命令行参数。argv[0]将保存可执行文件名。然后使用remove()
方法我们可以将其删除。
在程序中,我们可以看到删除该文件后正在打印一行。因此,现在的问题来了,当前文件不存在时下一行如何执行?
实际上,整个转换后的代码在执行之前都会复制到主存储器中。执行文件的内容被复制;它本身不使用。因此,将从主存储器中打印下一行。
示例
#include<stdio.h> int main(int c, char *argv[]) { printf("After completing this, the file will be removed\n"); remove(argv[0]); //remove the argv[0] this is the name of the executable printf("Removed\n"); return 0; }
输出结果
After completing this, the file will be removed Removed