【发布时间】:2021-07-09 23:50:42
【问题描述】:
我刚刚偶然发现了一段代码,它做了我以前从未见过的事情,我在任何地方都找不到有关此的信息。
程序创建了一个常规的ini 文件并写了一些东西,没什么花哨的。
文件创建后,代码进一步向文件写入数据,它在ini文件内转储一个完整的7MB二进制文件,如下所示:
FileWrite(inifile:binary:$DATA)
就是这样。二进制文件被转储到文件中,我找不到访问它的方法。如果我右键单击该文件并转到属性,它会显示“大小:808bytes”和“磁盘大小:7mb”,显然二进制文件在某处。
我尝试做类似的事情并在 CMD 上写了这个:
notepad anyname.ini:WTH
记事本被执行并询问我是否要保存文件“anyname.ini:WTH”。我点击“是”,在其中写了几个字符并保存了文件。
确实创建了一个名为“anyname.ini”的文件,但如果我打开它,它是空的!
问题:这是什么行为,如何访问这些数据?
【问题讨论】:
-
这段带有“FileWrite()”的代码是用什么语言编写的?如果您在 Notepad++ 或(更好的测试)十六进制编辑器中打开文件会发生什么?
-
自动热键。但是您可以自己执行此操作,只需键入“notepad file.ini:blabla”并回车即可。然后写几兆的文本,保存并关闭。
-
这称为备用数据流。它们都有很好的记录,在 Google 上搜索该确切术语会找到有关该主题的大量信息。
-
忘了回答您的其他问题 - 您可以像创建它一样使用
notepad anyname.ini:$WTH访问它(IIRC,$是必需的,但我可能错了)。 -
@KenWhite
$不需要在 ADS 流名称中