awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目MCP 服务器关于排名机制媒体报道
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

22 个仓库

Awesome GitHub RepositoriesControl Flow Logic Models

Implements branching and iterative logic structures for visualizing decision-making processes in diagrams.

Distinct from Flow Control: Distinct from template logic controllers: focuses on visual modeling of control flow rather than template engine execution.

Explore 22 awesome GitHub repositories matching software engineering & architecture · Control Flow Logic Models. Refine with filters or upvote what's useful.

Awesome Control Flow Logic Models GitHub Repositories

用 AI 发现最棒的仓库。我们将通过 AI 为您搜索最匹配的仓库。
  • icsharpcode/ilspyicsharpcode 的头像

    icsharpcode/ILSpy

    25,447在 GitHub 上查看↗

    ILSpy is a .NET decompiler and binary analyzer designed to convert compiled .NET assemblies back into readable C# source code. It functions as a metadata explorer and a common intermediate language viewer, enabling the analysis of compiled code and the execution of reverse engineering workflows. The project distinguishes itself through specialized translation capabilities, such as converting compiled binary XML (BAML) back into human-readable XAML for user interface analysis. It also provides tools for inspecting native machine code and extracting metadata from program database (PDB) files.

    Decomposes method bodies into basic blocks and edges to visualize the logical execution paths of a function.

    C#
    在 GitHub 上查看↗25,447
  • facebook/prepackfacebook 的头像

    facebook/prepack

    14,118在 GitHub 上查看↗

    Prepack is a build-time transformation tool and static analysis engine designed to optimize JavaScript source code. By executing code during the build process, it evaluates program logic and state to precompute results, effectively simplifying complex operations before the application is deployed. The tool functions as a bundle optimizer that integrates into existing development pipelines to refine application logic. It employs abstract interpretation and symbolic execution to track program behavior across various paths, allowing it to perform constant folding, eliminate unreachable code, and

    Generates control flow graphs to identify and eliminate unreachable code paths.

    JavaScript
    在 GitHub 上查看↗14,118
  • plantuml/plantumlplantuml 的头像

    plantuml/plantuml

    13,093在 GitHub 上查看↗

    PlantUML is a text-to-diagram generator that translates human-readable markup into structured graphical representations. It functions as a diagram-as-code tool, allowing users to create and maintain technical documentation, architectural models, and flowcharts by decoupling diagram content from visual layout. The project distinguishes itself through a comprehensive rendering pipeline that processes domain-specific markup into various output formats, including vector and raster graphics. It utilizes a graph-based layout engine to calculate spatial positioning, while a declarative styling layer

    Implements branching and iterative logic structures for visualizing decision-making processes in diagrams.

    Javadiagramdiagram-as-codediagrams
    在 GitHub 上查看↗13,093
  • angr/angrangr 的头像

    angr/angr

    8,898在 GitHub 上查看↗

    Angr is a binary analysis framework and static analysis tool used for reverse engineering compiled binaries. It serves as a binary decompiler and a lifting platform that translates machine code into a common intermediate representation to enable cross-architecture analysis. The framework integrates a symbolic execution engine and constraint solvers to determine the inputs required to reach specific program states. It also employs untrusted code sandboxing to isolate guest code from the host environment during analysis. Its capabilities cover control flow and data flow analysis, including the

    Automates the generation of control-flow graphs by mapping jumps and branches between basic blocks in binaries.

    Python
    在 GitHub 上查看↗8,898
  • avast/retdecavast 的头像

    avast/retdec

    8,556在 GitHub 上查看↗

    RetDec is a reverse engineering framework and static binary analysis tool. Its primary purpose is to function as an LLVM-based machine code decompiler that translates binary machine code from multiple architectures into high-level C source code. The system employs a multi-stage lifting pipeline to recover program logic, using an intermediate representation to apply optimizations before emitting source code. It distinguishes itself through the ability to identify compilers and packers, perform executable unpacking, and reconstruct class hierarchies and original program structures. The framewo

    Generates call and control-flow graphs to visualize logical execution paths from binary code.

    C++
    在 GitHub 上查看↗8,556
  • avast-tl/retdecavast-tl 的头像

    avast-tl/retdec

    8,556在 GitHub 上查看↗

    Retdec is an LLVM-based machine code decompiler and static binary analysis tool designed for binary reverse engineering. It translates binary executable code into high-level representations to facilitate the reconstruction of program logic from compiled machine code. The system utilizes a retargetable frontend architecture and a multi-stage lifting pipeline to convert raw bytes into a common intermediate language. It differentiates custom program logic from known library code through signature-based identification and provides utilities for binary symbol demangling to restore human-readable n

    Generates visual call graphs and control-flow graphs representing the logical execution paths of functions.

    C++
    在 GitHub 上查看↗8,556
  • webassembly/binaryenWebAssembly 的头像

    WebAssembly/binaryen

    8,354在 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
    在 GitHub 上查看↗8,354
  • golang/toolsgolang 的头像

    golang/tools

    7,970在 GitHub 上查看↗

    This project is a collection of official toolsets and server implementations designed for the parsing, formatting, and semantic analysis of the Go programming language. It includes a language server that provides real-time code intelligence and automated editing capabilities to editors via the Language Server Protocol. The toolset provides a suite of utilities for source code formatting and static analysis. This includes automated standardization of code layout, import organization, and the generation of string representation methods for enumerated types. The project covers broad static anal

    Generates directed graphs representing all possible execution paths to perform deep static analysis and bug detection.

    Go
    在 GitHub 上查看↗7,970
  • 0xd4d/de4dot0xd4d 的头像

    0xd4d/de4dot

    7,426在 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#
    在 GitHub 上查看↗7,426
  • microsoft/agent-frameworkmicrosoft 的头像

    microsoft/agent-framework

    7,277在 GitHub 上查看↗

    The agent-framework is an LLM agent orchestration framework and multi-agent workflow engine designed for building autonomous AI agents. It provides a tool integration layer for binding external functions, APIs, and sandboxed code as executable tools for language models. The framework distinguishes itself through a graph-based system for designing sequential and parallel task flows, featuring state management and checkpointing for long-running processes. It implements comprehensive conversational state management and an observability suite that uses telemetry to trace execution flows and monit

    Defines execution paths via directed graphs or functional logic to implement conditional routing.

    Pythonagent-frameworkagentic-aiagents
    在 GitHub 上查看↗7,277
  • cppcheck-opensource/cppcheckcppcheck-opensource 的头像

    cppcheck-opensource/cppcheck

    6,660在 GitHub 上查看↗

    Cppcheck 是一个用于 C 和 C++ 源代码的静态分析工具和检查器,旨在在不执行程序的情况下检测编程错误、内存泄漏和安全违规。它作为一个错误检测引擎和质量保证工具,用于识别并发问题、类型转换错误以及对安全编码标准的合规性。 该项目提供了一个用于选择文件和审查错误的图形用户界面,以及一个用于强制执行命名约定和编码标准的检查器。它支持使用正则表达式创建自定义分析规则,以识别特定的编码模式。 该工具包括增量分析、警告抑制和文件排除功能,以管理大型代码库。它还具有 HTML 报告生成功能,并与 VS Code 等编辑器集成,以便在开发过程中提供错误识别。

    Models execution paths using control-flow graphs to detect concurrency issues and unreachable code.

    C++
    在 GitHub 上查看↗6,660
  • crytic/slithercrytic 的头像

    crytic/slither

    6,141在 GitHub 上查看↗

    Builds per-function control flow graphs from the IR to enable path-sensitive analysis and vulnerability detection.

    Pythonethereumsoliditystatic-analysis
    在 GitHub 上查看↗6,141
  • fesh0r/fernflowerfesh0r 的头像

    fesh0r/fernflower

    4,308在 GitHub 上查看↗

    Fernflower is a Java bytecode decompiler and reverse engineering tool. It transforms compiled Java class files back into human-readable Java source code to reconstruct original program logic and variable names. The tool functions as a command line bytecode processor capable of batch processing Java archives and class files. It specifically handles obfuscated code analysis by renaming ambiguous identifiers and resolving naming conflicts to make the resulting source code easier to follow. The system employs static analysis to convert bytecode to source, utilizing debug information extraction t

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

    Java
    在 GitHub 上查看↗4,308
  • rocky/python-uncompyle6rocky 的头像

    rocky/python-uncompyle6

    4,302在 GitHub 上查看↗

    python-uncompyle6 is a Python bytecode decompiler and reverse engineering tool designed to convert compiled bytecode files back into human-readable source code. It functions as a source code recoverer and bytecode disassembler, allowing for the analysis of internal program logic and the reconstruction of original language constructs. The tool provides cross-version support, enabling the analysis and recovery of source code from bytecode created across multiple different versions of the Python interpreter. This allows it to operate as a cross-version bytecode analyzer that can interpret varied

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

    Python
    在 GitHub 上查看↗4,302
  • joxeankoret/diaphorajoxeankoret 的头像

    joxeankoret/diaphora

    4,301在 GitHub 上查看↗

    Diaphora 是一款二进制差异分析工具和相似度引擎,旨在比较编译后的二进制文件并识别已更改或匹配的代码段。它作为逆向工程插件运行,通过汇编分析和图论映射函数之间的关系并检测编译单元。 该项目专注于漏洞补丁分析,允许用户通过比较二进制文件的不同版本来检测安全修复。它在二进制文件之间同步分析元数据(如符号名称和注释),并通过比较反编译的伪代码来生成补丁。 该引擎利用控制流图和启发式匹配来计算函数之间的相似度比率。其更广泛的功能包括映射调用图、识别目标文件边界,以及通过关系数据库管理分析状态,以促进大规模的交叉引用。

    Generates control-flow graphs from binary code to calculate similarity ratios between functions.

    Python
    在 GitHub 上查看↗4,301
  • jetbrains/fernflowerJetBrains 的头像

    JetBrains/fernflower

    4,169在 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
    在 GitHub 上查看↗4,169
  • spotbugs/spotbugsspotbugs 的头像

    spotbugs/spotbugs

    3,896在 GitHub 上查看↗

    SpotBugs 是一个针对 Java 应用程序的静态分析工具和字节码分析器。它扫描编译后的类文件以识别错误、安全漏洞和性能问题,而无需执行代码。该系统既是错误检测器,也是静态应用程序安全测试 (SAST) 工具,用于定位逻辑错误和 API 滥用。 该项目凭借插件式检测器架构脱颖而出,允许集成外部库以添加自定义检测规则。它为 SQL 注入、跨站脚本 (XSS) 和路径遍历等漏洞提供了专门的安全审计,并具有用于优化分析精度和减少误报的模块化系统。 该工具涵盖了广泛的检测领域,包括并发同步错误、空指针解引用、资源泄漏和类型转换错误。它还识别死代码、性能低效以及违反序列化惯例的情况。这些功能可通过命令行界面、图形用户界面以及集成开发环境 (IDE) 的直接集成来访问。 SpotBugs 可以集成到构建流水线中以强制执行质量门禁,并生成 HTML 或 XML 格式的分析报告。

    Constructs a representation of all possible execution paths to identify unreachable code and infinite loops.

    Java
    在 GitHub 上查看↗3,896
  • yck1509/confuserexyck1509 的头像

    yck1509/ConfuserEx

    3,762在 GitHub 上查看↗

    ConfuserEx is a security toolset for .NET applications that functions as a code obfuscator, binary encryptor, and application protector. Its primary purpose is to prevent reverse engineering by hiding sensitive application logic and data. The project employs specific hardening techniques including symbol renaming to hinder human readability and control-flow mutation to confuse decompilers. It further protects binaries by encrypting constants and resources to stop static analysis and memory dumping, while blocking the use of debuggers and profilers to prevent runtime analysis. Additional capa

    Alters the execution path of methods to confuse decompilers and hide original program logic.

    C#
    在 GitHub 上查看↗3,762
  • for-get/http-decision-diagramfor-GET 的头像

    for-GET/http-decision-diagram

    3,746在 GitHub 上查看↗

    http-decision-diagram is a set of decision-making tools and visual logic diagrams used to resolve HTTP protocol behaviors, status codes, and cache eligibility. It functions as a status code resolver and cache eligibility evaluator, utilizing logic diagrams to determine correct responses based on web specifications. The project employs a rule-based decision tree and conditional flow modeling to translate combinations of request and response headers into deterministic status code outcomes. This specification-mapped logic allows for the evaluation of header-driven state resolution through a stru

    Implements visual logic structures and activity diagrams to model the complex decision paths for cache and status resolution.

    JavaScriptdecision-diagramhttp
    在 GitHub 上查看↗3,746
  • matthewp/robotmatthewp 的头像

    matthewp/robot

    2,179在 GitHub 上查看↗

    Robot is a functional and immutable finite state machine library for managing declarative application states and transitions. It utilizes an immutable state transition engine where next states and side effects are computed through pure functions operating on immutable data structures without any side-effect mutations. States and allowed transitions are mapped in a declarative state table definition, making the overall state machine logic readable and inspectable. The library connects finite state machines directly to component rendering engines through component reactive bindings, ensuring th

    Parses state definitions into graphical node and edge diagrams to visualize application logic and flows easily.

    JavaScript
    在 GitHub 上查看↗2,179
上一个12下一个
  1. Home
  2. Software Engineering & Architecture
  3. Control Flow Logic Models

探索子标签

  • Control-Flow Graph Generation3 个子标签Generation of visual graphs representing the logical execution paths of functions through basic blocks and edges. **Distinct from Control Flow Logic Models:** Focuses on the automated generation of graphs from binary code rather than manual visual modeling of logic.
  • Sparse Value-Flow Graph GenerationsGenerates directed graphs capturing definition-use chains for pointers and memory objects. **Distinct from Control-Flow Graph Generation:** Distinct from Control-Flow Graph Generation by focusing on sparse value-flow and definition-use chains rather than basic block control paths.
  • Value-Flow Graph GenerationsConstructs interprocedural sparse value-flow graphs with structural optimization options. **Distinct from Control-Flow Graph Generation:** Distinct from Control-Flow Graph Generation by constructing value-flow and definition-use graphs rather than control-flow paths.