逆向工程Apple Kext - 重建课堂

时间:2009-11-29 01:51:14

标签: c++ kernel reverse-engineering device-driver magic-mouse

问候!

我目前正在尝试扩展Magic Mouse的功能。为此,我希望编写一个截取来自多点触控驱动程序AppleMultitouchDriver.kext的事件的kext,解释它们,然后调度新事件或转发实际事件。这种方法类似于DoubleCommand使用的方法。

我已经创建了一个小的测试kext来拦截鼠标事件(点击,动作等),因为这也是必需的。

我现在遇到的问题是我无法拦截来自AppleMultitouchDevice和/或AppleMultitouchHIDEventDriver对象的事件,因为它们没有类定义。我需要能够像在鼠标拦截器中那样将指针重新分配给回调函数,就像在DoubleCommand中一样。据我所知,这意味着我需要重建AppleMultitouchDevice类。我已经能够获得对AppleMultitouchDevice对象实例的引用,所以我只需要能够转换它并使用它。

现在你有了背景,这是我的直接问题:

  • 我需要使用哪些方法来对kext进行逆向工程或重构相关类?
  • 哪些程序可以帮助我完成这项工作?
  • 是否有任何专注于您所知道的特定主题的教程或电子书?
  • 我是否可以重新分配回调指针而不实际重构整个类?
  • 我可能错过的任何其他东西,因为我对此非常陌生。

提前感谢您的任何建议或帮助!!

2 个答案:

答案 0 :(得分:1)

这有什么帮助吗?

FingerMgMt

答案 1 :(得分:1)

我设法找到了我需要的东西。现在所需要的只是时间和精力。 :)