pub struct GhidraSleigh { /* private fields */ }Expand description
Sleigh instance that uses Ghidra libsla for its disassembly.
Implementations§
Source§impl GhidraSleigh
impl GhidraSleigh
Sourcepub fn builder() -> GhidraSleighBuilder<MissingSpec>
pub fn builder() -> GhidraSleighBuilder<MissingSpec>
Create a new sleigh builder. Use this to construct a sleigh instance.
Trait Implementations§
Source§impl Sleigh for GhidraSleigh
impl Sleigh for GhidraSleigh
Source§fn register_name(&self, target: &VarnodeData) -> Option<String>
fn register_name(&self, target: &VarnodeData) -> Option<String>
Get the register name for a varnode targeting a register. This will return None if the
target is not a valid register.
Source§fn default_code_space(&self) -> AddressSpace
fn default_code_space(&self) -> AddressSpace
Get the default address space for code execution
Source§fn address_spaces(&self) -> Vec<AddressSpace>
fn address_spaces(&self) -> Vec<AddressSpace>
List all available address spaces
Source§fn register_from_name(&self, name: impl AsRef<str>) -> Result<VarnodeData>
fn register_from_name(&self, name: impl AsRef<str>) -> Result<VarnodeData>
Get the VarnodeData that represents the named register.
Source§fn disassemble_pcode(
&self,
loader: &dyn InstructionLoader,
address: Address,
) -> Result<PcodeDisassembly>
fn disassemble_pcode( &self, loader: &dyn InstructionLoader, address: Address, ) -> Result<PcodeDisassembly>
Disassemble the instructions at the given address into pcode.
Source§fn disassemble_native(
&self,
loader: &dyn InstructionLoader,
address: Address,
) -> Result<NativeDisassembly>
fn disassemble_native( &self, loader: &dyn InstructionLoader, address: Address, ) -> Result<NativeDisassembly>
Disassemble the instructions at the given address into native assembly instructions.
Source§fn register_name_map(&self) -> BTreeMap<VarnodeData, String>
fn register_name_map(&self) -> BTreeMap<VarnodeData, String>
Get a sorted map of registers to register names.
Source§fn address_space_by_name(&self, name: impl AsRef<str>) -> Option<AddressSpace>
fn address_space_by_name(&self, name: impl AsRef<str>) -> Option<AddressSpace>
Get an address space by name (if it exists)
Auto Trait Implementations§
impl Freeze for GhidraSleigh
impl RefUnwindSafe for GhidraSleigh
impl !Send for GhidraSleigh
impl !Sync for GhidraSleigh
impl Unpin for GhidraSleigh
impl UnwindSafe for GhidraSleigh
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more