1 个不稳定版本
使用旧的Rust 2015
0.1.0 | 2016年12月16日 |
---|
#8 in #capstone
用于 cargo-sym
25KB
546 行
包含 (Mach-o可执行文件, 9KB) examples/darwin
capstone3
对capstone库反汇编框架的绑定。
在demo.rs
中有一个示例,但仅作为一个样本
extern crate capstone;
const CODE: &'static [u8; 8] = b"\x55\x48\x8b\x05\xb8\x13\x00\x00";
fn main() {
match capstone::Capstone::new(capstone::Arch::X86) {
Ok(cs) => {
cs.detail().unwrap();
cs.att();
match cs.disasm(CODE, 0x1000) {
Ok(insns) => {
println!("Got {} instructions", insns.len());
for i in insns.iter() {
println!("{}", i);
println!("detail: {:?}", i.detail());
}
},
Err(err) => {
println!("Error disassembling: {}", err);
}
}
},
Err(err) => {
println!("Error creating disassembler: {}", err);
}
}
}
产生
Got 2 instructions
0x1000: push rbp
0x1001: mov rax, qword ptr [rip + 0x13b8]
报告问题
请在Github上创建一个问题
演示
您可以运行
cargo run --example=demo
以产生一个简短的演示。欢迎更复杂的演示!
作者
库作者:Nguyen Anh Quynh 绑定作者:m4b m4b.github.io@gmail.com Richo Healey richo@psych0tik.net
贡献者
- @ekse
许可证
Mit.
依赖
~32MB
~1M SLoC