バイナリ ファイル内の特定の 16 進オフセットの内容を C# に置き換えるにはどうすればよいですか?
より明確にするために、私のオフセットが 0x33347 で、その内容が 06 であるとしましょう。06 を 17 に変更したいと思います。どうすればよいですか? 私は 16 進編集の経験がほとんどないので、自分で何かを理解することができませんでした。
a を使用して、ストリームの をオフセットFileStream
に設定しPosition
、バイトを書き込みます。
これにより、現在のコンテンツが必要なもので上書きされます。
using(var fs = new FileStream("path to file",
FileMode.Open,
FileAccess.ReadWrite))
{
fs.Position = 0x33347;
fs.WriteByte(Convert.ToByte(0x6));
}
読み取り/書き込みモードでストリームを開き、オフセットまで読み取り (または、ストリームがシークをサポートしている場合はシーク)、バイトを書き込み、ストリームをフラッシュして閉じます。