Struct vtil_parser::Routine [−][src]
pub struct Routine {
pub header: Header,
pub vip: Vip,
pub routine_convention: RoutineConvention,
pub subroutine_convention: SubroutineConvention,
pub spec_subroutine_conventions: Vec<SubroutineConvention>,
pub explored_blocks: IndexMap<Vip, BasicBlock>,
}VTIL routine container
Fields
header: HeaderHeader containing metadata about the VTIL container
vip: VipThe entry virtual instruction pointer for this VTIL routine
routine_convention: RoutineConventionMetadata regarding the calling conventions of the VTIL routine
subroutine_convention: SubroutineConventionMetadata regarding the calling conventions of the VTIL subroutine
spec_subroutine_conventions: Vec<SubroutineConvention>All special subroutine calling conventions in the top-level VTIL routine
explored_blocks: IndexMap<Vip, BasicBlock>Reachable BasicBlocks generated during a code-discovery analysis pass
Implementations
impl Routine[src]
impl Routine[src]VTIL routine container
pub fn new(arch_id: ArchitectureIdentifier) -> Routine[src]
pub fn new(arch_id: ArchitectureIdentifier) -> Routine[src]Build a new VTIL routine container
pub fn create_block(&mut self, vip: Vip) -> Option<&mut BasicBlock>[src]
pub fn create_block(&mut self, vip: Vip) -> Option<&mut BasicBlock>[src]Tries to create a BasicBlock, returns None if a block already
exists at the given address
pub fn remove_block(&mut self, vip: Vip) -> Option<BasicBlock>[src]
pub fn remove_block(&mut self, vip: Vip) -> Option<BasicBlock>[src]Tries to remove a BasicBlock from the Routine
pub fn from_path<P: AsRef<Path>>(path: P) -> Result<Routine>[src]
pub fn from_path<P: AsRef<Path>>(path: P) -> Result<Routine>[src]Tries to load VTIL routine from the given path
pub fn into_bytes(self) -> Result<Vec<u8>>[src]
pub fn into_bytes(self) -> Result<Vec<u8>>[src]Serialize the VTIL routine container, consuming it