在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));
}
非常感谢。这个例子帮了我很多。 – Lazze 2012-04-19 15:45:34