pub struct ControlFlowAnalyzer { /* private fields */ }Expand description
Control flow analyzer
Implementations§
Source§impl ControlFlowAnalyzer
impl ControlFlowAnalyzer
Sourcepub fn new(architecture: Architecture) -> Self
pub fn new(architecture: Architecture) -> Self
Create a new control flow analyzer
Sourcepub fn with_config(architecture: Architecture, config: AnalysisConfig) -> Self
pub fn with_config(architecture: Architecture, config: AnalysisConfig) -> Self
Create analyzer with custom configuration
Sourcepub fn analyze_binary(
&self,
binary: &BinaryFile,
) -> Result<Vec<ControlFlowGraph>>
pub fn analyze_binary( &self, binary: &BinaryFile, ) -> Result<Vec<ControlFlowGraph>>
Analyze control flow for all functions in a binary
Sourcepub fn analyze_function(
&self,
binary: &BinaryFile,
function: &Function,
) -> Result<ControlFlowGraph>
pub fn analyze_function( &self, binary: &BinaryFile, function: &Function, ) -> Result<ControlFlowGraph>
Analyze control flow for a specific function
Sourcepub fn analyze_loops(
&mut self,
basic_blocks: &mut [BasicBlock],
) -> Result<Vec<Loop>>
pub fn analyze_loops( &mut self, basic_blocks: &mut [BasicBlock], ) -> Result<Vec<Loop>>
Perform enhanced loop analysis
Sourcepub fn build_dominator_tree(
&mut self,
basic_blocks: &mut [BasicBlock],
) -> Result<()>
pub fn build_dominator_tree( &mut self, basic_blocks: &mut [BasicBlock], ) -> Result<()>
Build dominator tree for enhanced block classification
Sourcepub fn classify_block_types(
&mut self,
basic_blocks: &mut [BasicBlock],
) -> Result<()>
pub fn classify_block_types( &mut self, basic_blocks: &mut [BasicBlock], ) -> Result<()>
Classify basic block types based on their role in control flow
Trait Implementations§
Source§impl Clone for ControlFlowAnalyzer
impl Clone for ControlFlowAnalyzer
Source§fn clone(&self) -> ControlFlowAnalyzer
fn clone(&self) -> ControlFlowAnalyzer
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ControlFlowAnalyzer
impl RefUnwindSafe for ControlFlowAnalyzer
impl Send for ControlFlowAnalyzer
impl Sync for ControlFlowAnalyzer
impl Unpin for ControlFlowAnalyzer
impl UnwindSafe for ControlFlowAnalyzer
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