Pozdrowienia!Inżynieria wsteczna Apple Kext - rekonstrukcja klasy
Jestem obecnie próbuje rozszerzyć funkcjonalność Magic Mouse. Aby to zrobić, mam nadzieję napisać kext, który przechwytuje zdarzenia ze sterownika multitouch, AppleMultitouchDriver.kext, interpretuje je i albo wywołuje nowe zdarzenia, albo przekazuje rzeczywiste zdarzenie. To podejście jest podobne do podejścia stosowanego przez DoubleCommand.
już stworzył małą kext testowy, który przechwytuje zdarzenia myszy (kliknij, ruchu, etc), jak również będą potrzebne.
Problem, który mam teraz, polega na tym, że nie mogę przechwycić zdarzeń z obiektów AppleMultitouchDevice i/lub AppleMultitouchHIDEventDriver, ponieważ nie ma dla nich definicji klasy. Muszę mieć możliwość ponownego przypisania wskaźnika do funkcji wywołania zwrotnego, tak jak to robię w metodzie przechwytywania myszy i tak jak w DoubleCommand. O ile wiem, oznacza to, że muszę zrekonstruować klasę AppleMultitouchDevice. Już jestem w stanie uzyskać odwołanie do instancji obiektu AppleMultitouchDevice, więc po prostu muszę go przesłać i użyć.
Teraz masz tło, tutaj są moje bezpośrednie pytania:
- Jakie metody muszę użyć w celu odwrócenia inżynier kext lub odtworzyć zajęcia w pytaniu?
- Jakie programy są dostępne, które pomogą mi w tych wysiłkach?
- Czy są jakieś tutoriale lub e-booki, które koncentrują się na tym konkretnym temacie, który znacie?
- Czy mogę ponownie przypisać wskaźnik wywołania zwrotnego bez rekonstrukcji całej klasy?
- Coś jeszcze mogłem przegapić, ponieważ jestem bardzo nowy w tym.
Dzięki z góry za wszelkie rady lub pomocy !!
Czy firma Apple nie dostarcza źródeł do swoich wiadomości? –
Tak, dla większości z nich. Ten jednak jest trzymany w tajemnicy. Zgaduję, że nie chcą, żeby ludzie podglądali, jak wszyscy ich opatentowani, opatentowani technicy pracują dla multitouch. – Tyler