Функции вызова модуля linux, которые находятся в / proc / kallsyms, но не экспортируются - PullRequest
0 голосов
/ 23 июня 2011

У меня есть проект о ядре Linux. Мы не можем скомпилировать ядро ​​Linux, и мы должны вызывать не экспортируемые функции, но эту функцию можно найти в /proc/kallsyms. (Мы можем получить адрес функции). Но мы не знаем конкретный метод для вызова функции. Не могли бы вы помочь нам решить проблему? Большое спасибо.

1 Ответ

2 голосов
/ 23 июня 2011

Предполагая, что это функция в самом ядре, а не модуль, все, что вам нужно сделать, это:

int (funcp *)(int param1, int param2, ...) = FUNCTION_ADDRESS;

funcp(param1, param2, ...);

Если это модуль, все немного сложнее, так как вам нужно записать смещение функции от начала адреса загрузки модуля ядра, получить адрес загрузки из ядра во время выполнения и вычислить адрес функции. ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...