如果我有一些文件具有可识别的签名,例如Magic Number,它们在 Nautilus 中被识别为文档、视频或音频,无论后缀如何。
如果我想在编码文件本身不被识别为已编码的情况下对它们进行编码,一种简单的策略可能是将文件内容重新排序为块:
例如,如果文件被分成 10 个相同大小的块(任何剩余部分都可以作为可变大小的第 11 个块留下K
)ABCDEFGHIJK
,简单的编码将重新排列块顺序:例如
block_encode input_file output_file
,将导致输出文件组织为:BADCFEHGJIK
. (当然,我也可以只交换“后半部分”和“前半部分”,在文件末尾可能保留 1 个字节不变)。
在这种情况下,只需再次应用编码即可实现解码。
生成的文件很可能不会被识别为任何有效的文档、视频、音频等。
我的问题是:是否有任何简洁(简单)的方式在 bash 中使用标准工具(例如dd
)来实现它?(如果需要,我可以编写一个 C 程序)。
后续行动将是:如果文件是媒体文件,我如何将“解码”内容流式传输到例如 VLC,而不必先将解码流保存为文件?