Мне нужно переопределить метод, определенный kext, чтобы выполнить свою собственную обработку и вернуть мое собственное значение, поэтому всякий раз, когда kext вызывает метод, он будет перенаправлен в мой. Итак, я хочу определить этот метод в своем собственном расширении ядра, а затем загрузить его. Проблема в том, что я не знаю, как поменять методы , поэтому вместо них вызывается мой .
/* basically, I need to override the isPinDigital method of AppleHDAPathSet */
AppleHDAPathSet::isPinDigital(void)
{
/* I also need to be able to call the superclass' method */
/* return my own value */
return 0;
}
Есть ли простой способ сделать это? Я знаю, что есть способ сделать это через VTables , поскольку все расширения ядра работают в одном и том же адресном пространстве (я думаю, что это единственный способ, но я не уверен, как это сделать).