2010-08-11 59 views
3

假設我想改變的東西在一個可執行的000F5344地址。我該如何解決它?十六進制編輯與C++

+3

你需要這樣做重複/編程?爲什麼不使用十六進制編輯器? – ysap 2010-08-11 22:43:01

+0

問題:我們可以使用新的配置來達到上述目的嗎? – joshu 2010-08-11 22:43:38

+0

@prabhu:什麼是安置新的? – Zabba 2010-08-11 22:56:10

回答

13

@Pablo聖克魯斯提供了一個很好的方式,但在C.如果你喜歡去的純C++,方法如下:

  1. 打開文件:的fstream ::開放(記得用二進制標誌)
  2. 將置入指針位置:的fstream :: seekp
  3. 在置入指針位置寫入數據:的fstream ::把
  4. 關閉文件:fstream :: close

雖然這並不比C版好。

+0

也非常感謝。 – Qosmo 2010-08-11 22:42:29

+0

完全同意。很好的答案! – 2010-08-11 23:05:25

11

四個步驟溶液如下:

  1. 打開與二進制標誌(使用fopen)的文件。
  2. 移動到地址(偏移)(使用fseek)。
  3. 您的數據寫入(使用fwrite)。
  4. 關閉文件(使用fclose)。

使用谷歌獲得的4個函數的調用幫助。也將在C工作。

+0

非常感謝。 – Qosmo 2010-08-11 22:31:17

+3

只是爲了正確,這不是fseek而是ftell嗎? – TheUndeadFish 2010-08-11 22:37:03

+0

@TheUndeadFish:是的。 – mingos 2010-08-11 22:39:19