2011-03-29 67 views
3

可能重複:
decompile an app binary to get back to source code反編譯iOS的Objective-C的二進制

我有一個iPhone/iPad應用,什麼是還挺有趣的。它使用特殊的內部XML格式來處理它所做的事情,但是沒有設備,我看不到它是如何工作的。我想重新創建Android手機的這個功能(也許是免費的和開源的),但爲此我想看看閱讀部分是如何工作的,實際上,我想知道XML格式本身。從頭開始重新創建(僅使用XML文件)是非常困難的,因爲它們沒有被評論,而且名稱也沒有告訴任何有關它們功能的特定信息。

我想看到的是文件如何被讀取,具體標籤做什麼等,所以我可以編寫一個轉換器來轉換iOS輸出文件,以實現我的相同目的的Android應用程序。是的,我檢查了市場,沒有像我想要重新創建的應用程序(實際上幾乎完全重新創建,我只需要一個轉換器或用於這些iOS特定文件的解析器)。

回答

15

來自iOS App Store的所有應用程序以及庫存OS設備的文件系統上的二進制文件都已加密。

請嘗試非常有禮貌地編寫應用程序的作者,並確定他們是否會給出或提供銷售您感興趣的解析器的源代碼。

+12

這個問題不斷出現,這裏的第二句話正是我一直告訴人們的。你會驚訝於很多開發人員的慷慨。如果他們無法提供確切的代碼,通常他們可以給你指出這是如何工作的。 – 2011-03-29 17:34:46

1

因爲noted here,你可以得到彙編代碼,但是你將永遠無法獲得源代碼,因爲有無數的方式來表示程序集。

+0

我想DECOMPILE一個BINARY,而不是去探索.IPA包。已經這樣做了,那樣我已經獲得了一些內置的XML來學習,但仍然無法獲得格式本身。 – fonix232 2011-03-29 16:44:16

+1

@ fonix232:你認真反思反編譯會對你有幫助嗎?反編譯本地代碼(而不是託管)是一項棘手的業務,與讀取純彙編沒有多大區別。 – 2011-03-29 17:07:24

+1

這將有助於理解哪個XML標記與哪個函數相關,因此很容易。但是,在彙編中,我不能真正看到函數名稱,只能重定向到函數的主體。 – fonix232 2011-03-29 17:11:35