2011-09-29 70 views
0

我有一個ARM二進制文件,並希望更改一些文本。 我從評論中刪除了幾個文字符號。ARM二進制和hexedit

但二進制文件將無法啓動,用日誌:

link_image [1710]:3013缺少必要的表不能鏈接EXECUTABLE

是否有人有一個想法如何編輯ARM二進制文件?

+8

如果您想繼續獲得幫助,回過頭來接受以前問題的一些答案可能會有所幫助。另外,你應該用你的代碼編輯你的問題,並且運行什麼命令來啓動你的代碼。 – brc

回答

2

我刪除了幾個文字符號

停在那兒的。如果我正在閱讀您正確寫入的內容,則刪除了一些字符,而不是用其他字符替換它們。

這將移動整個文件的其餘部分。但是二進制文件通常有指向文件其他部分的表或偏移量。移動文件的內容,即使是單個字節,也意味着這些表格或偏移不再指向它們應該在的位置。之後,試圖讀取文件的代碼被正確地混淆了。

編輯二進制文件時,除非您知道自己在做什麼,否則不得移動內容。如果您正在編輯文本,您的更改不得更改文本的大小。如果新文字較小,則必須填充它以保持相同的尺寸;如果新文字較大,則不適合,並且您必須找到較短的文字。

當然,這裏假定文件格式沒有校驗和來注意改變,或者你知道如何重新計算它們。

此外,請確保您使用的是正確的編輯器。普通文本編輯器可以靜靜地添加,刪除或替換字符,這可能會破壞文件,可能難以檢測。