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

时间:2012-04-19 15:16:15

标签: c# hex offset

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

为了使它更清楚,让我说我的偏移量是0x33347,它的内容是06.我想将06改为17.我该怎么做?我对十六进制编辑的经验很少,所以我无法自己解决任何问题,我有点迷失。

2 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:2)

以读写模式打开流,读取你的偏移量(或寻求你的流支持寻找),写你的字节,刷新并关闭流。