首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Windows上,此代码如何生成文件名包含冒号的文件?

在Windows上,此代码如何生成文件名包含冒号的文件?
EN

Stack Overflow用户
提问于 2018-01-31 01:07:30
回答 1查看 552关注 0票数 0

我在另一个论坛上看到下面的pascal代码。这段代码怎么可能呢?

windows不允许用户创建带有冒号的文件名吗?

但是,仅当您在驱动器根目录(例如: D:、C:、E:等)中创建名称包含冒号的文件时,此代码才起作用。当文件被创建时,它是完全不可见的。

代码语言:javascript
复制
uses crt, sysutils;
var
  f, f1: file of char;
  c:char;
begin
  clrscr;
  assign(f, 'D:\src\payload.exe');
  reset(f);
  assign(f1, 'D:\:malware.exe');
  rewrite(f1);
  while not eof(f) do
  begin
    read(f, c);
    write(f1, c);
  end;
  close(f1);
  close(f);
  executeprocess('D:\:malware.exe', ''); //here
  readln;
  erase(f1);
end.

你可以用免费的pascal编译上面的代码

代码语言:javascript
复制
fpc [filename].pas

谢谢。

编辑:

有关更多详细信息,请参阅:

您可以从CreateProcess (WinAPI)执行D:\:malware.exe

不能从命令行、路径等执行D:\:malware.exe

我使用进程资源管理器查找D:\:malware.exe路径/contain文件夹。但是,当我按下explore按钮时,它会将我带到%UserProfile%

它只适用于D:\:malware.exeD:\\malware.exeD:\/malware.exe

EN

回答 1

Stack Overflow用户

发布于 2018-01-31 01:16:34

它之所以有效,是因为它是可能的。你可以给文件命名所有可怕的东西,而不管正确的命名约定。

*是的,我知道MSDN将冒号列为“保留”。这并不等同于禁止或不可能。它只是和“不做”是一样的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48526904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档