Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Namen der PE-Sections erhalten (https://www.delphipraxis.net/73642-namen-der-pe-sections-erhalten.html)

Metal_Snake2 20. Jul 2006 23:55


Namen der PE-Sections erhalten
 
Hi,
also ich würde gerne wissen wie ich den namen der PE-Sections wie z.B in PEID erhlaten kann,
es gibt sogat ein Projekt der Jedis welches opensources ist...jedoch versteh ich es nicht ganz.

Algemeine PE Informarionen lese ich volgendermaßen aus:

Delphi-Quellcode:
var
  OFS           : TOFStruct;
  FHandle       : HFILE;
  DosHeader     : TImageDosHeader;
  ImageNtHeaders : PImageNtHeaders;
  ImageSections : PImageSectionHeader;
  dwTemp        : DWORD;
  EP            : Integer;
  FirstSectionName: String;
begin

  FHandle:= OpenFile(PChar(FilePath), OFS, OF_READ);
  if (FHandle = INVALID_HANDLE_VALUE) then
      Exit;

  ReadFile(FHandle, DosHeader, SizeOf(DosHeader), dwTemp, nil);
  SetFilePointer(FHandle, DosHeader._lfanew, nil, FILE_BEGIN);
  ReadFile(FHandle, ImageNtHeaders, SizeOf(ImageNtHeaders), dwTemp, nil);
 // ReadFile(FHandle, ImageSections, SizeOf(ImageSections), dwTemp, nil);


  EP:= ImageNtHeaders.OptionalHeader.AddressOfEntryPoint;

  Closehandle(FHandle);
end;
Sicherlich kann ich was mit PImageSectionHeader anfangen, nur wie?

Danke für antwort(en)!

Metal_Snake2 23. Jul 2006 22:14

Re: Namen der PE-Sections erhalten
 
also ich habe jetzt volgendes gemacht:

Delphi-Quellcode:
type
  TImageSectionHeader = packed record
    Name: array[0..7] of Char;
    VirtualSize: DWORD;
    VirtualAddress: DWORD;
    PhysicalSize: DWORD;
    PhysicalOffset: DWORD;
    PointerToRelocations: DWORD;
    PointerToLinenumbers: DWORD;
    NumberOfRelocations: WORD;
    NumberOfLinenumbers: WORD;
    Characteristics: DWORD;
  end;

[...]

for i := 0 to ImageNtHeaders.FileHeader.NumberOfSections do
  begin
    Memo1.Lines.Add(SectionHeader.Name[i]);
end;
..das Problem ist das ich hiermit immer nur den namen der ersten section erhalte.
Und dan komischerweise volgendermaßen z.B.:
c
o
d
e

Wie kann ich jetzt den namen der anderen Sections erhalten?


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:20 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