Einzelnen Beitrag anzeigen

NicoDE
(Gast)

n/a Beiträge
 
#1

Basisadresse der kernel32.dll unter Windows 9x (ohne API)

  Alt 30. Jul 2004, 03:46
Es geht um die Ermittlung der Basisadresse der kernel32.dll ohne Verwendung die Win32 API. Unter Windows NT x86/x64 kenne ich etliche Möglichkeiten.
Nach langer Suche bin ich zufällig auf ein paar Zeilen gestossen, die zwar unter Windows 98 SE funktionieren - aber ich weiß weder warum es funktioniert, noch wie es mit den anderen Versionen von Win9x aussieht.

Kurz, ich suche entweder nach einer Erklärung oder nach Alternativen...
Delphi-Quellcode:
@@x: { Windows 9x - FIXME }
        mov eax, [eax+$34] { PDB.HeapHandle }
        lea eax, [eax+$7c] { ???            }
        mov eax, [eax+$3c] { ???            }
end;
Ein Test-Projekt ist angehängt und enthält bereits ein kompilierte Programm zum Testen.
(sollte mit allen Delphi-Versionen für Win32 kompilierbar sein)


Gruss Nico
Angehängte Dateien
Dateityp: zip k32test.zip (8,9 KB, 17x aufgerufen)
  Mit Zitat antworten Zitat