awesome-repositories.com
Blog
MCP
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetServeur MCPÀ proposNotre méthodologiePresse
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

6 dépôts

Awesome GitHub RepositoriesStructured Control-Flow Reconstruction

Transforming arbitrary control-flow graphs into structured blocks, loops, and conditionals.

Distinct from Control-Flow Graph Generation: Goes beyond graph generation to actually reconstruct structured execution paths required by specific binary formats.

Explore 6 awesome GitHub repositories matching software engineering & architecture · Structured Control-Flow Reconstruction. Refine with filters or upvote what's useful.

Awesome Structured Control-Flow Reconstruction GitHub Repositories

Trouvez les meilleurs dépôts grâce à l'IA.Nous recherchons les dépôts les plus pertinents grâce à l'IA.
  • webassembly/binaryenAvatar de WebAssembly

    WebAssembly/binaryen

    8,354Voir sur GitHub↗

    Binaryen is a WebAssembly compiler toolchain and optimizer designed to transform, validate, and shrink binary modules. It provides a comprehensive intermediate representation framework that converts binary code into a single-assignment form to enable advanced program analysis and code transformation. The project includes a specialized transformation engine that applies iterative optimization passes to increase execution speed and reduce binary size. Additionally, it functions as a transpiler that translates WebAssembly binary modules into executable JavaScript for environments that lack nativ

    Converts arbitrary graphs of basic blocks and branches into valid structured execution paths for binary emission.

    WebAssemblyc-plus-pluscompilersemscripten
    Voir sur GitHub↗8,354
  • 0xd4d/de4dotAvatar de 0xd4d

    0xd4d/de4dot

    7,426Voir sur GitHub↗

    de4dot is a .NET deobfuscator, unpacker, and assembly analysis tool. It is designed to remove obfuscation layers, restore metadata, and simplify bytecode control flow to transform protected binaries back into human-readable code. The project features specialized systems for decrypting strings and constants using both static and dynamic analysis. It identifies specific protection tools through pattern-based detection and strips anti-analysis protections, such as tamper detection and anti-debugging code. The tool provides a suite of reverse engineering capabilities, including binary wrapper un

    Simplifies bytecode control flow by removing proxy methods and inlining split functions.

    C#
    Voir sur GitHub↗7,426
  • fesh0r/fernflowerAvatar de fesh0r

    fesh0r/fernflower

    4,308Voir sur GitHub↗

    Fernflower est un décompilateur de bytecode Java et un outil d'ingénierie inverse. Il transforme les fichiers de classe Java compilés en code source Java lisible par l'homme pour reconstruire la logique originale du programme et les noms de variables. L'outil fonctionne comme un processeur de bytecode en ligne de commande capable de traiter par lots des archives Java et des fichiers de classe. Il gère spécifiquement l'analyse de code obfusqué en renommant les identifiants ambigus et en résolvant les conflits de nommage pour rendre le code source résultant plus facile à suivre. Le système emploie l'analyse statique pour convertir le bytecode en source, utilisant l'extraction d'informations de débogage pour restaurer les noms de variables locales. Il reconstruit les structures de programme via l'analyse de graphe de flux de contrôle, l'inférence de type et la génération d'un arbre de syntaxe abstraite.

    Reconstructs structured loops and conditionals from arbitrary control-flow graphs extracted from bytecode.

    Java
    Voir sur GitHub↗4,308
  • rocky/python-uncompyle6Avatar de rocky

    rocky/python-uncompyle6

    4,302Voir sur GitHub↗

    python-uncompyle6 est un décompilateur de bytecode Python et un outil d'ingénierie inverse conçu pour convertir des fichiers de bytecode compilés en code source lisible par l'humain. Il fonctionne comme un récupérateur de code source et un désassembleur de bytecode, permettant l'analyse de la logique interne du programme et la reconstruction des constructions linguistiques originales. L'outil offre une prise en charge multi-version, permettant l'analyse et la récupération de code source à partir de bytecode créé à travers plusieurs versions différentes de l'interpréteur Python. Cela lui permet d'opérer comme un analyseur de bytecode multi-version capable d'interpréter des jeux d'instructions variés indépendamment de la version utilisée pour exécuter l'outil. Ses capacités couvrent l'analyse de bytecode et l'inspection de programme, incluant la possibilité de lister les instructions avec des drapeaux et opérandes interprétés. Le système peut reconstruire le code source à partir de fichiers entiers ou de segments fragmentés spécifiques, tels que les corps de lambda et les compréhensions de liste, en mappant les offsets de bytecode vers des fragments de source.

    Reconstructs structured if-else statements and loop hierarchies by analyzing bytecode branch instructions and logical blocks.

    Python
    Voir sur GitHub↗4,302
  • jetbrains/fernflowerAvatar de JetBrains

    JetBrains/fernflower

    4,169Voir sur GitHub↗

    Fernflower is a Java bytecode decompiler designed to convert compiled Java class files back into human-readable source code. It functions as a bytecode analysis tool that recovers original program logic and structure from compiled binaries. The project includes capabilities for obfuscated identifier resolution to rename ambiguous member elements, ensuring clear identifiers in the resulting source. These features support the analysis of obfuscated code, legacy code recovery, and Java malware analysis for security auditing. The system utilizes a structural analysis pipeline that includes contr

    Reconstructs high-level loop and conditional logic from linear bytecode by analyzing jump instructions.

    Javadecompilerjavareverse-engineering
    Voir sur GitHub↗4,169
  • diobf/deobfuscatorAvatar de Diobf

    Diobf/Deobfuscator

    518Voir sur GitHub↗

    Deobfuscator is a static analysis and manipulation framework designed to inspect and modify compiled Java class files and bytecode instructions. It functions as a deobfuscator that simplifies and reverses obfuscated Java applications, alongside operating as a security runtime environment that isolates and executes untrusted or potentially malicious Java bytecode safely. The project processes class files through a sequence of custom transformation passes using visitor-based instruction parsing and a static class analysis engine that maps out class hierarchies and cross-references without dynam

    Reconstructs tangled jump instructions and synthetic loops back into structured conditional blocks for easier human analysis.

    Javabinsecurebozarcaesium
    Voir sur GitHub↗518
  1. Home
  2. Software Engineering & Architecture
  3. Control Flow Logic Models
  4. Control-Flow Graph Generation
  5. Structured Control-Flow Reconstruction

Explorer les sous-tags

  • Control Flow SimplificationRemoving obfuscation-induced complexity from execution paths to restore logical flow. **Distinct from Structured Control-Flow Reconstruction:** Focuses on simplifying existing obfuscated graphs rather than reconstructing structured blocks from raw binaries.