6 Repos
Frameworks providing a unified interface for analyzing different binary executable formats.
Distinct from Binary Analysis: Candidates focus on serialization formats or general lists, not a consistent analysis interface across formats.
Explore 6 awesome GitHub repositories matching operating systems & systems programming · Cross-Format Binary Analysis. Refine with filters or upvote what's useful.
This project is a technical reference and documentation suite focused on the internal architecture and operational principles of the Java Virtual Machine. It provides comprehensive guides and analysis on how the virtual machine manages class loading, memory organization, and bytecode execution. The documentation distinguishes itself by providing deep dives into specific runtime mechanisms, such as the binary decoding of class files, the hierarchical delegation model for class loaders, and the precise sequence of the loading, linking, and initialization lifecycle. It also details memory reclam
Provides comprehensive analysis of the JVM binary format, including constant pools and bytecode instructions.
pwndbg is a GDB plugin and binary analysis framework designed for reverse engineering, exploit development, and low-level program analysis. It extends the core functionality of the debugger to provide advanced memory inspection and automation tools. The project distinguishes itself with specialized capabilities for heap analysis across glibc, jemalloc, and musl, as well as a comprehensive kernel debugging toolkit for inspecting Linux kernel tasks and slab allocators. It includes an integrated ROP gadget searcher for constructing exploit chains and an LLM-powered debugging assistant that provi
Provides a consistent interface for reverse engineering across different binary formats.
LIEF ist ein Framework zum Parsen, Modifizieren und Analysieren ausführbarer Binärformate und System-Shared-Caches über mehrere Plattformen hinweg. Es dient als plattformübergreifende Bibliothek für die programmatische Manipulation von ELF-, PE- und MachO-Binärdateien. Das Projekt bietet Tools zur Änderung der internen Struktur und der Sektionen ausführbarer Dateien, um das Programmverhalten zu ändern. Es enthält zudem einen dedizierten Parser zur Wiederherstellung einzelner dynamischer Bibliotheken aus kombinierten System-Shared-Caches. Das Toolset deckt die Analyse ausführbarer Binärdateien, das Disassemblieren von Maschinencode und die Extraktion von Debug-Metadaten und Symbolinformationen ab. Es unterstützt zudem die bidirektionale Übersetzung von Maschinencode und Assembler über verschiedene Prozessorarchitekturen hinweg.
Provides a unified framework for altering internal components across different binary executable formats.
JaCoCo ist ein Java-Code-Coverage-Tool und Bytecode-Instrumentierer, der misst, welche Teile des Quellcodes während Tests ausgeführt werden. Er fungiert als Runtime-Agent zur Überwachung der Anwendungsausführung im laufenden Betrieb oder als Bibliothek für Offline-Bytecode-Instrumentierung, wodurch er Ausführungsdaten in Umgebungen erfassen kann, in denen Runtime-Agenten eingeschränkt sind. Das Projekt zeichnet sich dadurch aus, dass es sowohl dynamische als auch statische Instrumentierungspfade zur Verfolgung der Ausführung bietet. Es enthält einen Runtime-Agenten für die Überwachung im laufenden Betrieb und die Möglichkeit, kompilierte Klassendateien vor der Ausführung zu modifizieren. Es ermöglicht zudem das Abrufen von Ausführungsmetriken aus laufenden Prozessen über Remote-Netzwerkverbindungen, ohne die aktive Anwendung zu unterbrechen. Das System berechnet quantitative Coverage-Metriken über Anweisungen, Zweige, Zeilen, Methoden und Klassen hinweg, neben Messungen der zyklomatischen Komplexität. Es bietet Funktionen zum Zusammenführen von Daten aus mehreren Testläufen, zur Durchsetzung von Coverage-Schwellenwerten innerhalb von CI/CD-Quality-Gates und zur Generierung von Berichten, die ausgeführten Bytecode auf den Quellcode zurückführen. Eine visuelle Integration ist verfügbar, um diese Ergebnisse direkt in Code-Editoren anzuzeigen. Das Tool lässt sich in Build-Automatisierungssysteme und Befehlszeilenschnittstellen integrieren, um die Datenerfassung und Berichterstellung zu automatisieren.
Processes large sets of class files using streaming patterns to keep memory usage low during report generation.
w64devkit ist ein portables MinGW-w64 C/C++-Entwicklungskit und eine in sich geschlossene GCC-Toolchain für Windows. Es bietet eine native Build-Umgebung zum Kompilieren von C-, C++- und Fortran-Quellcode in x86- und x64-ausführbare Binärdateien, ohne dass eine systemweite Installation oder Änderungen an der Host-Registry und den Umgebungsvariablen erforderlich sind. Die Toolchain wird als in sich geschlossene Suite von Compilern, Linkern und Assemblern vertrieben, die aus jedem Verzeichnis heraus ausgeführt werden kann. Sie enthält einen spezialisierten shell-basierten Umgebungs-Wrapper, um den Pfad zu ihren Binärdateien automatisch zu konfigurieren, und nutzt statisches Linking, um externe Laufzeitabhängigkeitskonflikte zu eliminieren. Über die Kompilierung hinaus enthält das Kit ein Debugging-Toolkit zur Inspektion von Speicher und zur Analyse laufender Prozesse sowie Utilities zur PE-Binärinspektion zum Dekodieren von Import- und Exporttabellen. Es deckt zudem die Automatisierung von Build-Workflows, das Signieren von Binärcode und die Erstellung von Windows-Installationspaketen ab.
Includes utilities to decode import tables and name decorations within Windows portable executable files.
cargo-bloat is a binary size analyzer and compilation analysis tool for Rust. It identifies the largest functions and dependencies within compiled executables to locate space-consuming code and reduce the overall binary footprint. The tool functions as a build profile inspector and symbol size profiler, allowing users to analyze how different compiler options and build profiles affect the final binary size. It can export symbol data into human-readable tables or JSON format to monitor the footprint of specific crates. Capabilities include multi-target analysis across different platforms and
Analyzes binaries across different platforms and formats using a consistent analysis interface.