OSX 10.9에서 실행할 kext를 만들려고합니다. 현재 Xcode에서 새 템플릿을 만들 때 (cckext_start()
및 cckext_stop()
) 재정의 할 수있는 몇 가지 방법을 사용하여 템플릿을 만들었습니다.이 모든 것이 좋지만 C++을 사용하여 내 확장 프로그램을 만드는 것이 좋습니다.OSX C++ 커널 확장 생성
이다 :
- 가능한
- 나쁜 관행
그렇다면, 내가 할 수있는 방법을
OSX 10.9에서 실행할 kext를 만들려고합니다. 현재 Xcode에서 새 템플릿을 만들 때 (cckext_start()
및 cckext_stop()
) 재정의 할 수있는 몇 가지 방법을 사용하여 템플릿을 만들었습니다.이 모든 것이 좋지만 C++을 사용하여 내 확장 프로그램을 만드는 것이 좋습니다.OSX C++ 커널 확장 생성
이다 :
그렇다면, 내가 할 수있는 방법을
예??? s, 가능합니다. 실제로 커널 API 또는 KPI는 대부분 C++로 작성됩니다. Kernel Extension Programming Guide 및 I/O Kit Fundamentals을 시작해야합니다. OSX가 설계
KEXT의 같은 IOBlockStorageDevice 등 IOService, IOAudioDevice 등 자신의 사용을위한 기본 클래스에서 상속하는 것이 쉽고 빠르게 만들고, C++로 개발 될
당신이 KEXT를 처음 사용하는 경우 프로그래밍, 나는 그 책의 대부분이 좋은 예제 코드와 함께 드라이버와 Kext 개발에 전념하기 때문에 책 OS X and iOS Kernel Programming에 투자하는 것이 좋습니다.
저는 커널 프로그래밍에 익숙하지 않습니다. 나는 방금이 책을 주문했다 : http://www.amazon.com/gp/product/1118057651 당신이 내가 현재 가지고있는 것의 대신으로 또는 보충으로 언급 한 것을 권할 것입니까? – 735Tesla
나는 당신이 주문한 책을 종종 보았습니다. 나는 그것이 당신에게 유용 할 것이라고 확신하지만, kext 프로그래밍에 대해서, 내가 언급 한 책은 내 의견으로는 더 좋을 것이다. 또한, 코코아를 사용하지 않는 OSX 프로그래밍의 경우 라이브러리에 있어야합니다 : http://www.amazon.co.uk/Mac-OS-Internals-Systems-Approach/dp/0321278542 내용은 약간 있지만 날짜의, 그것은 아직도 많은 것으로, OSX를위한 결정적인 책으로 간주됩니다. – TheDarkKnight
@ 735Tesla 여기에 세 권의 책이 있는데, Amit의 책은 좋지만 끔찍하게 오래된 책입니다. "Mac OS X 및 iOS Internals"는보다 최신 버전이되고 대부분의 부분에서 성공하지만 다른 부분에서는 더 좋을 수 있습니다. 그러나 kexts와 kext 시스템이 어떻게 작동하는지에 대해서는별로 좋지 않습니다. 주제를 다루지 만 커널 확장 프로그래밍 책이 아닙니다. "OS X 및 iOS 커널 프로그래밍"을 추천 할 수 있을지 잘 모르겠다. 내가 본 것 중 나쁜 책이 아니지만 부분적으로 만 건너 뛰었습니다. 어쨌든 Apple 설명서는 좋은 시작점을 제공합니다. – JustSid
안녕하세요, 당신은 C++로 드라이버를 썼습니까? 저는 또한 C++의 장점을 가진 유전자 커널 확장 (비 iokit)을 만들려고합니다. – Zohar81
예. 그것은 단지 kext가 아닌 IOKit 드라이브입니다. 실제로 루트킷을 이식했습니다. – 735Tesla