문제

I get functions from ntdll.dll dynamically, using GetProcAddress winapi function like this:

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

How can I call NtLoadDriver function via ptrToNtLoadDriver ? I thought of something like this: ((NTSTATUS NtLoadDriver(PUNICODE_STRING driverServiceName))ptrToNtLoadDriver)(fooString)

도움이 되었습니까?

해결책

  1. do typedef "X" for function type you want to call (example: "typedef returntype (*X)(argtype);")
  2. change "unsigned char* ptrToNtLoadDriver" to "X ptrToNtLoadDriver"
  3. call function as "ptrToNtLoadDriver(argsHere)"

다른 팁

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top