6 dépôts
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 est un framework pour analyser, modifier et examiner les formats binaires exécutables et les caches partagés système à travers plusieurs plateformes. Il sert de bibliothèque multiplateforme pour la manipulation programmatique des fichiers binaires ELF, PE et MachO. Le projet fournit des outils pour altérer la structure interne et les sections des fichiers exécutables afin de changer le comportement du programme. Il inclut également un analyseur dédié pour récupérer des bibliothèques dynamiques individuelles à partir de caches partagés système combinés. La boîte à outils couvre l'analyse binaire exécutable, le désassemblage de code machine et l'extraction de métadonnées de débogage et d'informations de symbole. Elle prend en outre en charge la traduction bidirectionnelle du code machine et de l'assemblage à travers diverses architectures de processeur.
Provides a unified framework for altering internal components across different binary executable formats.
JaCoCo est un outil de couverture de code Java et un instrumentateur de bytecode qui mesure quelles parties du code source sont exécutées pendant les tests. Il fonctionne comme un agent de runtime pour surveiller l'exécution de l'application à la volée ou comme une bibliothèque pour l'instrumentation de bytecode hors ligne, lui permettant de capturer des données d'exécution dans des environnements où les agents de runtime sont restreints. Le projet se distingue en fournissant des chemins d'instrumentation dynamiques et statiques pour suivre l'exécution. Il inclut un agent de runtime pour la surveillance à la volée et la capacité de modifier les fichiers de classe compilés avant l'exécution. Il permet en outre la récupération des métriques d'exécution à partir de processus en cours d'exécution via des connexions réseau distantes sans interrompre l'application active. Le système calcule des métriques de couverture quantitatives à travers les instructions, les branches, les lignes, les méthodes et les classes, aux côtés des mesures de complexité cyclomatique. Il fournit des capacités pour fusionner les données de plusieurs exécutions de test, appliquer des seuils de couverture au sein des portes de qualité CI/CD et générer des rapports qui mappent le bytecode exécuté vers le code source. Une intégration visuelle est disponible pour afficher ces résultats directement au sein des éditeurs de code. L'outil s'intègre aux systèmes d'automatisation de build et aux interfaces de ligne de commande pour automatiser la collecte de données et la génération de rapports.
Processes large sets of class files using streaming patterns to keep memory usage low during report generation.
w64devkit is a portable MinGW-w64 C/C++ development kit and a self-contained GCC toolchain for Windows. It provides a native build environment for compiling C, C++, and Fortran source code into x86 and x64 executable binaries without requiring system-wide installation or modifications to the host registry and environment variables. The toolchain is distributed as a self-contained suite of compilers, linkers, and assemblers that runs from any directory. It includes a specialized shell-based environment wrapper to automatically configure the path to its binaries and utilizes static linking to e
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.