Struct capstone::Capstone
[−]
[src]
pub struct Capstone { /* fields omitted */ }
An instance of the capstone disassembler
Methods
impl Capstone
[src]
fn new() -> CapstoneBuilder
[src]
Create a new instance of the decompiler using the builder pattern interface.
This is the recommended interface to Capstone
.
use capstone::prelude::*; let cs = Capstone::new().x86().mode(arch::x86::ArchMode::Mode32).build();
fn new_raw<T: Iterator<Item = ExtraMode>>(
arch: Arch,
mode: Mode,
extra_mode: T,
endian: Option<Endian>
) -> CsResult<Capstone>
[src]
arch: Arch,
mode: Mode,
extra_mode: T,
endian: Option<Endian>
) -> CsResult<Capstone>
Create a new instance of the decompiler using the "raw" interface.
The user must ensure that only sensical Arch
/Mode
combinations are used.
use capstone::{Arch, Capstone, NO_EXTRA_MODE, Mode}; let cs = Capstone::new_raw(Arch::X86, Mode::Mode64, NO_EXTRA_MODE, None); assert!(cs.is_ok());
fn disasm_all(&self, code: &[u8], addr: u64) -> CsResult<Instructions>
[src]
Disassemble all instructions in buffer
fn disasm_count(
&self,
code: &[u8],
addr: u64,
count: usize
) -> CsResult<Instructions>
[src]
&self,
code: &[u8],
addr: u64,
count: usize
) -> CsResult<Instructions>
Disassemble count
instructions in code
fn set_extra_mode<T: Iterator<Item = ExtraMode>>(
&mut self,
extra_mode: T
) -> CsResult<()>
[src]
&mut self,
extra_mode: T
) -> CsResult<()>
Set extra modes in addition to normal mode
fn set_syntax(&mut self, syntax: Syntax) -> CsResult<()>
[src]
Set the assembly syntax (has no effect on some platforms)
fn set_mode(&mut self, mode: Mode) -> CsResult<()>
[src]
Sets the engine's disassembly mode. Be careful, various combinations of modes aren't supported See the capstone-sys documentation for more information.
fn set_detail(&mut self, enable_detail: bool) -> CsResult<()>
[src]
Controls whether to capstone will generate extra details about disassembled instructions.
Pass true
to enable detail or false
to disable detail.
fn reg_name(&self, reg_id: u64) -> Option<String>
[src]
Converts a register id reg_id
to a String
containing the register name.
fn insn_name(&self, insn_id: u64) -> Option<String>
[src]
Converts an instruction id insn_id
to a String
containing the instruction name.
Note: This function ignores the current syntax and uses the default syntax.
fn group_name(&self, group_id: u64) -> Option<String>
[src]
Converts a group id group_id
to a String
containing the group name.
fn insn_belongs_to_group(&self, insn: &Insn, group_id: u64) -> CsResult<bool>
[src]
Returns whether the instruction insn
belongs to the group with id group_id
.
fn insn_group_ids<'i>(&self, insn: &'i Insn) -> CsResult<&'i [u8]>
[src]
Returns groups ids to which an instruction belongs.
fn register_id_is_read(&self, insn: &Insn, reg_id: u64) -> CsResult<bool>
[src]
Checks if an instruction implicitly reads a register with id reg_id
.
fn read_register_ids<'i>(&self, insn: &'i Insn) -> CsResult<&'i [u8]>
[src]
Returns list of ids of registers that are implicitly read by instruction insn
.
fn register_id_is_written(&self, insn: &Insn, reg_id: u64) -> CsResult<bool>
[src]
Checks if an instruction implicitly writes to a register with id reg_id
.
fn write_register_ids<'i>(&self, insn: &'i Insn) -> CsResult<&'i [u8]>
[src]
Returns a list of ids of registers that are implicitly written to by the instruction insn
.
fn lib_version() -> (u32, u32)
[src]
Returns a tuple (major, minor) indicating the version of the capstone C library.
fn supports_arch(arch: Arch) -> bool
[src]
Returns whether the capstone library supports a given architecture.
fn is_diet() -> bool
[src]
Returns whether the capstone library was compiled in diet mode.