pub struct BridgeClient { /* private fields */ }Expand description
Client for communicating with the Ghidra Java bridge.
Implementations§
Source§impl BridgeClient
impl BridgeClient
Sourcepub fn send_command(&self, command: &str, args: Option<Value>) -> Result<Value>
pub fn send_command(&self, command: &str, args: Option<Value>) -> Result<Value>
Send a command to the bridge and return the result.
Sourcepub fn bridge_info(&self) -> Result<Value>
pub fn bridge_info(&self) -> Result<Value>
Get bridge info (current program, project name, program count, uptime).
Sourcepub fn list_functions(
&self,
limit: Option<usize>,
filter: Option<String>,
) -> Result<Value>
pub fn list_functions( &self, limit: Option<usize>, filter: Option<String>, ) -> Result<Value>
List functions.
Sourcepub fn decompile(
&self,
address: String,
with_vars: bool,
with_params: bool,
) -> Result<Value>
pub fn decompile( &self, address: String, with_vars: bool, with_params: bool, ) -> Result<Value>
Decompile a function.
Sourcepub fn list_strings(
&self,
limit: Option<usize>,
filter: Option<String>,
) -> Result<Value>
pub fn list_strings( &self, limit: Option<usize>, filter: Option<String>, ) -> Result<Value>
List strings.
Sourcepub fn list_imports(&self) -> Result<Value>
pub fn list_imports(&self) -> Result<Value>
List imports.
Sourcepub fn list_exports(&self) -> Result<Value>
pub fn list_exports(&self) -> Result<Value>
List exports.
Sourcepub fn memory_map(&self) -> Result<Value>
pub fn memory_map(&self) -> Result<Value>
Get memory map.
Sourcepub fn program_info(&self) -> Result<Value>
pub fn program_info(&self) -> Result<Value>
Get program info.
Sourcepub fn xrefs_from(&self, address: String) -> Result<Value>
pub fn xrefs_from(&self, address: String) -> Result<Value>
Get cross-references from an address.
Sourcepub fn import_binary(
&self,
binary_path: &str,
program: Option<&str>,
) -> Result<Value>
pub fn import_binary( &self, binary_path: &str, program: Option<&str>, ) -> Result<Value>
Import a binary.
Sourcepub fn list_programs(&self) -> Result<Value>
pub fn list_programs(&self) -> Result<Value>
List programs in the project.
Sourcepub fn open_program(&self, program: &str) -> Result<Value>
pub fn open_program(&self, program: &str) -> Result<Value>
Open/switch to a program.
pub fn symbol_list( &self, limit: Option<usize>, filter: Option<&str>, ) -> Result<Value>
pub fn symbol_get(&self, name: &str) -> Result<Value>
pub fn symbol_create(&self, address: &str, name: &str) -> Result<Value>
pub fn symbol_delete(&self, name: &str) -> Result<Value>
pub fn symbol_rename(&self, old_name: &str, new_name: &str) -> Result<Value>
pub fn type_list( &self, limit: Option<usize>, filter: Option<&str>, ) -> Result<Value>
pub fn type_get(&self, name: &str) -> Result<Value>
pub fn type_create(&self, definition: &str) -> Result<Value>
pub fn type_apply(&self, address: &str, type_name: &str) -> Result<Value>
pub fn comment_list( &self, limit: Option<usize>, filter: Option<&str>, ) -> Result<Value>
pub fn comment_get(&self, address: &str) -> Result<Value>
pub fn comment_set( &self, address: &str, text: &str, comment_type: Option<&str>, ) -> Result<Value>
pub fn comment_delete(&self, address: &str) -> Result<Value>
pub fn graph_calls(&self, limit: Option<usize>) -> Result<Value>
pub fn graph_callers( &self, function: &str, depth: Option<usize>, ) -> Result<Value>
pub fn graph_callees( &self, function: &str, depth: Option<usize>, ) -> Result<Value>
pub fn graph_export(&self, format: &str) -> Result<Value>
pub fn find_string(&self, pattern: &str) -> Result<Value>
pub fn find_bytes(&self, hex: &str) -> Result<Value>
pub fn find_function(&self, pattern: &str) -> Result<Value>
pub fn find_calls(&self, function: &str) -> Result<Value>
pub fn find_crypto(&self) -> Result<Value>
pub fn find_interesting(&self) -> Result<Value>
pub fn diff_programs(&self, program1: &str, program2: &str) -> Result<Value>
pub fn diff_functions(&self, func1: &str, func2: &str) -> Result<Value>
pub fn patch_bytes(&self, address: &str, hex: &str) -> Result<Value>
pub fn patch_nop(&self, address: &str) -> Result<Value>
pub fn patch_export(&self, output: &str) -> Result<Value>
pub fn disasm( &self, address: &str, num_instructions: Option<usize>, ) -> Result<Value>
pub fn stats(&self) -> Result<Value>
pub fn script_run(&self, script_path: &str, args: &[String]) -> Result<Value>
pub fn script_python(&self, code: &str) -> Result<Value>
pub fn script_java(&self, code: &str) -> Result<Value>
pub fn script_list(&self) -> Result<Value>
pub fn program_close(&self) -> Result<Value>
pub fn program_delete(&self, program: &str) -> Result<Value>
pub fn program_export( &self, format: &str, output: Option<&str>, ) -> Result<Value>
Auto Trait Implementations§
impl Freeze for BridgeClient
impl RefUnwindSafe for BridgeClient
impl Send for BridgeClient
impl Sync for BridgeClient
impl Unpin for BridgeClient
impl UnsafeUnpin for BridgeClient
impl UnwindSafe for BridgeClient
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