idalib::idb

Struct IDB

Source
pub struct IDB { /* private fields */ }

Implementations§

Source§

impl IDB

Source

pub fn open(path: impl AsRef<Path>) -> Result<Self, IDAError>

Source

pub fn open_with( path: impl AsRef<Path>, auto_analyse: bool, save: bool, ) -> Result<Self, IDAError>

Source

pub fn path(&self) -> &Path

Source

pub fn save_on_close(&mut self, status: bool)

Source

pub fn auto_wait(&mut self) -> bool

Source

pub fn set_screen_address(&mut self, ea: Address)

Source

pub fn make_signatures(&mut self, only_pat: bool) -> Result<(), IDAError>

Source

pub fn decompiler_available(&self) -> bool

Source

pub fn meta(&self) -> Metadata<'_>

Source

pub fn meta_mut(&mut self) -> MetadataMut<'_>

Source

pub fn processor(&self) -> Processor<'_>

Source

pub fn entries(&self) -> EntryPointIter<'_>

Source

pub fn function_at(&self, ea: Address) -> Option<Function<'_>>

Source

pub fn next_head(&self, ea: Address) -> Option<Address>

Source

pub fn next_head_with(&self, ea: Address, max_ea: Address) -> Option<Address>

Source

pub fn prev_head(&self, ea: Address) -> Option<Address>

Source

pub fn prev_head_with(&self, ea: Address, min_ea: Address) -> Option<Address>

Source

pub fn insn_at(&self, ea: Address) -> Option<Insn>

Source

pub fn decompile<'a>( &'a self, f: &Function<'a>, ) -> Result<CFunction<'a>, IDAError>

Source

pub fn decompile_with<'a>( &'a self, f: &Function<'a>, all_blocks: bool, ) -> Result<CFunction<'a>, IDAError>

Source

pub fn function_by_id(&self, id: FunctionId) -> Option<Function<'_>>

Source

pub fn functions<'a>( &'a self, ) -> impl Iterator<Item = (FunctionId, Function<'a>)> + 'a

Source

pub fn function_count(&self) -> usize

Source

pub fn segment_at(&self, ea: Address) -> Option<Segment<'_>>

Source

pub fn segment_by_id(&self, id: SegmentId) -> Option<Segment<'_>>

Source

pub fn segments<'a>( &'a self, ) -> impl Iterator<Item = (SegmentId, Segment<'a>)> + 'a

Source

pub fn segment_count(&self) -> usize

Source

pub fn register_by_name(&self, name: impl AsRef<str>) -> Option<Register>

Source

pub fn insn_alignment_at(&self, ea: Address) -> Option<usize>

Source

pub fn first_xref_from(&self, ea: Address, flags: XRefQuery) -> Option<XRef<'_>>

Source

pub fn first_xref_to(&self, ea: Address, flags: XRefQuery) -> Option<XRef<'_>>

Source

pub fn get_cmt(&self, ea: Address) -> Option<String>

Source

pub fn get_cmt_with(&self, ea: Address, rptble: bool) -> Option<String>

Source

pub fn set_cmt( &self, ea: Address, comm: impl AsRef<str>, ) -> Result<(), IDAError>

Source

pub fn set_cmt_with( &self, ea: Address, comm: impl AsRef<str>, rptble: bool, ) -> Result<(), IDAError>

Source

pub fn append_cmt( &self, ea: Address, comm: impl AsRef<str>, ) -> Result<(), IDAError>

Source

pub fn append_cmt_with( &self, ea: Address, comm: impl AsRef<str>, rptble: bool, ) -> Result<(), IDAError>

Source

pub fn remove_cmt(&self, ea: Address) -> Result<(), IDAError>

Source

pub fn remove_cmt_with(&self, ea: Address, rptble: bool) -> Result<(), IDAError>

Source

pub fn bookmarks(&self) -> Bookmarks<'_>

Source

pub fn find_text( &self, start_ea: Address, text: impl AsRef<str>, ) -> Option<Address>

Source

pub fn find_text_iter<'a, T>( &'a self, text: T, ) -> impl Iterator<Item = Address> + 'a
where T: AsRef<str> + 'a,

Source

pub fn find_imm(&self, start_ea: Address, imm: u32) -> Option<Address>

Source

pub fn find_imm_iter<'a>( &'a self, imm: u32, ) -> impl Iterator<Item = Address> + 'a

Source

pub fn find_defined(&self, start_ea: Address) -> Option<Address>

Source

pub fn strings(&self) -> StringList<'_>

Source

pub fn address_to_string(&self, ea: Address) -> Option<String>

Source

pub fn get_byte(&self, ea: Address) -> u8

Source

pub fn get_word(&self, ea: Address) -> u16

Source

pub fn get_dword(&self, ea: Address) -> u32

Source

pub fn get_qword(&self, ea: Address) -> u64

Source

pub fn get_bytes(&self, ea: Address, size: usize) -> Vec<u8>

Source

pub fn find_plugin( &self, name: impl AsRef<str>, load_if_needed: bool, ) -> Result<Plugin<'_>, IDAError>

Source

pub fn load_plugin(&self, name: impl AsRef<str>) -> Result<Plugin<'_>, IDAError>

Trait Implementations§

Source§

impl Drop for IDB

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl Freeze for IDB

§

impl RefUnwindSafe for IDB

§

impl !Send for IDB

§

impl !Sync for IDB

§

impl Unpin for IDB

§

impl UnwindSafe for IDB

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.