PE-bear (von hasherezade) ist ein kostenloses, plattformübergreifendes PE (Portable Executable)-Analysetool mit benutzerfreundlichem GUI. Es parst und zeigt jeden Teil einer Windows-Datei an — DOS/NT-Header, Section-Tabelle, Data-Verzeichnisse, Importe/Exporte, Ressourcen und den Rich-Header — und ist absichtlich robust gegenüber malformed PE-Dateien, die andere Parser kaputt machen, was genau das ist, was Malware oft hat. Es vergleicht auch Binärdateien nebeneinander, was es zu einem Klassiker für schnelle Malware-Triage und Unpacking-Verifizierung macht.
Installation
| Plattform | Wie |
|---|
| Windows / Linux | Build von der GitHub-Releases-Seite herunterladen |
| Aus der Quelle | Mit Qt + dem bearparser-Submodul bauen |
| Portabel | Keine Installation erforderlich; extrahierte Binärdatei ausführen |
| Verifizieren | PE-bear starten; eine PE hineinziehen |
Dateien laden
| Aktion | Wie |
|---|
| PE öffnen | Datei → Öffnen oder .exe/.dll/.sys hineinziehen |
| Mehrere Dateien | Mehrere laden; jede bekommt einen Tab |
| Neu laden | Nach externen Änderungen neu parsen |
| Speichern | Änderungen zurück auf die Festplatte speichern |
Was Sie untersuchen können
| Panel | Zeigt |
|---|
| DOS-Header | MZ-Header, e_lfanew-Offset |
| Rich-Header | Compiler/Toolchain-Fingerabdruck (großartig für Attribution) |
| NT-Header | Datei-Header + optionaler Header (Entry-Punkt, Subsystem) |
| Section-Header | Namen, virtuelle/rohe Größen, Merkmale, Entropie |
| Importe | DLLs und Funktionen, die die Binärdatei aufruft |
| Exporte | Funktionen, die die Binärdatei macht |
| Ressourcen | Icons, Manifeste, eingebettete Daten |
| Data-Verzeichnisse | Import/Export/Reloc/TLS/etc. Tabellen |
Reading Sections (Triage-Signale)
| Signal | Deutet darauf hin |
|---|
| Hohe-Entropie-Section | Gepackt/verschlüsselt (z.B. .text ~7.9+) |
| Ungewöhnliche Section-Namen | UPX0, .vmp0, zufällige Namen → Packer |
| Schreibbar + ausführbare Section | Self-Modifying / Unpacking-Stub |
| Winzige Imports-Tabelle | Imports zur Laufzeit gelöst (gepackt) |
| Odd Entry-Point-Section | Entry nicht in .text → verdächtig |
Binärdateien vergleichen
PE-bear kann zwei Dateien nebeneinander anzeigen — unschätzbar für vor/nach dem Unpacking oder zum Vergleichen von Malware-Varianten.
| Verwendung | Wie |
|---|
| Gepackt vs. ungepackt | Header/Abschnitte/Importe vergleichen |
| Varianten-Analyse | Diff zwei Samples einer Familie |
| Dump überprüfen | Memory-Dump mit dem Original vergleichen |
Bearbeitung
| Fähigkeit | Notiz |
|---|
| Header-Felder bearbeiten | Header-Werte reparieren oder manipulieren |
| Abschnitte bearbeiten | Section-Merkmale anpassen |
| Hinzufügen/konvertieren | Einige strukturelle Edits zur Reparatur |
| Speichern unter | Geänderte PE schreiben |
Häufige Workflows
# Triage eines unbekannten Windows-Samples
1. Sample in PE-bear ziehen
2. Section-Entropie überprüfen → high = wahrscheinlich gepackt
3. Importe ansehen → winzig/odd = Runtime-Auflösung (gepackt)
4. Rich-Header für Toolchain/Attribution-Hinweise lesen
5. Ressourcen auf eingebettete Payloads überprüfen
# Ungepackten Dump überprüfen
- Gecheckten Dump gegen das Original in Nebenansicht vergleichen
- IAT und Entry-Punkt überprüfen
| Aspekt | PE-bear | CFF Explorer | Detect It Easy | PEStudio |
|---|
| Fokus | PE-Struktur + Diff | PE-Bearbeitung | Packer/Format-ID | Threat-Indikatoren |
| Malformed PEs | Sehr robust | Moderat | Robust | Moderat |
| Dateien vergleichen | Ja | Nein | Begrenzt | Nein |
| Best für | Triage + Strukturanalyse | Bearbeitung | Packer identifizieren | IOC-Style-Triage |
Funktioniert gut mit Detect It Easy zur Packer-Identifikation und PE-sieve zur In-Memory-Implant-Erkennung.
Ressourcen