Thema: Delphi .text section dumpen

Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#7

AW: .text section dumpen

  Alt 22. Okt 2015, 18:35
Das ist strenggenommen falsch, denn TImageSectionHeader.Name ist nicht notwendigerweise nullterminiert!
Wenn der Name genau 8 Zeichen lang ist, wird ein einfacher PAnsiChar-Cast wie oben möglicherweise zusätzlichen Müll ausgeben.
Da hast du recht!

Deine Funktion berechnet allerdings den Zeiger auf die erste ImageSection nicht korrekt. SectionHeader := PImageSectionHeader(NativeInt(NtHeaders) + SizeOf(NtHeaders^)) funktioniert nicht immer. Ist zwar ein ziemlich synthetischer Fall, aber das PE Format sieht vor, dass der OptionalHeader eine variable Länge haben kann. Deshalb muss die korrekte Berechnung über
Delphi-Quellcode:
ImageSectionHeader := PImageSectionHeader(PByte(ImageNtHeaders) + SizeOf(TImageNtHeaders) -
    SizeOf(TImageOptionalHeader) + ImageNtHeaders^.FileHeader.SizeOfOptionalHeader)
erfolgen.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat