Как вызвать функцию winapi через указатель на эту функцию?

Я получаю функции от ntdll.dll динамически, используя GetProcAddress Winapi функционирует так:

HMODULE ntdllh = LoadLibrary(L"ntdll.dll");
unsigned char* ptrToNtLoadDriver
= (unsigned char*)GetProcAddress(ntdllh, "NtLoadDriver");

Как я могу позвонить NtLoadDriver функция через ptrToNtLoadDriver ? Я думал о чем-то вроде этого: ((NTSTATUS NtLoadDriver(PUNICODE_STRING driverServiceName))ptrToNtLoadDriver)(fooString)

1

Решение

  1. выполните typedef «X» для типа функции, которую вы хотите вызвать (пример: «typedef returntype (* X) (argtype);»)
  2. измените «unsigned char * ptrToNtLoadDriver» на «X ptrToNtLoadDriver»
  3. вызвать функцию как «ptrToNtLoadDriver (argsHere)»
1

Другие решения

((NTSTATUS (WINAPI *) (PUNICODE_STRING)) ptrToNtLoadDriver) (fooStrin);

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector