2012-04-19 49 views
0

我該如何去用C#替換二進制文件中特定十六進制偏移量的內容?在C中替換特定的十六進制偏移量#

爲了使它更清楚,可以說我的偏移量是0x33347,它的內容是06.我想將06改爲17.我該怎麼做?我對編輯十六進制的經驗很少,所以我沒有真正能夠自己想出任何東西,我有點失落。

回答

2

以讀寫模式打開流,讀取您的偏移量(或查找您的流是否支持搜索),寫入您的字節,刷新並關閉流。

3

使用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

相關問題