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

问题描述:

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

为了使它更清楚,可以说我的偏移量是0x33347,它的内容是06.我想将06改为17.我该怎么做?我对编辑十六进制的经验很少,所以我没有真正能够自己想出任何东西,我有点失落。

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

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

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

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

非常感谢。这个例子帮了我很多。 – Lazze 2012-04-19 15:45:34