2012-11-08 42 views
0

是否有一個簡單的鉤子函數可以幫助我鉤住dylib中的C/C++函數?在iphone中掛鉤C/C++函數的簡單方法?

我知道如何使用MSHookMes​​sage函數,但我沒有MSHookFunction的簡單源代碼。

我試圖從Saurik公司的源發揮作用​​ - 但它是地獄嘗試編譯它...

任何很好的例子在那裏? (不使用示例,實現示例)。

編輯: 我試圖瞭解THEOS - 也不懂如何掛鉤的C函數... 這裏說德指令只針對職業工作:

%掛鉤類名

這樣可以鉤住函數嗎?

回答

0

您可以使用CFBundleGetFunctionPointerForName

請參閱Loading Non-Cocoa Bundles,清單2和3.即使對於私有框架也很適用。你只需要知道框架在磁盤上的位置。

+0

重新閱讀您的問題後,我看到您正在詢問dylib,而不是框架。我從來沒有嘗試過這一點,但你可以檢查dlopen的手冊頁等。 – boxel

+0

我正在尋找一種方法來鉤住Instanse的跳板。應用。 C函數..,你的建議工作嗎? –

+1

我的錯誤。是的,如果你需要在跳板中替換C函數的實現,你需要MSHookMes​​sage。這可能需要一個內核補丁才能使超級調用閉包工作,因此您可能需要完成入門指南。對不起,紅鯡魚。 – boxel