替换 C# 中的特定十六进制偏移量

本文关键字:十六进制 偏移量 替换 | 更新日期: 2023-09-27 18:31:51

我将如何用 C# 替换二进制文件中特定十六进制偏移量的内容?

为了更清楚起见,假设我的偏移量是0x33347,它的内容是06。我想将 06 更改为 17。我该怎么做?我对十六进制编辑的经验很少,所以我自己真的无法弄清楚任何事情,我有点迷茫。

替换 C# 中的特定十六进制偏移量

使用 FileStream ,将流的Position设置为偏移量,然后写入字节。

这将用您想要的内容覆盖当前内容。

using(var fs = new FileStream("path to file", 
                              FileMode.Open, 
                              FileAccess.ReadWrite))
{
    fs.Position = 0x33347;
    fs.WriteByte(Convert.ToByte(0x6));
}

以读写模式打开流,读取偏移量(或者搜索,如果您的流支持查找),写入字节,刷新并关闭流。