{"id":18745657,"url":"https://github.com/washi1337/echo","last_synced_at":"2025-04-12T18:52:11.965Z","repository":{"id":45131360,"uuid":"190713432","full_name":"Washi1337/Echo","owner":"Washi1337","description":"Generic static analysis framework.","archived":false,"fork":false,"pushed_at":"2025-03-27T15:11:55.000Z","size":3033,"stargazers_count":218,"open_issues_count":11,"forks_count":33,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-04-03T22:09:55.626Z","etag":null,"topics":["bytecode","cil","code-analysis","control-flow-analysis","data-flow-analysis","emulation","x86"],"latest_commit_sha":null,"homepage":"https://docs.washi.dev/echo","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Washi1337.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-06-07T08:44:38.000Z","updated_at":"2025-03-24T08:09:23.000Z","dependencies_parsed_at":"2022-07-21T06:32:20.345Z","dependency_job_id":"8630616e-b225-47b1-b47f-38798053a0b6","html_url":"https://github.com/Washi1337/Echo","commit_stats":{"total_commits":1151,"total_committers":16,"mean_commits":71.9375,"dds":"0.24326672458731535","last_synced_commit":"a8f54172ed088c63e04c5ef48ef394ae517758dc"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Washi1337%2FEcho","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Washi1337%2FEcho/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Washi1337%2FEcho/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Washi1337%2FEcho/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Washi1337","download_url":"https://codeload.github.com/Washi1337/Echo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248618229,"owners_count":21134200,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bytecode","cil","code-analysis","control-flow-analysis","data-flow-analysis","emulation","x86"],"created_at":"2024-11-07T16:19:05.390Z","updated_at":"2025-04-12T18:52:11.924Z","avatar_url":"https://github.com/Washi1337.png","language":"C#","readme":"# Echo\n\nEcho is an experimental generic, static analysis, symbolic execution and emulation framework, that aims to help out with binary code analysis for a variety of platforms or backends.\n\nEcho is released under the LGPLv3 license.\n\n\n## Main Features\n\n- [x] Generic Graph Models\n  - [x] Traversal and structural detection algorithms\n  - [x] Serialization to Dot/GraphViz\n- [x] Generic Control flow Analysis\n    - [x] Create static and symbolic flow graphs\n    - [x] Dominator analysis\n    - [x] Serialize into scoped flow blocks or a list of instructions\n- [x] Generic Data flow Analysis\n    - [x] Create data flow graphs\n    - [x] Inspect stack and variable dependencies of instructions\n- [x] Generic AST Construction\n    - [x] Lift control flow graphs to Abstract Syntax Trees (ASTs)\n    - [x] Automatic variable cross-referencing\n- [x] Generic Emulation Engine Framework\n  - [x] Virtual memory model using low level bit vectors\n  - [x] Support for HLE and LLE arithmetic on fully known, partially known and fully unknown bit vectors of any size\n\n\n## Supported Backends\n\n| Architecture | Back-end                                                | Control Flow | Data Flow | AST     | Purity Classification | Emulation |\n|--------------|---------------------------------------------------------|--------------|-----------|---------|-----------------------|-----------|\n| CIL          | [AsmResolver](https://github.com/Washi1337/AsmResolver) | ✓            | ✓         | ✓       | ✓                     | ✓ (WIP)   |\n| CIL          | [dnlib](https://github.com/0xd4d/dnlib)                 | ✓            | ✓         | ✓       | ✓                     |           |\n| x86 (32-bit) | [Iced](https://github.com/icedland/iced)                | ✓            | ✓         | ✓ (WIP) |                       |           |\n| x86 (64-bit) | [Iced](https://github.com/icedland/iced)                | ✓            | ✓         | ✓ (WIP) |                       |           |\n\n\n## Binaries\n\n- [Nightly NuGet Feed](https://nuget.washi.dev/)\n\n| Branch | Status (Linux)                                                                  |\n|--------|---------------------------------------------------------------------------------|\n| master | ![Linux](https://github.com/Washi1337/Echo/workflows/Linux/badge.svg)           |\n\n\n## Compiling\n\nSimply run \n\n```\ndotnet build\n```\n\nAlternatively, use any IDE that is capable of building .NET Standard 2.0 projects (such as Visual Studio or JetBrains Rider).\n\nNot all projects need to be built for a working binary to be produced. Only the core libraries found in `src/Core` are required to be built. Any other project, such as the platform-specific back-ends in the `src/Platforms` directory and the test projects in `test/`, is optional and can be unloaded safely.\n\n\n## Support\n\n- [Documentation](https://docs.washi.dev/echo)\n- [Issue tracker](https://github.com/Washi1337/Echo/issues)\n\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md).\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwashi1337%2Fecho","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwashi1337%2Fecho","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwashi1337%2Fecho/lists"}