CreateFile 函数读取文件失败,即使文件存在,错误代码 -1

CreateFile function fail reading a file even if it exists, error code -1

试图反转 windows 可执行文件,我发现函数 creatfile 试图以只读模式打开文件,

我在同一个目录中创建文件,并为函数指定了相同的名称,但它总是失败并显示错误代码 -1,我想找出原因。

函数调用后eax寄存器的值为-1,这里是来自同一目录

dir命令的输出

知道为什么会失败吗?

普通文件不使用\.\符号。它用于设备。因此,创建常规文件在这里不起作用。相反,您需要创建一个具有该名称的设备。这些名称在设备驱动程序中也很常见 - 因此可能是此任务的命名。

有关详细信息,请参阅 Naming Files, Paths, and Namespaces 中的 "Win32 Device Namespaces" 部分。