![]() |
Wie herausfinden ob eine Ausführbare gepackt ist?
hi,
hat einer einen blassen schimmer wie ich herausfinden kann ob eine ausführbare binärdatei mit PE Packern wie z.B. UPX komprimiert wurde? Villeicht in der PE Header durchstöbern? danke für antworten. |
Re: Wie herausfinden ob eine Ausführbare gepackt ist?
Also die beste Indikation ist meiner Meinung nach die Entropie, aber das ist auch nicht hunderprozentig sicher. Einfach ein Histogramm der Verteilung der einzelnen Bytewerte anzeigen lassen und schon siehst anhand der Gleichmäßigkeit, ob die Datei wahrscheinlich gepackt ist.
Mit Sicherheit kann man das ja sowieso nur für bekannte Packer herausbekommen und "Crypter" sind in diesem Sinne auch als Packer zu verstehen. Ansonsten kann ja jeder seinen eigenen Packer schreiben ... |
Re: Wie herausfinden ob eine Ausführbare gepackt ist?
Eigentlich bräuchte man doch nur die Anwendung ausführen, sich im Prozessspeicher das FileImage suchen und mit der EXE zu vergleichen? :gruebel:
|
Re: Wie herausfinden ob eine Ausführbare gepackt ist?
@himitsu: Wie meinst du das? Welche werte sol ich miteinander vergleichen.
@Olli: Ist das nicht ein bischen zu aufwendig? Das benötigt sicherlich auch einiges an rechenzeit. Der Process Explorer erkennt eine gepackte exe wie ein flitzebogen:-) |
Re: Wie herausfinden ob eine Ausführbare gepackt ist?
Im Normalfall gibt es sozusagen eine Kopie der "EXE" im RAM, welche ausgeführt wird.
Wenn die Datei aber gepackt wurde, dann ist doch am Anfang der EXE ein winziges Programm (der Entpacker), welches stattdessen die entpackte Version der EXE im RAM ablegt und diese dann ausführt. Denn der Computer kann ja nur mit der entpackten Version arbeiten. Also wenn das Abblid im RAM anders ist, als die Daten in der EXE, dann wurde es verändert und demnach könnte die EXE also gepackt sein. Am einfachsten bräuchte man wohl nur die Größe des Abbildes mit der der EXE vergleichen ... es müßte ja größer sein. |
Re: Wie herausfinden ob eine Ausführbare gepackt ist?
Zitat:
Zitat:
1.) kann sich das Datensegment auch so ändern 2.) ist die Ausrichtung im Speicher anders als auf Platte, die Daten unterscheiden sich also schon per-se! Außerdem kommt es dann noch darauf an, welche Form der Entpacker wählt: 1.) reserviert er eine Section in der PE-Datei, die in der Datei 0 Byte, im Speicher aber x (x>0) ist? 2.) benutzt er VirtuallAlloc & Co. um Speicher für die entpackten Daten zu allozieren? 3.) benutzt er eine völlig unbekannte Form? Ja, die von mir beschriebene Methode ist nicht schön, sie kostet Rechenaufwand, sie ist nicht perfekt - aber besser geht es meines Erachtens nach aktuell noch nicht. |
Re: Wie herausfinden ob eine Ausführbare gepackt ist?
Vielleicht bringt es etwas, sich die
![]() ![]() ![]() ![]() UPX wird - wie es auf der Homepage aussieht - von einigen seriösen Softwareherstellern verwendet, während PESpin öfter im Zusammenhang mit Trojanern auftaucht. Oder Du siehst Dir an, was ein PE Explorer ausgibt: ZB - ![]() Beziehungsweise siehst Du Dir die Strukture des Headers an: ![]() ![]() oder das noch: ![]() Dummerweise alles in Englisch. Eine Seite in Deutsch, welche interessant war, war vermutlich nicht legal und bei ein paar txt-Dateien sprang der Virenwächter an. |
Re: Wie herausfinden ob eine Ausführbare gepackt ist?
Danke für die links.
Ich habe jedoch eine sehr einfache Methode herausgefunden(die nicht so ganz sicher ist). Ich untersuche einfach die ausführbare nach allen möglichen namen von Exe-Packern. Den mit ist aufgefallen das Exe packer in die binary den namen des packers hinzufügen. Hier ist auch schon eine liste aller packer: ![]() |
Re: Wie herausfinden ob eine Ausführbare gepackt ist?
Zitat:
|
Re: Wie herausfinden ob eine Ausführbare gepackt ist?
Naja war nur mal ein anhaltspunkt. Hab leider mom. noch keinen anderen brauchbaren entdeckt.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:56 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