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

更新时间:2019 年 7 月 30 日

1K+ 浏览量

启动你的职业生涯

完成课程即可获得认证

开始
广告