Pregunta

¡Saludos!

Actualmente estoy intentando extender la funcionalidad del Magic Mouse. Para hacer esto, espero escribir un kext que intercepte eventos desde el controlador multitáctil, AppleMultitouchDriver.kext, los interprete y envíe nuevos eventos o reenvíe el evento real. Este enfoque es similar al enfoque utilizado por DoubleCommand .

Ya he creado un pequeño kext de prueba que intercepta los eventos del mouse (clic, movimiento, etc.) ya que también será necesario.

El problema que tengo ahora es que no puedo interceptar los eventos de los objetos AppleMultitouchDevice y / o AppleMultitouchHIDEventDriver porque no hay una definición de clase para ellos. Necesito poder reasignar el puntero a la función de devolución de llamada como lo hago en el interceptor del mouse y como se hace en DoubleCommand. Hasta donde sé, esto significa que necesito reconstruir la clase AppleMultitouchDevice. Ya puedo obtener una referencia a la instancia del objeto AppleMultitouchDevice, así que solo necesito poder lanzarlo y usarlo.

Ahora que tiene los antecedentes, aquí están mis preguntas directas:

  • ¿Qué métodos necesito usar para realizar ingeniería inversa del kext o reconstruir las clases en cuestión?
  • ¿Qué programas están disponibles que me ayudarán en este esfuerzo?
  • ¿Hay algún tutorial o libro electrónico que se centre en este tema en particular que conozca?
  • ¿Es posible para mí reasignar el puntero de devolución de llamada sin realmente reconstruir toda la clase?
  • Cualquier otra cosa que pueda haber pasado por alto ya que soy muy nueva en esto.

Gracias de antemano por cualquier consejo o asistencia !!

¿Fue útil?

Solución 2

He logrado encontrar lo que necesitaba. Ahora todo lo que tomará es tiempo y esfuerzo. :)

Otros consejos

¿Podría ser de alguna ayuda?

FingerMgMt

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top