Struct binaryninja::binaryview::BinaryView
[−]pub struct BinaryView { /* private fields */ }
Implementations
impl BinaryView
impl BinaryView
pub fn from_filename<S: BnStrCompatible>(
meta: &mut FileMetadata,
filename: S
) -> Result<Ref<Self>>
pub fn from_accessor(
meta: &FileMetadata,
file: &mut FileAccessor<'_>
) -> Result<Ref<Self>>
pub fn from_data(meta: &FileMetadata, data: &[u8]) -> Result<Ref<Self>>
Trait Implementations
impl AsRef<BinaryView> for BinaryView
impl AsRef<BinaryView> for BinaryView
impl BinaryViewBase for BinaryView
impl BinaryViewBase for BinaryView
fn read(&self, buf: &mut [u8], offset: u64) -> usize
fn write(&self, offset: u64, data: &[u8]) -> usize
fn insert(&self, offset: u64, data: &[u8]) -> usize
fn remove(&self, offset: u64, len: usize) -> usize
fn modification_status(&self, offset: u64) -> ModificationStatus
fn offset_valid(&self, offset: u64) -> bool
fn offset_readable(&self, offset: u64) -> bool
fn offset_writable(&self, offset: u64) -> bool
fn offset_executable(&self, offset: u64) -> bool
fn offset_backed_by_file(&self, offset: u64) -> bool
fn next_valid_offset_after(&self, offset: u64) -> u64
fn default_endianness(&self) -> Endianness
fn relocatable(&self) -> bool
fn address_size(&self) -> usize
fn start(&self) -> u64
fn len(&self) -> usize
fn entry_point(&self) -> u64
fn executable(&self) -> bool
fn save(&self) -> bool
impl Debug for BinaryView
impl Debug for BinaryView
impl Hash for BinaryView
impl Hash for BinaryView
impl PartialEq<BinaryView> for BinaryView
impl PartialEq<BinaryView> for BinaryView
fn eq(&self, other: &BinaryView) -> bool
fn eq(&self, other: &BinaryView) -> bool
impl RefCountable for BinaryView
impl RefCountable for BinaryView
impl ToOwned for BinaryView
impl ToOwned for BinaryView
type Owned = Ref<BinaryView>
type Owned = Ref<BinaryView>
The resulting type after obtaining ownership.
fn to_owned(&self) -> Self::Owned
fn to_owned(&self) -> Self::Owned
Creates owned data from borrowed data, usually by cloning. Read more
1.63.0 · sourcefn clone_into(&self, target: &mut Self::Owned)
fn clone_into(&self, target: &mut Self::Owned)
Uses borrowed data to replace owned data, usually by cloning. Read more
impl Eq for BinaryView
impl Send for BinaryView
impl StructuralEq for BinaryView
impl StructuralPartialEq for BinaryView
impl Sync for BinaryView
Auto Trait Implementations
Blanket Implementations
impl<T> BinaryViewExt for Twhere
T: BinaryViewBase,
impl<T> BinaryViewExt for Twhere
T: BinaryViewBase,
fn file(&self) -> Ref<FileMetadata>
fn type_name(&self) -> BnString
fn parent_view(&self) -> Result<Ref<BinaryView>>
fn raw_view(&self) -> Result<Ref<BinaryView>>
fn view_type(&self) -> BnString
fn read_into_vec(&self, dest: &mut Vec<u8>, offset: u64, len: usize) -> usize
fn read_into_vec(&self, dest: &mut Vec<u8>, offset: u64, len: usize) -> usize
Appends up to
len
bytes from address offset
into dest
fn notify_data_written(&self, offset: u64, len: usize)
fn notify_data_inserted(&self, offset: u64, len: usize)
fn notify_data_removed(&self, offset: u64, len: usize)
fn offset_has_code_semantics(&self, offset: u64) -> bool
fn offset_has_writable_semantics(&self, offset: u64) -> bool
fn end(&self) -> u64
fn update_analysis_and_wait(&self)
fn update_analysis(&self)
fn default_arch(&self) -> Option<CoreArchitecture>
fn set_default_arch<A: Architecture>(&self, arch: &A)
fn default_platform(&self) -> Option<Ref<Platform>>
fn set_default_platform(&self, plat: &Platform)
fn instruction_len<A: Architecture>(&self, arch: &A, addr: u64) -> Option<usize>
fn symbol_by_address(&self, addr: u64) -> Result<Ref<Symbol>>
fn symbol_by_raw_name<S: BnStrCompatible>(
&self,
raw_name: S
) -> Result<Ref<Symbol>>
fn symbols(&self) -> Array<Symbol>
fn symbols_by_name<S: BnStrCompatible>(&self, name: S) -> Array<Symbol>
fn symbols_in_range(&self, range: Range<u64>) -> Array<Symbol>
fn symbols_of_type(&self, ty: SymbolType) -> Array<Symbol>
fn symbols_of_type_in_range(
&self,
ty: SymbolType,
range: Range<u64>
) -> Array<Symbol>
fn define_auto_symbol(&self, sym: &Symbol)
fn define_auto_symbol_with_type<'a, T: Into<Option<&'a Type>>>(
&self,
sym: &Symbol,
plat: &Platform,
ty: T
) -> Result<Ref<Symbol>>
fn undefine_auto_symbol(&self, sym: &Symbol)
fn define_user_symbol(&self, sym: &Symbol)
fn undefine_user_symbol(&self, sym: &Symbol)
fn data_variables(&self) -> Array<DataVariable>
fn define_auto_data_var(&self, dv: DataVariable)
fn define_user_data_var(&self, dv: DataVariable)
fn define_user_data_var(&self, dv: DataVariable)
You likely would also like to call
Self::define_user_symbol
to bind this data variable with a namefn undefine_auto_data_var(&self, addr: u64)
fn undefine_user_data_var(&self, addr: u64)
fn define_auto_type<S: BnStrCompatible>(
&self,
name: S,
source: S,
type_obj: &Type
) -> QualifiedName
fn define_user_type<S: BnStrCompatible>(&self, name: S, type_obj: &Type)
fn define_auto_types<S: BnStrCompatible>(
&self,
names_sources_and_types: Vec<(S, S, &Type)>,
progress: Option<Box<dyn Fn(usize, usize) -> Result<()>>>
) -> HashMap<String, QualifiedName>
fn define_user_types<S: BnStrCompatible>(
&self,
names_and_types: Vec<(S, &Type)>,
progress: Option<Box<dyn Fn(usize, usize) -> Result<()>>>
)
fn undefine_auto_type<S: BnStrCompatible>(&self, id: S)
fn undefine_user_type<S: BnStrCompatible>(&self, name: S)
fn types(&self) -> Array<QualifiedNameAndType>
fn dependency_sorted_types(&self) -> Array<QualifiedNameAndType>
fn get_type_by_name<S: BnStrCompatible>(&self, name: S) -> Option<Ref<Type>>
fn get_type_by_ref(&self, ref_: &NamedTypeReference) -> Option<Ref<Type>>
fn get_type_by_id<S: BnStrCompatible>(&self, id: S) -> Option<Ref<Type>>
fn get_type_name_by_id<S: BnStrCompatible>(&self, id: S) -> Option<QualifiedName>
fn get_type_id<S: BnStrCompatible>(&self, name: S) -> Option<BnString>
fn is_type_auto_defined<S: BnStrCompatible>(&self, name: S) -> bool
fn segments(&self) -> Array<Segment>
fn segment_at(&self, addr: u64) -> Option<Segment>
fn add_segment(&self, segment: SegmentBuilder)
fn add_section<S: BnStrCompatible>(&self, section: SectionBuilder<S>)
fn remove_auto_section<S: BnStrCompatible>(&self, name: S)
fn remove_user_section<S: BnStrCompatible>(&self, name: S)
fn section_by_name<S: BnStrCompatible>(&self, name: S) -> Result<Section>
fn sections(&self) -> Array<Section>
fn sections_at(&self, addr: u64) -> Array<Section>
fn add_auto_function(&self, plat: &Platform, addr: u64) -> Option<Ref<Function>>
fn add_function_with_type(
&self,
plat: &Platform,
addr: u64,
auto_discovered: bool,
func_type: Option<&Type>
) -> Option<Ref<Function>>
fn add_entry_point(&self, plat: &Platform, addr: u64)
fn create_user_function(
&self,
plat: &Platform,
addr: u64
) -> Result<Ref<Function>>
fn has_functions(&self) -> bool
fn entry_point_function(&self) -> Result<Ref<Function>>
fn functions(&self) -> Array<Function>
fn functions_at(&self, addr: u64) -> Array<Function>
fn functions_at(&self, addr: u64) -> Array<Function>
List of functions starting at
addr
fn functions_containing(&self, addr: u64) -> Array<Function>
fn function_at(&self, platform: &Platform, addr: u64) -> Result<Ref<Function>>
fn basic_blocks_containing(&self, addr: u64) -> Array<BasicBlock<NativeBlock>>
fn basic_blocks_starting_at(&self, addr: u64) -> Array<BasicBlock<NativeBlock>>
fn is_new_auto_function_analysis_suppressed(&self) -> bool
fn set_new_auto_function_analysis_suppressed(&self, suppress: bool)
fn read_buffer(&self, offset: u64, len: usize) -> Result<DataBuffer>
fn debug_info(&self) -> Ref<DebugInfo>
fn set_debug_info(&self, debug_info: &DebugInfo)
fn apply_debug_info(&self, debug_info: &DebugInfo)
fn show_graph_report<S: BnStrCompatible>(&self, raw_name: S, graph: FlowGraph)
fn load_settings<S: BnStrCompatible>(
&self,
view_type_name: S
) -> Result<Ref<Settings>>
fn set_load_settings<S: BnStrCompatible>(
&self,
view_type_name: S,
settings: &Settings
)
fn create_tag_type<N: BnStrCompatible, I: BnStrCompatible>(
&self,
name: N,
icon: I
) -> Ref<TagType>
fn create_tag_type<N: BnStrCompatible, I: BnStrCompatible>(
&self,
name: N,
icon: I
) -> Ref<TagType>
fn remove_tag_type(&self, tag_type: &TagType)
fn remove_tag_type(&self, tag_type: &TagType)
Removes a TagType and all tags that use it
fn get_tag_type<S: BnStrCompatible>(&self, name: S) -> Option<Ref<TagType>>
fn get_tag_type<S: BnStrCompatible>(&self, name: S) -> Option<Ref<TagType>>
Get a tag type by its name.
fn add_tag<S: BnStrCompatible>(&self, addr: u64, t: &TagType, data: S, user: bool)
fn add_tag<S: BnStrCompatible>(&self, addr: u64, t: &TagType, data: S, user: bool)
Creates and adds a tag to an address Read more
fn remove_auto_data_tag(&self, addr: u64, tag: &Tag)
fn remove_auto_data_tag(&self, addr: u64, tag: &Tag)
removes a Tag object at a data address.
fn remove_user_data_tag(&self, addr: u64, tag: &Tag)
fn remove_user_data_tag(&self, addr: u64, tag: &Tag)
removes a Tag object at a data address.
Since this removes a user tag, it will be added to the current undo buffer. Read more
fn get_next_linear_disassembly_lines(
&self,
pos: &mut LinearViewCursor
) -> Array<LinearDisassemblyLine>
fn get_next_linear_disassembly_lines(
&self,
pos: &mut LinearViewCursor
) -> Array<LinearDisassemblyLine>
Retrieves a list of the next disassembly lines. Read more
fn get_previous_linear_disassembly_lines(
&self,
pos: &mut LinearViewCursor
) -> Array<LinearDisassemblyLine>
fn get_previous_linear_disassembly_lines(
&self,
pos: &mut LinearViewCursor
) -> Array<LinearDisassemblyLine>
Retrieves a list of the previous disassembly lines. Read more
fn query_metadata<S: BnStrCompatible>(&self, key: S) -> Option<Ref<Metadata>>
fn get_metadata<T, S: BnStrCompatible>(&self, key: S) -> Option<Result<T>>where
T: for<'a> TryFrom<&'a Metadata>,
fn store_metadata<V, S: BnStrCompatible>(&self, key: S, value: V, is_auto: bool)where
V: Into<Ref<Metadata>>,
fn remove_metadata<S: BnStrCompatible>(&self, key: S)
fn get_code_refs(&self, addr: u64) -> Array<CodeReference>
fn get_code_refs(&self, addr: u64) -> Array<CodeReference>
Retrieves a list of CodeReferences pointing to a given address.
fn get_code_refs_in_range(&self, range: Range<u64>) -> Array<CodeReference>
fn get_code_refs_in_range(&self, range: Range<u64>) -> Array<CodeReference>
Retrieves a list of CodeReferences pointing into a given Range.
fn get_data_refs(&self, addr: u64) -> Array<DataReference>
fn get_data_refs(&self, addr: u64) -> Array<DataReference>
Retrieves a list of DataReferences pointing to a given address.
fn get_data_refs_from(&self, addr: u64) -> Array<DataReference>
fn get_data_refs_from(&self, addr: u64) -> Array<DataReference>
Retrieves a list of DataReferences originating from a given address.
fn get_data_refs_in_range(&self, range: Range<u64>) -> Array<DataReference>
fn get_data_refs_in_range(&self, range: Range<u64>) -> Array<DataReference>
Retrieves a list of DataReferences pointing into a given Range.
fn get_code_refs_for_type<B: BnStrCompatible>(
&self,
name: B
) -> Array<CodeReference>
fn get_code_refs_for_type<B: BnStrCompatible>(
&self,
name: B
) -> Array<CodeReference>
Retrieves a list of CodeReferences for locations in code that use a given named type. Read more
fn get_data_refs_for_type<B: BnStrCompatible>(
&self,
name: B
) -> Array<DataReference>
fn get_data_refs_for_type<B: BnStrCompatible>(
&self,
name: B
) -> Array<DataReference>
Retrieves a list of DataReferences instances of a given named type in data. Read more
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more