gpt4 book ai didi

c# - 仅在 C# 中的 EOF 标记之后读取字节

转载 作者:太空宇宙 更新时间:2023-11-03 12:41:44 25 4
gpt4 key购买 nike

所以我在玩隐写术,在文本/图像/声音/视频之后我试图用可执行文件做一些事情。有一种已知的方法可以在这些文件的 EOF 之后放置隐藏消息。它在某种程度上对我有用,但我想知道我是否可以只在 EOF 之后而不是所有字节开始阅读隐藏的消息。

我有将 .exe 读取到字节数组并将附加信息放入这些字节的代码:

public byte[] CreateHiddenMessage(byte[] container, byte[] message)
{
byte[] newArray = new byte[container.Length + message.Length];

//copy original bytes
for (int i = 0; i < container.Length; i++)
{
newArray[i] = container[i];
}

//add hidden info
for (int i = 0; i < message.Length; i++)
{
newArray[i + container.Length] = message[i];
}

return newArray;
}

然后,我毫无问题地保存这些字节:

public static void WriteToFile(String name, byte[] bytesToSave)
{
System.IO.File.WriteAllBytes(name, bytesToSave);
}

现在我面临一个问题。新的可执行文件工作得很好,它有那些额外的字节,但是当我试图检索隐藏的消息时,我必须遍历所有这些字节并在我的应用程序中打印它们(首先是很多随机符号,然后是实际消息).

只有在 EOF 标记出现后,才有办法开始读取那些隐藏字节(并转换为字符)吗?我知道没有像“EOF 字符”这样的东西,但是,有什么想法吗?

我唯一的想法是在原始文件中隐藏消息的开头放置某种标题代码,例如“##$$##[message]”,然后在读取所有字节后开始转换字符在这段代码之后。但我想避免它!

最佳答案

所以我决定采用 Gerardo Grignoli 的想法并将隐藏消息的长度写在保存消息的可执行文件的末尾。

关于c# - 仅在 C# 中的 EOF 标记之后读取字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38773792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com