在文件中添加数据,但不添加内容? (隐写术)

在文件中添加数据,但不添加内容? (隐写术)

我的目标是将数据隐藏到。TXT.xml来自 Linux 操作系统的文件,并使其在任何操作系统上都可读。

在 Apple OS (OS X) 中,我曾经将“秘密”数据写入文件中(实际上是在文件的资源分支中),但写入文件的内容之外。示例:一个文件鲍勃.txt,当你打开它时文本应用程序它显示“你好”,但我将未显示的文本放入鲍勃.txt(例如:“我的帽子是红葡萄酒”)。

如何使用 Unix/Linux 终端在内容之外“隐藏”文本数据?

条件是: - 打开文件, - 零内容更改。

我一直在寻找 EOF(文件结尾),但它在 Linux 上不存在(EOD 是一个老东西,非常老)。

我想setfattr,这很好,但我确信还有更深/更强的方法。

我的意思是,例如,编辑完整的文件位链,并在内容和元数据之间添加位。

答案1

您在 MacOSX 上所描述的只是将常规数据存储在数据分叉文件中的“秘密”数据资源叉。主要的 Linux 文件系统提供了一种更通用的机制,称为扩展属性,可以使用设定值命令并使用读回获取法特

例如::

$ echo "Hello, world" > test

$ setfattr -n user.secret -v "Not-easily viewable content goes here" test

$ cat test
Hello, world

$ getfattr -n user.secret test
# file: test
user.secret="Not-easily viewable content goes here"

注意:

  • 扩展属性是命名空间的;用户定义的属性名称必须以user.
  • 您可以并行存储多个扩展属性,例如user.secret1user.secret2
  • 并非所有文件系统都支持扩展属性:ext2/3/4、xfs、btrfs 都支持(但它们需要一个安装选项,该选项可能不是 Linux 发行版上的默认选项);其他一些则不需要(例如 tmpfs)

相关内容