
Statisches Analyse- und Strukturwiederherstellungs-Toolkit für ACE .qvm0-geschützte PE-Images
Dies sind die Analyse-Treiber, die zur Erzeugung der in der README und in den Fallnotizen zitierten Messungen verwendet wurden. Sie sind argumentgesteuert und wiederverwendbar: jeder nimmt den PE-Pfad (und Ausgabepfade) auf der Kommandozeile entgegen.
Ausführung vom Repository-Stammverzeichnis aus, z. B.:
python scripts/extended_census.py <pe> <dynamic_edges.tsv>
| Skript | Zweck |
|---|---|
verify_target_decodability.py | Decode-Dichte-Verifikation von Native->VM-Zielen gegen eine Kontrollpopulation |
verify_dynamic_coverage.py | Seitenweise Mengenschnittmenge zum Nachweis, ob ausgeführter Code sich mit Branch-Sites überschneidet |
verify_dynamic_edges.py | Querverweis und Grenzwertvalidierung dynamischer vs. statischer Kantenmengen |
opaque_coverage.py | Wie viel der statisch-opaken Site-Menge der dynamische Durchlauf erreicht hat |
extended_census.py | Abgleich des vollständigen Census indirekter Branches gegen beobachtete Sites |
external_decryptor_scan.py | Scan von Schwestermodulen auf Seiten-Schutz-/Mapping-/Schreibfähigkeit |
task1_slice_all.py | Vollständiger statischer Slice: Idiom-Auflösung, dann Rückwärts-Slicing, mit Kantenausgabe |
task1b_dynamic_codelike.py | Dynamische Kantenwiederherstellung, beschränkt auf code-ähnliche VM-Einträge |
task2_realctx.py | Emulation aus realen Aufrufkontexten; Wiederherstellung des Stack-Frame-Slot-Layouts |
task4_patch.py | Längenerhaltender De-Obfuskierungs-Patch plus Containment-Verifikation |
Mehrere von ihnen existieren, um eine Behauptung zu falsifizieren, weshalb sie behalten werden:
verify_target_decodability.py — vergleicht eine Decode-Dichte-Metrik gegen eine
Kontrollpopulation. Es ist das Skript, das zeigte, dass eine Stichprobe von drei Zielen
nicht repräsentativ war.verify_dynamic_coverage.py — die seitenweise Mengenschnittmenge, die einen
Tracer-Bug statt einer architektonischen Tatsache bewies, als der Tracer null
indirekte Branches über 3M Instruktionen meldete.extended_census.py — zeigte, dass der ursprüngliche Census indirekter Branches
nur 35 % der realen Population erfasste, weil er nur Registerformen abglich.external_decryptor_scan.py — Fähigkeits-Scan über Schwestermodule; die
Hypothese, für die es gebaut wurde, wurde anschließend durch eine dynamische
No-Write-Beobachtung widerlegt, und das Negative wird damit festgehalten.Halte sie ehrlich: Ein Treiber, der nur bestätigt, ist es nicht wert, behalten zu werden.