{"id":13546106,"url":"https://github.com/radareorg/radeco","last_synced_at":"2025-06-21T09:40:11.578Z","repository":{"id":32208695,"uuid":"35782470","full_name":"radareorg/radeco","owner":"radareorg","description":"radare2-based decompiler and symbol executor","archived":false,"fork":false,"pushed_at":"2020-05-22T06:12:08.000Z","size":3341,"stargazers_count":379,"open_issues_count":91,"forks_count":51,"subscribers_count":37,"default_branch":"master","last_synced_at":"2025-06-20T11:28:11.273Z","etag":null,"topics":["decompiler","esil","radare2","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/radareorg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-05-17T20:50:20.000Z","updated_at":"2025-06-15T13:23:08.000Z","dependencies_parsed_at":"2022-07-30T05:47:53.390Z","dependency_job_id":null,"html_url":"https://github.com/radareorg/radeco","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/radareorg/radeco","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radareorg%2Fradeco","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radareorg%2Fradeco/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radareorg%2Fradeco/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radareorg%2Fradeco/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/radareorg","download_url":"https://codeload.github.com/radareorg/radeco/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radareorg%2Fradeco/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261032072,"owners_count":23100049,"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":["decompiler","esil","radare2","rust"],"created_at":"2024-08-01T12:00:31.732Z","updated_at":"2025-06-21T09:40:06.506Z","avatar_url":"https://github.com/radareorg.png","language":"Rust","funding_links":[],"categories":["Vulnerability Assessment","Rust","\u003ca id=\"0e08f9478ed8388319f267e75e2ef1eb\"\u003e\u003c/a\u003e插件\u0026\u0026脚本","Programming/Comp Sci/SE Things"],"sub_categories":["Binary Analysis \u0026 Reversing","\u003ca id=\"6922457cb0d4b6b87a34caf39aa31dfe\"\u003e\u003c/a\u003e新添加的","Radare2 - Static Analysis - Disassembler/Decompiler"],"readme":"# Radeco\n\n[![Appveyor Status](https://ci.appveyor.com/api/projects/status/t8dujay25g31sxia?svg=true)](https://ci.appveyor.com/project/radare/radeco-lib-8ycg0)\n[![Build Status](https://travis-ci.org/radareorg/radeco.svg?branch=master)](https://travis-ci.org/radareorg/radeco)\n[![Coverage Status](https://coveralls.io/repos/github/radare/radeco-lib/badge.svg?branch=master)](https://coveralls.io/github/radare/radeco-lib?branch=master)\n\nA radare2 based binary analysis framework consisting from the Radeco client, in `./radeco/` directory, `./radeco-lib/` - library where whole high-level logic is located, `./arch-rs/` to abstract the architectures intricacies, `./esil-rs/` to parse the radare2 ESIL, and `./rune/` to perform symbolic execution on top of ESIL. Radeco uses its own intermediate representation,\nwhich also has a text representation - RadecoIL.\n\n### Is this ready yet?\n\nNope. There is still a ton of work to do before this can be considered ready.\nThat said, parts of the library are already stable enough to write your own\nanalysis passes and use in your projects.\n\n## Usage\n\nBuild like a regular rust project, using cargo:\n\n`cargo build`\n\nTo include in your rust project, add to Cargo.toml:\n\n```\n[dependencies.radeco-lib]\ngit = \"https://github.com/radare/radeco\"\n```\n\nSee examples for usage.\n\n### Trace Log\n\nTo debug, you may want to enable trace output from various parts of radeco.\nBuild with `trace_log` feature to enable this:\n\n`cargo build --features 'trace_log'`\n\n\n### Profiling\n\nRequires [gperftools ](https://github.com/gperftools/gperftools). Check the\n[cpuprofiler](https://github.com/AtheMathmo/cpuprofiler) repository for more details.\n\nTo enable profiling, build with `profile` feature:\n\n`cargo build --features 'profiler'`\n\nWrap the code you want to profile with:\n\n```rust\nuse cpuprofiler::PROFILER;\n\nPROFILER.lock().unwrap().start(\"./my-prof.profile\").unwrap();\n// Code you want to sample goes here!\nPROFILER.lock().unwrap().stop().unwrap();\n```\n\n## Radeco-lib project layout\n\n```\nsrc/\n├── analysis/               Analyzers on SSA form Radeco-IR\n├── backend/                Analyzers on C-pseudo code\n│   ├── ctrl_flow_struct/   Implementation of `No More Gotos`\n│   └── lang_c/             Coverter of C-pseudo code from RadecoFunction\n├── frontend/               Loaders of RadecoFunction, RadecoProject\n├── middle/                 Constructer, writer, parser of Radeco-IR\n│   ├── regfile/            Profile of registers\n│   └── ssa/                SSA form of Radeco-IR\n└── utils/                  Logger, etc\n```\n\n## License\nLicensed under The BSD 3-Clause License. Please check [COPYING](https://github.com/radare/radeco-lib/blob/master/COPYING) file for\ncomplete license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fradareorg%2Fradeco","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fradareorg%2Fradeco","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fradareorg%2Fradeco/lists"}