STOP. LESEN SIE DIESES SKILL.MD VOLLSTÄNDIG, BEVOR SIE EINEN ENDPUNKT AUFRUFEN.
Was macht analyze-elf?
Reverse-Engineering von Features aus kompilierten ELF-Binaries. Kein Disassembler — ein Feature-Extraktor, der die Frage beantwortet: „Was macht dieses Binary?“
Wann verwenden
- Verstehen, was ein kompiliertes CLI-Tool tut (Bun SEA, Go, Rust, C/C++)
- Extrahieren von CLI-Befehlen, Flags und Hilfetexten
- Wiederherstellen von Zustandsmaschinen, Protokollschemata und Ereignistypen
- Abbilden von JSON-RPC-Methoden und Zod-Datenmodellen
- Erstellen einer Anklageskizze mit Mermaid-Diagrammen
Schnellstart
# Primärer Befehl — Features extrahieren, Walkthrough erzeugen
.pi/skills/analyze-elf/run.sh features /pfad/zum/binary --goal „das Missionssystem verstehen“
# Mit AST-Analyse über /treesitter (langsamer, tiefergehend)
.pi/skills/analyze-elf/run.sh features /pfad/zum/binary --ast --goal „alle RPC-Methoden finden“
# JSON-Ausgabe für programmatische Nutzung
.pi/skills/analyze-elf/run.sh features /pfad/zum/binary --output-format json
# Low-Level-ELF-Informationen (Header, Symbole, Laufzeiterkennung)
.pi/skills/analyze-elf/run.sh elf /pfad/zum/binary
# String-Extraktion mit regulären Ausdrücken
.pi/skills/analyze-elf/run.sh strings /pfad/zum/binary --pattern „mission|worker“
Befehle
| Befehl | Beschreibung |
|---|---|
features | Primär. Features extrahieren → Walkthrough mit Mermaid-Diagrammen erzeugen |
elf | Low-Level: Header, Abschnitte, Symbole, Laufzeiterkennung |
strings | Regex-gefilterte String-Extraktion |
Was features extrahiert
| Kategorie | Methode | Beispiel |
|---|---|---|
| CLI-Befehle | Musterabgleich von Hilfetexten | exec, daemon, mcp |
| Zustandsmaschinen | Enum-Zuweisungsmuster (M.State="wert") | orchestrator_turn, paused |
| Ereignistypen | KH.literal("typenname")-Muster | mission_accepted, worker_completed |
| JSON-RPC-Methoden | method: KH.literal("name")-Muster | droid.session_notification |
| Zod-Schemas | Feld-Extraktion aus KH.object({...}) | Feature, WorkerHandoff, State |
| npm-Pakete | "name": "pkg" in gebündelten package.json | @grpc/grpc-js |
| API-Routen | Pfad-Literale mit /api/ und /v1/ | /api/auth/login |
| Klassen/Funktionen | AST über /treesitter (mit --ast-Flag) | MissionRunner, spawnWorker |
Zusammenspiel
/treesitter (AST-Analyse)
Wenn --ast übergeben wird, führt das Skill folgende Schritte aus:
- Ausschneiden von JS-Quelltext-Strings aus
.rodata - Filtern auf JS-relevante Zeilen (Muster für Funktionen/Klassen/Imports/Zod)
- Übergeben der Abschnitte an
/treesitter parse --language javascript - Extrahieren von Klassen, Funktionen und Methodensignaturen
/create-walkthrough (automatisch erzeugt)
Der Befehl features erzeugt eine Anklageskizze mit:
- Mermaid-CLI-Befehlsbaum
- Mermaid-Zustandsmaschinendiagramme
- Mermaid-Ereignistyp-Taxonomie
- Schematabellen mit Feldtypen
- Risikobewertung („Was könnte schiefgehen?“)
/create-figure
DOT-Format-Abhängigkeits- und Moduldiagramme sind über den Befehl elf verfügbar zur Darstellung durch /create-figure.
Abhängigkeiten
pyelftools— Strukturierte ELF-Analysehttpx— /scillm-API-Aufrufetyper— CLIloguru— Protokollierung- System:
binutils(readelf, nm, strings)