radeco

所属分类:调试/Bug
开发工具:Rust
文件大小:0KB
下载次数:0
上传日期:2020-05-22 06:12:08
上 传 者sh-1993
说明:  基于radare2的反编译器和符号执行器,
(radare2-based decompiler and symbol executor,)

文件列表:
.appveyor.yml (2326, 2020-05-21)
.travis.yml (3253, 2020-05-21)
Cargo.toml (452, 2020-05-21)
arch-rs/ (0, 2020-05-21)
arch-rs/Cargo.toml (242, 2020-05-21)
arch-rs/examples/ (0, 2020-05-21)
arch-rs/examples/x86_register_file.rs (524, 2020-05-21)
arch-rs/src/ (0, 2020-05-21)
arch-rs/src/arch/ (0, 2020-05-21)
arch-rs/src/arch/arch.rs (2229, 2020-05-21)
arch-rs/src/arch/x86.rs (662, 2020-05-21)
arch-rs/src/cc/ (0, 2020-05-21)
arch-rs/src/cc/calling_convention.rs (3293, 2020-05-21)
arch-rs/src/cc/cdecl.rs (1156, 2020-05-21)
arch-rs/src/lib.rs (298, 2020-05-21)
arch-rs/src/os/ (0, 2020-05-21)
arch-rs/src/os/linux.rs (61, 2020-05-21)
arch-rs/src/os/os.rs (163, 2020-05-21)
arch-rs/src/regfile/ (0, 2020-05-21)
arch-rs/src/regfile/regfile.rs (3699, 2020-05-21)
arch-rs/src/regfile/x86regfile.rs (6649, 2020-05-21)
arch-rs/src/utils.rs (6705, 2020-05-21)
esil-rs/ (0, 2020-05-21)
esil-rs/Cargo.toml (110, 2020-05-21)
esil-rs/LICENSE (1561, 2020-05-21)
esil-rs/fuzz/ (0, 2020-05-21)
esil-rs/fuzz/Cargo.toml (380, 2020-05-21)
esil-rs/fuzz/fuzzers/ (0, 2020-05-21)
esil-rs/fuzz/fuzzers/parser.rs (1178, 2020-05-21)
esil-rs/rustfmt.toml (72, 2020-05-21)
esil-rs/src/ (0, 2020-05-21)
esil-rs/src/lexer.rs (19368, 2020-05-21)
esil-rs/src/lib.rs (373, 2020-05-21)
esil-rs/src/parser.rs (30598, 2020-05-21)
esil-rs/src/vm.rs (869, 2020-05-21)
... ...

# Radeco [![Appveyor Status](https://ci.appveyor.com/api/projects/status/t8dujay25g31sxia?svg=true)](https://ci.appveyor.com/project/radare/radeco-lib-8ycg0) [![Build Status](https://travis-ci.org/radareorg/radeco.svg?branch=master)](https://travis-ci.org/radareorg/radeco) [![Coverage Status](https://coveralls.io/repos/github/radare/radeco-lib/badge.svg?branch=master)](https://coveralls.io/github/radare/radeco-lib?branch=master) A 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, which also has a text representation - RadecoIL. ### Is this ready yet? Nope. There is still a ton of work to do before this can be considered ready. That said, parts of the library are already stable enough to write your own analysis passes and use in your projects. ## Usage Build like a regular rust project, using cargo: `cargo build` To include in your rust project, add to Cargo.toml: ``` [dependencies.radeco-lib] git = "https://github.com/radare/radeco" ``` See examples for usage. ### Trace Log To debug, you may want to enable trace output from various parts of radeco. Build with `trace_log` feature to enable this: `cargo build --features 'trace_log'` ### Profiling Requires [gperftools ](https://github.com/gperftools/gperftools). Check the [cpuprofiler](https://github.com/AtheMathmo/cpuprofiler) repository for more details. To enable profiling, build with `profile` feature: `cargo build --features 'profiler'` Wrap the code you want to profile with: ```rust use cpuprofiler::PROFILER; PROFILER.lock().unwrap().start("./my-prof.profile").unwrap(); // Code you want to sample goes here! PROFILER.lock().unwrap().stop().unwrap(); ``` ## Radeco-lib project layout ``` src/ ├── analysis/ Analyzers on SSA form Radeco-IR ├── backend/ Analyzers on C-pseudo code │ ├── ctrl_flow_struct/ Implementation of `No More Gotos` │ └── lang_c/ Coverter of C-pseudo code from RadecoFunction ├── frontend/ Loaders of RadecoFunction, RadecoProject ├── middle/ Constructer, writer, parser of Radeco-IR │ ├── regfile/ Profile of registers │ └── ssa/ SSA form of Radeco-IR └── utils/ Logger, etc ``` ## License Licensed under The BSD 3-Clause License. Please check [COPYING](https://github.com/radare/radeco-lib/blob/master/COPYING) file for complete license.

近期下载者

相关文件


收藏者