Обратный инжиниринг Apple Kext - Реконструкция класса
-
06-07-2019 - |
Вопрос
Приветствую!
В настоящее время я пытаюсь расширить функциональность Magic Mouse.Чтобы сделать это, я надеюсь написать kext, который перехватывает события из драйвера мультитач AppleMultitouchDriver.kext, интерпретирует их и либо отправляет новые события, либо пересылает фактическое событие.Этот подход аналогичен подходу, используемому Двойная команда.
Я уже создал небольшой тестовый kext, который перехватывает события мыши (щелчок, движение и т.д.), поскольку это также будет необходимо.
Проблема, с которой я сталкиваюсь сейчас, заключается в том, что я не могу перехватить события от объектов applemultitouchdeventdriver applemultitouchdevice и / или AppleMultitouchHIDEventDriver, потому что для них нет определения класса.Мне нужно иметь возможность переназначить указатель на функцию обратного вызова, как я делаю в перехватчике мыши и как это делается в DoubleCommand.Насколько я знаю, это означает, что мне нужно реконструировать класс AppleMultitouchDevice.Я уже могу получить ссылку на экземпляр объекта AppleMultitouchDevice, поэтому мне просто нужно иметь возможность привести его и использовать.
Теперь, когда у вас есть предыстория, вот мои прямые вопросы:
- Какие методы мне нужно использовать, чтобы перепроектировать kext или реконструировать соответствующие классы?
- Какие существуют программы, которые помогут мне в этих усилиях?
- Есть ли какие-либо учебные пособия или электронные книги, посвященные этой конкретной теме, о которых вы знаете?
- Возможно ли для меня переназначить указатель обратного вызова без фактического восстановления всего класса?
- Все остальное, что я, возможно, пропустил, поскольку я новичок в этом деле.
Заранее спасибо за любой совет или помощь!!
Решение 2
Мне удалось найти то, что мне было нужно.Теперь все, что для этого потребуется, - это время и усилия.:)
Другие советы
Может ли это как-нибудь помочь?