Zitat von
brechi:
mov eax, fs:[18h]
jmp [eax+7cch]
Randnotiz: in einigen Versionen der OpenGL32.dll (
Win9x) steht der Offset in einer Variablen:
Code:
mov eax, large fs:[00000018h]
add eax, [g_glTableOffset] ; set in DllInitialize on DLL_PROCESS_ATTACH
mov eax, [eax]
jmp dword ptr [__]
wobei es beim Jump drei Arten gibt
Code:
jmp dword ptr [eax]
; oder
jmp dword ptr [eax+__h]
; oder
jmp dword ptr [eax+________h]
Um zu überprüfen ob der Funktionszeiger umgeleitet wurde (wie im
Dll-Beispiel von brechi), müsste man den Wrapper-Code analysieren um die Adresse zu berechnen...