Einzelnen Beitrag anzeigen

Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: DLL-EntryPoint mit Funktion tauschen?

  Alt 4. Jul 2009, 11:05
Zitat von himitsu:
Aber in dem Code da seh ich noch nicht so durch und Brechi hat seinen Code ja nicht veröffentlicht.
Nja, ich versuch mich noch durchzuwurteln und hoff bald die Sectionen zu finden.
Da kann ich dir evt. helfen:
Code:
--Also am Anfang der Echse befindet sich der DOS-Header. Den einfach auslesen - am besten in eine Variable des Typs _Image_Dos_Header
--Im _lfanew von diesem Typ steht der Offset zum nächsten Header, dem NT-Header; Typbezeichnung: _IMAGE_NT_HEADERS
--_IMAGE_NT_HEADERS besteht seinerseits aus folgenden 3 Typen:
Signature, FileHeader, OptionalHeader.
Im FileHeader findest du dann folgendes: NumberOfSections-> Das ist die Anzahl der Sections, welche gleich nach diesem Header (_Image_NT_Headers) folgen.
--Die Sections liest du dann anschließend am besten in ein Array aus TImageSectionHeader ein.
Zitat von himitsu:
... wie ich dann den "Call" zum "alten" EntryPoint darin aufrufen müßte?
Falls du die Echse Hex-weise bearbeiten willst (asm), dann reicht das hier schon vollkommen aus:
Code:
  mov eax, <AdresseVomOrginalenEntryPoint>
  jmp eax
Hoffe ich konnt' helfen

MfG
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat