Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   PE-Explorer (https://www.delphipraxis.net/5360-pe-explorer.html)

ShadowCaster 3. Jun 2003 15:15


PE-Explorer
 
Hallo miteinander,

ich möchte hier ein kleines Tool vorstellen, womit man sich die Struktur von Dll's und Executables anschauen kann (als PE-Format).

Das Programm wurde unter Windows 2000 und XP getestet. Es sollte auch unter den anderen MS-Betriebssystemen laufen. Falls nicht, erstattet mir bitte Meldung. Das Tool ist natürlich Freeware und eigentlich (noch) nix besonderes.

Namensvorschläge die besser als "TorPEdo" fürs Programm sind, werden auch gern angenommen. Für Programmwünsche und Support bin ich erreichbar unter PM oder icq (109916305). Demnächst hab ich auch eine Homepage für das Tool online und da könnt ihr mir dann eine Email bei Fragen schreiben.

Derzeitige Programmversion: 0.0-2 BETA 04.06.2003
Versionsinfo:
- Fehlerbereinigung bei den Sektionen (einige wurden nicht angezeigt)
- kleine grafische Überarbeitung des Tools

ACHTUNG: Bei neuen Programmversionen ändert sich der Downloadlink nicht. Einfach bei neuer Version unten auf den Link klicken und schon lädt man sich die neue Version runter.

Derzeitige Features:
- Anzeige von Dateiinformationen (wird erweitert)
- Anzeige des Dos-Headers (Stub)
- Anzeige des PE-Headers und des optionalen Headers
- Anzeige der Datadirectories
- Anzeige der PE-Sektionen
- Anzeige der exportierten und importieren Funktionen in dem PE-File
- die ganzen Informationen können als Text in einem Memo angezeigt und dort rauskopiert werden

Es kann sein, dass noch einige Bugs im Programm sind. Lass es mich bitte wissen, wenn! Also ich hoffe auf positive und negative Kritik. Und entschuldigt dieses "farbvolle" Styling. Um die Gui kümmer ich mich demnächst auch mal. Da wird noch einiges umstrukturiert.

Geplante Features:
unter Anderem Disassembler, komplette Anzeige von Recourcen, Reloc-table, etc. Da ist noch ne Menge zu machen.

Downloadlink:
http://www.digital-wings.de/daniel/peexplorer.zip

Achja, und wer wissen will, was das PE-Format macht und wofür es gut ist, der sollte bei google danach suchen lassen ;) Das ist nicht mal so eben in einem Posting erklärt. :mrgreen: Das Programm ist da eher für die Leute, die sich damit auskennen. Wer eine Dll hat, kann sich mit diesem Programm z.B. die exportierten Funktionen anzeigen lassen. Ist ganz nützlich.

Stanlay Hanks 3. Jun 2003 15:26

Den letzten Satz mit den DLLs hab ich verstanden :mrgreen: *stolzseiaufsichselber*. Aber wofür sind n die ganzen anderen RegisterReiter?

ShadowCaster 3. Jun 2003 15:29

Zitat:

Zitat von Stanlay Hanks
Den letzten Satz mit den DLLs hab ich verstanden :mrgreen: *stolzseiaufsichselber*. Aber wofür sind n die ganzen anderen RegisterReiter?

Registerreiter? Könntest du das erklären?


Nachtrag:

Achso, jetzt hab ichs verstanden. Ich sag ja, dieses "Farbvolle" Styling wird demnächst umstrukturiert und dann kommen auch schöne Icons und Grafiken rein.

Stanlay Hanks 3. Jun 2003 15:48

Nö, du hast mich nich verstanden :wink: Ich wollte damit nich auf das Design anspielen, was ich übrigens ganz in Ordung finde, sondern wollte fragen, ob du vielleicht mal kurz erklähren könntest, welche Seite in deinem Programm welche Funktion hat.

ShadowCaster 3. Jun 2003 15:53

Lol, die Register ;) Das wird noch geändert. Im prinzip wird der Header einer Exe oder einer Dll in grundlegende Abschnitte unterteilt

1. der MZ-Header (DOS-Header)
2. der PE-Header
3. der optionale Header (Adresse wo dieser anfängt steht im PE-Header)
3b. er enthält noch ein sogenanntes Data-Directory mit Informationen über Recourcen, die mit in die Exe oder Dll compiliert wurden, importierte und exportierte Funktionen, den Relocation-Table, etc.)
4. Sektionsheader
5. gefolgt von den Exe-Sektionen (Sektion 1-n)

Dementsprechend hab ich das Programm aufgebaut. Die Register werden noch entfernt und durch einen treeview ersetzt. Ich werd auch sicher eine Hilfe zum Programm verfassen. Aber ich hab mir gedacht, da ich an dem Tool sowieso immer arbeiten kann, veröffentliche ich es jetzt schon mal :)

Stanlay Hanks 3. Jun 2003 15:59

Aha...Danke für die Erklährungen.
Aber ich würde das ganze nicht mit einem Treeview machen. Ich glaub da reichts schon, wenn du ein paar Buttons mit n paar schönen icons hinpflanzt.

ShadowCaster 3. Jun 2003 16:33

Ich hab andere PE-Explorer gesehen und da wurd es mit Treeview gemacht wo man auf der linken Seite in einer Liste die Header wählen konnte und rechts wurden dannn die Daten angezeigt. Du meinst die Register vom Styling als buttons zu machen, dass man keine Register sondern Buttons hat? oder meinst du auf er linken Seite eine Leiste mit den Buttons wo dann rechts dazu der Inhalt erscheint?

Stanlay Hanks 3. Jun 2003 17:03

Ich meine Letzteres. Vielleicht könntest du ja die Buttons auf die Linke Seite machen und mit einem Bevel so ein bisschen abtrennen.

Andreas L. 3. Jun 2003 18:56

Hi,

erstmal Gratulation. Das is wirklich prof.! Du könntest vielleicht noch machen das man diesen Report im letzen TAB drucken oder Speichern kann. Und vieleihct noch andere Files einbienden außer nur scr, exe und dll, wie wärs mit res, cfg, zip, tar, usw... das wäre der hammer!

Außerdem, ich weiß ja nicht wies ihr sieht, aber ich nenne das wedder Register noch Reiter, bei mir heißt das TAB daher der Name TabSheet!

thx

ShadowCaster 4. Jun 2003 09:31

Ok, heute kommt erstmal die neue Version raus (0.0-2). Die ist grafisch überarbeitet. Allerdings hab ich die letzten beiden Tabsheets noch nicht überarbeitet und es wird noch nicht alles vom PE-File als Textdump im Memo eingefügt. Ich werd aber dran arbeiten. Kann sein dass ab jetzt jeden Tag eine neue Version erscheint. :mrgreen: Also öfters mal in den Thread schauen. Am Releasedate erkennt man was die neueste Version ist.

Wenn ihr weitere Wünsche und Anregungen habt, könnt mich gerne drauf ansprechen oder eine PM schicken. So kann das Programm effizient wachsen und für jederman ein gutes Tool werden. Momentan hat es ja noch keinen besonderen Sinn und Zweck.

ShadowCaster 4. Jun 2003 10:27

Version 0.0-2 ist draußen

Chewie 4. Jun 2003 13:52

Was mir aufgefallen ist: Bei dem DOS-Header sollten die Edits Read-Only sein.

ShadowCaster 4. Jun 2003 13:59

Ne so war das nicht gedacht. Nur die "Magic"-Felder sind readonly, weil dort nichts geändert werden soll. Allerdings kann jedes andere Edit-Feld beschreibbar sein. Es ist geplant, dass man später die Header wieder in der exe speichern kann und so z.B. manuell Änderungen am PE-Header vornehmen kann. Ist ein ganz gutes Tool für alle Leute, die direkt mit dem Exe-Format zu tun haben oder einfach nur mal einen Einblick in die Exe-Files kriegen wollen. Leider werd ich nicht drum rum kommen, die bisherigen buttons in der Leiste oben durch einen Treeview zu ersetzen. Dann wird alles übersichtlicher und außerdem kommen da noch weitere Sektionen hinzu. z.b. die Reloc-Sektion, etc.

Chewie 4. Jun 2003 14:03

Ach so. Das sollte aber dabeistehen, damit die, die sich mit dem PE-Format nicht so auskennen und mal unbedarft aus "Speichern" klicken, nicht ihre kernel32.dlll zerschießen :mrgreen:

ShadowCaster 4. Jun 2003 14:38

Da sprichst du in der Tat ein großes Problem an. Vielleicht bau ich was ein, dass man beim Speichern gefragt wird, ob man ein Backup der Datei machen will oder dass das Speichern der Datei nur unter neuem Namen geht oder was meinst du?

Chewie 4. Jun 2003 14:46

Bei einer Systemdatei ist auch ein Backup nicht so sinnvoll, denn wenn man dann (spätestens) beim nächsten Systemstart eine Fehlermeldun g kriegt, hat man ja kein funktionierendes System mehr, um die DLL durch das Backup zu ersetzen.

Was nicht schlecht wäre, wäre eine Art Expertenmodus, den man freischalten muss. In diesem kann man die Header verändern.

ShadowCaster 4. Jun 2003 14:52

Das ist eine gute Idee, nur mir gefallen die ganzen Edits nicht. Ich arbeite lieber mit Grids oder Listviews. Oder was meinst du dazu?

ShadowCaster 5. Jun 2003 14:25

Version 0.0-3 ist da :) Enjoy it. :mrgreen:

Bitte an den Mod: Da ich leider mein erstes Posting nicht mehr editieren darf und ich die neue Version oben angeben will, überlasse ich das dem Mod. Bitte lieber mod :dancer:


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