0

バイナリ ファイル内の特定の 16 進オフセットの内容を C# に置き換えるにはどうすればよいですか?

より明確にするために、私のオフセットが 0x33347 で、その内容が 06 であるとしましょう。06 を 17 に変更したいと思います。どうすればよいですか? 私は 16 進編集の経験がほとんどないので、自分で何かを理解することができませんでした。

4

2 に答える 2

3

a を使用して、ストリームの をオフセットFileStreamに設定しPosition、バイトを書き込みます。

これにより、現在のコンテンツが必要なもので上書きされます。

using(var fs = new FileStream("path to file", 
                              FileMode.Open, 
                              FileAccess.ReadWrite))
{
    fs.Position = 0x33347;
    fs.WriteByte(Convert.ToByte(0x6));
}
于 2012-04-19T15:19:29.830 に答える
2

読み取り/書き込みモードでストリームを開き、オフセットまで読み取り (または、ストリームがシークをサポートしている場合はシーク)、バイトを書き込み、ストリームをフラッシュして閉じます。

于 2012-04-19T15:18:59.663 に答える