![]() |
Re: Kleine Nachhilfe in C erbeten -> LdrGetProcedureAddre
Probier vielleicht mal etwas der Art:
Code:
und
KBDLAYERDESCRIPTOR* KbdLayerDescriptor;
Code:
mfg
LdrGetProcedureAddress(hModule, &asFunction, 0, KbdLayerDescriptor);
Desc = (*KbdLayerDescriptor)(); anku |
Re: Kleine Nachhilfe in C erbeten -> LdrGetProcedureAddre
Pointertypen auf die Funktion hatte ich auch schon probiert ... klappte bei mir zumindest nicht. Dafür klappt es aber mit deinem Vorschlag:
Code:
Danke euch allen (und natürlich besonders Nico ;))
typedef PKBDTABLES (*KBDLAYERDESCRIPTOR)(VOID);
int mymain(int argc, char* argv[]) { UNICODE_STRING usBla; ANSI_STRING asFunction; HANDLE hModule; KBDLAYERDESCRIPTOR KbdLayerDescriptor; PVOID *X; PKBDTABLES Desc; RtlInitUnicodeString(&usBla, L"kbdus.dll"); LdrLoadDll(NULL, 0, &usBla, &hModule); printf("HMODULE %8.8X\n", hModule); RtlInitAnsiString(&asFunction, "KbdLayerDescriptor"); status=LdrGetProcedureAddress(hModule, &asFunction, 0, (void **)&KbdLayerDescriptor); printf("Status %8.8X\n", status); printf("Entrypoint %8.8X\n", (DWORD)KbdLayerDescriptor); Desc = (KbdLayerDescriptor)(); printf("%4.4X\n", *Desc->pusVSCtoVK); printf("%2.2X\n", Desc->bMaxVSCtoVK); printf("%8.8X\n", (DWORD)Desc); LdrUnloadDll(hModule); return 0; } @anku: Bei deinem Vorschlag gibt es auch Fehler :-/ ... leider ;) |
Re: Kleine Nachhilfe in C erbeten -> LdrGetProcedureAddre
OUT PVOID *FunctionAddress
das ist wohl gleichbedeutend mit void *&FunctionAddress (c++) oder void **FunctionAddress (c) weil PVOID ein void* ist. out sieht nach Borland C++ aus oder? und ist damit ein initialisiertes var - also per referenz. daher muss man zuerst auf (void**) oder (PVOID*) casten, und dann mit & die Addresse der Funktion übergeben |
Re: Kleine Nachhilfe in C erbeten -> LdrGetProcedureAddre
Zitat:
Gruss Nico |
Re: Kleine Nachhilfe in C erbeten -> LdrGetProcedureAddre
sowas ist ja cool:)
THX |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz