2013-01-08 31 views
0

我讀過,類轉儲實用程序用於從iPhone私人API的轉儲頭。但是,它只適用於Objective-C框架。我想知道它如何適用於用C編寫的框架,例如 - IOSurface,IOMobileFramebuffer等。如何從iOS私有api二進制文件中獲取標題和函數?如何對應用程序進行逆向工程?

問題的第二部分非常通用。我有一個應用程序與我從Cydia或istore下載。我如何着手在越獄設備上對應用程序進行逆向工程(如果實際需要的話)。具體來說,我可以找到可執行的二進制文件和dylib。我能夠看到正在使用的框架。但是,如何確定應用程序正在調用框架內的哪些功能?

謝謝。

+0

我不認爲這是可能的 –

+0

哪一部分 - 反向工程部分或C框架轉儲?因爲IOSurface存在頭文件,IOMobileFramebuffer框架。所以,人們已經做到了。 –

回答

3

我會建議對這個問題分解爲兩個問題:

1)「我想知道它是如何工作的C語言編寫的,例如框架 - IOSurface,IOMobileFramebuffer等。」

我有完全一樣的問題: Getting signatures of private API methods for iOS

答案是

   一)儘量谷歌C法,看看別人是否已經拆開了一下,發現方法簽名。

    b)若沒有人這樣做過,你可以第一個誰將會做


2)「我怎麼做出來什麼框架內的功能正在由應用程序調用?「

有兩種類型的框架/庫函數的引用的:

  • 編譯時引用

您使用一些反彙編器,它會列出所有編譯爲框架/ dylibs時間參考。

  • 運行時引用

這些都是引用,當有人做dlopendlsymNSBundle使用某些功能。 您必須通過反彙編代碼反彙編並查看/ grep以查找它們的使用位置。將會有字符串和使用的方法名稱。

+0

感謝您的回覆。我在應用程序的dylib上使用了我想要進行反向工程的otool。然而,生成的彙編代碼沒有被證明是很有幫助的。我找不到功能簽名。在蘋果框架的情況下,但我能夠獲得功能簽名。但是,然後爭論變得艱難。 –

+0

我會建議你試試Hopper Disassmebler。它相當便宜,它有一些有趣的功能(例如它試圖將ASM轉換爲C代碼)。這是嘗試學習方法論點的好開始。 –

相關問題