Обратная инженерия Apple Kext-реконструкция класса

Привет!

в настоящее время я пытаюсь расширить функциональность волшебной мыши. Для этого я надеюсь написать kext, который перехватывает события из драйвера multitouch, AppleMultitouchDriver.kext, интерпретирует их и либо отправляет новые события, либо пересылает фактическое событие. Этот подход аналогичен подходу, используемому DoubleCommand.

Я уже создал небольшой тестовый kext, который перехватывает события мыши (нажмите, движение и т. д.), Поскольку это также будет необходимо.

проблема в том, что я не могу перехватить события из объектов AppleMultitouchDevice и/или AppleMultitouchHIDEventDriver, потому что для них нет определения класса. Мне нужно иметь возможность переназначить указатель на функцию обратного вызова, как я в перехватчик мыши и как это делается в DoubleCommand. Насколько я знаю, это означает, что мне нужно восстановить класс AppleMultitouchDevice. Я уже могу получить ссылка на экземпляр объекта AppleMultitouchDevice, поэтому мне просто нужно иметь возможность бросить его и использовать.

теперь, когда у вас есть фон, вот мои прямые вопросы:

  • какие методы мне нужно использовать, чтобы перепроектировать kext или реконструировать соответствующие классы?
  • какие программы доступны, которые помогут мне в этих усилиях?
  • есть ли какие-либо учебники или электронные книги, которые сосредоточены на этом конкретном тема, о которой вы знаете?
  • возможно ли для меня переназначить указатель обратного вызова без фактической реконструкции всего класса?
  • все остальное, что я, возможно, пропустил, поскольку я так новичок в этом.

заранее спасибо за любые советы или помощь!!

2 ответов


может ли это помочь?

FingerMgMt


мне удалось найти то, что мне нужно. Теперь все, что потребуется, - это время и усилия. :)