2014-01-26 63 views
3

我想創建一個KEXT要在OS X 10.9上運行。目前,當我創建新項目時(在Xcode中,我給出了一些可以覆蓋的方法的模板(cckext_start()cckext_stop()),這很好,但我更願意使用C++創建我的擴展。OSX創建C++內核擴展

是這樣的:

  1. 可能
  2. 壞實踐

如果是這樣,我該怎麼辦呢

+0

嗨,你有沒有寫在C++驅動程序最終..我也尋求建立遺傳內核擴展(非由於IOKit)與C++的優勢... – Zohar81

+0

是的。這只是一個IOKIT驅動器而不是一個文本文件。我實際上正在移植一個rootkit – 735Tesla

回答

1

OSX是專爲內核擴展的用C++來開發,因此很容易和快速地從基類供自己使用,如IOService的,IOAudioDevice,IOBlockStorageDevice等繼承

如果你是新來的KEXT編程,我強烈建議書中OS X and iOS Kernel Programming投資,因爲它的大部分是專門爲司機和內核擴展開發,具有良好的示例代碼。

+0

我是內核編程的新手。我只是下令這本書:http://www.amazon.com/gp/product/1118057651你會建議你代替或補充,以我目前所提到的一個? – 735Tesla

+0

我遇到過,偶爾會使用你訂購的書。我相信它對你來說是有用的,儘管對於kext編程來說,我認爲,我提到的這本書會更好。此外,除了使用可可任何OSX編程,這必須在你的庫:http://www.amazon.co.uk/Mac-OS-Internals-Systems-Approach/dp/0321278542雖然它的內容是一點點出來迄今爲止,它仍被許多人視爲OSX的權威書籍。 – TheDarkKnight

+0

@ 735特斯拉我在這裏有三本書,阿米特的書很好,但可怕的是過時的。 「Mac OS X和iOS Internals」試圖成爲一個更現代化的版本,併成功實現大多數部分,但在其他部分可能會更好。然而,在kext和kext系統的工作方式方面,它們都不是很好,它們涉及到這個話題,但不是內核擴展編程書籍。我不確定我是否可以推薦「OS X和iOS內核編程」,這不是我見過的一本不好的書,但我只是部分瀏覽了它。無論如何,Apple文檔都提供了一個很好的切入點。 – JustSid