2010-08-16 43 views
2

我必須在我的Pocket PC中修補arm可執行文件。修補臂可執行嗎?

我使用IDA Pro解散ARM可執行文件。但我無法編輯二進制文件。正如你所知,Ollydbg讓我們編輯二進制/添加彙編代碼(右鍵單擊 - >彙編),但它不支持ARM。所以我用IDA Pro進行分解。但在IDA中,我無法將我的彙編代碼添加到我的ARM可執行文件中。在「編輯>修補程序>組裝」之後,它提供了一個錯誤。 (對不起,此處理器模塊不支持彙編器)。

那麼如何將我的彙編代碼添加到此ARM可執行文件中?

謝謝...

回答

0

你可以嘗試拆卸(全)二成彙編程序,然後使用匯編回到一個二進制文件(GNU/binutils的工具,例如)。然後,一旦這個工作將您的修改添加到彙編器。

另一種替代方法是組裝新功能,在二進制文件中找到一個放置新代碼的位置,並將一個或兩個指令替換爲新代碼的分支鏈接。這是一個手工二進制修改,而不是一個GUI工具將要做的事情。將不得不手動計算分支鏈接指令。

+0

第二種方式對我更有用我在Ollydbg中使用了這種方式來執行x86可執行文件。謝謝你的回答。但我不明白手修改??我將使用哪些程序/軟件進行修改? – newbiereverser 2010-08-16 14:55:12

+0

順便說一句,我想補丁的程序在Windows Mobile上運行..所以gnu/binutils工具可以用於它嗎?謝謝.. – newbiereverser 2010-08-16 14:57:25

1

不是特別是很有幫助,但我通常查閱指令集引用並找到指令編碼,然後撥動hexdump,直到反彙編匹配我想要的。

您或許可以使用gas爲您組裝指令,然後再複製hexdump。