class BinaryNinja::HighLevelILFunction |
Additional Inherited Members | |
Public Attributes inherited from BinaryNinja::CoreRefCountObject< BNHighLevelILFunction, BNNewHighLevelILFunctionReference, BNFreeHighLevelILFunction > | |
std::atomic< int > | m_refs |
bool | m_registeredRef |
BNHighLevelILFunction * | m_object |
HighLevelILFunction::HighLevelILFunction | ( | Architecture * | arch, |
Function * | func = nullptr ) |
HighLevelILFunction::HighLevelILFunction | ( | BNHighLevelILFunction * | func | ) |
Ref< Architecture > HighLevelILFunction::GetArchitecture | ( | ) | const |
uint64_t HighLevelILFunction::GetCurrentAddress | ( | ) | const |
void HighLevelILFunction::SetCurrentAddress | ( | Architecture * | arch, |
uint64_t | addr ) |
HighLevelILInstruction HighLevelILFunction::GetRootExpr | ( | ) |
void HighLevelILFunction::SetRootExpr | ( | ExprId | expr | ) |
void HighLevelILFunction::SetRootExpr | ( | const HighLevelILInstruction & | expr | ) |
ExprId HighLevelILFunction::AddExpr | ( | BNHighLevelILOperation | operation, |
size_t | size, | ||
ExprId | a = 0, | ||
ExprId | b = 0, | ||
ExprId | c = 0, | ||
ExprId | d = 0, | ||
ExprId | e = 0 ) |
ExprId HighLevelILFunction::AddExprWithLocation | ( | BNHighLevelILOperation | operation, |
uint64_t | addr, | ||
uint32_t | sourceOperand, | ||
size_t | size, | ||
ExprId | a = 0, | ||
ExprId | b = 0, | ||
ExprId | c = 0, | ||
ExprId | d = 0, | ||
ExprId | e = 0 ) |
ExprId HighLevelILFunction::AddExprWithLocation | ( | BNHighLevelILOperation | operation, |
const ILSourceLocation & | loc, | ||
size_t | size, | ||
ExprId | a = 0, | ||
ExprId | b = 0, | ||
ExprId | c = 0, | ||
ExprId | d = 0, | ||
ExprId | e = 0 ) |
ExprId HighLevelILFunction::Nop | ( | const ILSourceLocation & | loc = ILSourceLocation() | ) |
ExprId HighLevelILFunction::Block | ( | const std::vector< ExprId > & | exprs, |
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::If | ( | ExprId | condition, |
ExprId | trueExpr, | ||
ExprId | falseExpr, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::While | ( | ExprId | condition, |
ExprId | loopExpr, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::WhileSSA | ( | ExprId | conditionPhi, |
ExprId | condition, | ||
ExprId | loopExpr, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::DoWhile | ( | ExprId | loopExpr, |
ExprId | condition, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::DoWhileSSA | ( | ExprId | loopExpr, |
ExprId | conditionPhi, | ||
ExprId | condition, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::For | ( | ExprId | initExpr, |
ExprId | condition, | ||
ExprId | updateExpr, | ||
ExprId | loopExpr, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::ForSSA | ( | ExprId | initExpr, |
ExprId | conditionPhi, | ||
ExprId | condition, | ||
ExprId | updateExpr, | ||
ExprId | loopExpr, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::Switch | ( | ExprId | condition, |
ExprId | defaultExpr, | ||
const std::vector< ExprId > & | cases, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::Case | ( | const std::vector< ExprId > & | condition, |
ExprId | expr, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::Break | ( | const ILSourceLocation & | loc = ILSourceLocation() | ) |
ExprId HighLevelILFunction::Continue | ( | const ILSourceLocation & | loc = ILSourceLocation() | ) |
ExprId HighLevelILFunction::Jump | ( | ExprId | dest, |
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::Return | ( | const std::vector< ExprId > & | sources, |
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::NoReturn | ( | const ILSourceLocation & | loc = ILSourceLocation() | ) |
ExprId HighLevelILFunction::Unreachable | ( | const ILSourceLocation & | loc = ILSourceLocation() | ) |
ExprId HighLevelILFunction::Goto | ( | uint64_t | target, |
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::Label | ( | uint64_t | target, |
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::VarDeclare | ( | const Variable & | var, |
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::VarInit | ( | size_t | size, |
const Variable & | dest, | ||
ExprId | src, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::VarInitSSA | ( | size_t | size, |
const SSAVariable & | dest, | ||
ExprId | src, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::Assign | ( | size_t | size, |
ExprId | dest, | ||
ExprId | src, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::AssignUnpack | ( | const std::vector< ExprId > & | output, |
ExprId | src, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::AssignMemSSA | ( | size_t | size, |
ExprId | dest, | ||
size_t | destMemVersion, | ||
ExprId | src, | ||
size_t | srcMemVersion, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::AssignUnpackMemSSA | ( | const std::vector< ExprId > & | output, |
size_t | destMemVersion, | ||
ExprId | src, | ||
size_t | srcMemVersion, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::Var | ( | size_t | size, |
const Variable & | src, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::VarSSA | ( | size_t | size, |
const SSAVariable & | src, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::VarPhi | ( | const SSAVariable & | dest, |
const std::vector< SSAVariable > & | sources, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::MemPhi | ( | size_t | dest, |
const std::vector< size_t > & | sources, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::StructField | ( | size_t | size, |
ExprId | src, | ||
uint64_t | offset, | ||
size_t | memberIndex, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::ArrayIndex | ( | size_t | size, |
ExprId | src, | ||
ExprId | idx, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::ArrayIndexSSA | ( | size_t | size, |
ExprId | src, | ||
size_t | srcMemVersion, | ||
ExprId | idx, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::Split | ( | size_t | size, |
ExprId | high, | ||
ExprId | low, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::Deref | ( | size_t | size, |
ExprId | src, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::DerefField | ( | size_t | size, |
ExprId | src, | ||
uint64_t | offset, | ||
size_t | memberIndex, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::DerefSSA | ( | size_t | size, |
ExprId | src, | ||
size_t | srcMemVersion, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::DerefFieldSSA | ( | size_t | size, |
ExprId | src, | ||
size_t | srcMemVersion, | ||
uint64_t | offset, | ||
size_t | memberIndex, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::AddressOf | ( | ExprId | src, |
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::Const | ( | size_t | size, |
uint64_t | val, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::ConstPointer | ( | size_t | size, |
uint64_t | val, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::ExternPointer | ( | size_t | size, |
uint64_t | val, | ||
uint64_t | offset, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::FloatConstRaw | ( | size_t | size, |
uint64_t | val, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::FloatConstSingle | ( | float | val, |
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::FloatConstDouble | ( | double | val, |
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::ImportedAddress | ( | size_t | size, |
uint64_t | val, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::ConstData | ( | size_t | size, |
const ConstantData & | data, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::Add | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::AddWithCarry | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
ExprId | carry, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::Sub | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::SubWithBorrow | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
ExprId | carry, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::And | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::Or | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::Xor | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::ShiftLeft | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::LogicalShiftRight | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::ArithShiftRight | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::RotateLeft | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::RotateLeftCarry | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
ExprId | carry, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::RotateRight | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::RotateRightCarry | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
ExprId | carry, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::Mult | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::MultDoublePrecSigned | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::MultDoublePrecUnsigned | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::DivSigned | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::DivUnsigned | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::DivDoublePrecSigned | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::DivDoublePrecUnsigned | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::ModSigned | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::ModUnsigned | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::ModDoublePrecSigned | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::ModDoublePrecUnsigned | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::Neg | ( | size_t | size, |
ExprId | src, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::Not | ( | size_t | size, |
ExprId | src, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::SignExtend | ( | size_t | size, |
ExprId | src, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::ZeroExtend | ( | size_t | size, |
ExprId | src, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::LowPart | ( | size_t | size, |
ExprId | src, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::Call | ( | ExprId | dest, |
const std::vector< ExprId > & | params, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::Syscall | ( | const std::vector< ExprId > & | params, |
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::TailCall | ( | ExprId | dest, |
const std::vector< ExprId > & | params, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::CallSSA | ( | ExprId | dest, |
const std::vector< ExprId > & | params, | ||
size_t | destMemVersion, | ||
size_t | srcMemVersion, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::SyscallSSA | ( | const std::vector< ExprId > & | params, |
size_t | destMemVersion, | ||
size_t | srcMemVersion, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::CompareEqual | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::CompareNotEqual | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::CompareSignedLessThan | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::CompareUnsignedLessThan | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::CompareSignedLessEqual | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::CompareUnsignedLessEqual | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::CompareSignedGreaterEqual | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::CompareUnsignedGreaterEqual | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::CompareSignedGreaterThan | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::CompareUnsignedGreaterThan | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::TestBit | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::BoolToInt | ( | size_t | size, |
ExprId | src, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::AddOverflow | ( | size_t | size, |
ExprId | left, | ||
ExprId | right, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::Breakpoint | ( | const ILSourceLocation & | loc = ILSourceLocation() | ) |
ExprId HighLevelILFunction::Trap | ( | int64_t | vector, |
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::Intrinsic | ( | uint32_t | intrinsic, |
const std::vector< ExprId > & | params, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::IntrinsicSSA | ( | uint32_t | intrinsic, |
const std::vector< ExprId > & | params, | ||
size_t | destMemVersion, | ||
size_t | srcMemVersion, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::Undefined | ( | const ILSourceLocation & | loc = ILSourceLocation() | ) |
ExprId HighLevelILFunction::Unimplemented | ( | const ILSourceLocation & | loc = ILSourceLocation() | ) |
ExprId HighLevelILFunction::UnimplementedMemoryRef | ( | size_t | size, |
ExprId | target, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::FloatAdd | ( | size_t | size, |
ExprId | a, | ||
ExprId | b, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::FloatSub | ( | size_t | size, |
ExprId | a, | ||
ExprId | b, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::FloatMult | ( | size_t | size, |
ExprId | a, | ||
ExprId | b, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::FloatDiv | ( | size_t | size, |
ExprId | a, | ||
ExprId | b, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::FloatSqrt | ( | size_t | size, |
ExprId | a, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::FloatNeg | ( | size_t | size, |
ExprId | a, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::FloatAbs | ( | size_t | size, |
ExprId | a, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::FloatToInt | ( | size_t | size, |
ExprId | a, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::IntToFloat | ( | size_t | size, |
ExprId | a, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::FloatConvert | ( | size_t | size, |
ExprId | a, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::RoundToInt | ( | size_t | size, |
ExprId | a, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::Floor | ( | size_t | size, |
ExprId | a, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::Ceil | ( | size_t | size, |
ExprId | a, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::FloatTrunc | ( | size_t | size, |
ExprId | a, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::FloatCompareEqual | ( | size_t | size, |
ExprId | a, | ||
ExprId | b, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::FloatCompareNotEqual | ( | size_t | size, |
ExprId | a, | ||
ExprId | b, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::FloatCompareLessThan | ( | size_t | size, |
ExprId | a, | ||
ExprId | b, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::FloatCompareLessEqual | ( | size_t | size, |
ExprId | a, | ||
ExprId | b, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::FloatCompareGreaterEqual | ( | size_t | size, |
ExprId | a, | ||
ExprId | b, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::FloatCompareGreaterThan | ( | size_t | size, |
ExprId | a, | ||
ExprId | b, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::FloatCompareOrdered | ( | size_t | size, |
ExprId | a, | ||
ExprId | b, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
ExprId HighLevelILFunction::FloatCompareUnordered | ( | size_t | size, |
ExprId | a, | ||
ExprId | b, | ||
const ILSourceLocation & | loc = ILSourceLocation() ) |
vector< uint64_t > HighLevelILFunction::GetOperandList | ( | ExprId | i, |
size_t | listOperand ) |
ExprId HighLevelILFunction::AddIndexList | ( | const std::vector< size_t > & | operands | ) |
ExprId HighLevelILFunction::AddSSAVariableList | ( | const std::vector< SSAVariable > & | vars | ) |
BNHighLevelILInstruction HighLevelILFunction::GetRawExpr | ( | size_t | i | ) | const |
BNHighLevelILInstruction HighLevelILFunction::GetRawNonASTExpr | ( | size_t | i | ) | const |
HighLevelILInstruction HighLevelILFunction::operator[] | ( | size_t | i | ) |
HighLevelILInstruction HighLevelILFunction::GetInstruction | ( | size_t | i | ) |
HighLevelILInstruction HighLevelILFunction::GetExpr | ( | size_t | i, |
bool | asFullAst = true ) |
size_t HighLevelILFunction::GetIndexForInstruction | ( | size_t | i | ) | const |
size_t HighLevelILFunction::GetInstructionForExpr | ( | size_t | expr | ) | const |
size_t HighLevelILFunction::GetInstructionCount | ( | ) | const |
size_t HighLevelILFunction::GetExprCount | ( | ) | const |
vector< Ref< BasicBlock > > HighLevelILFunction::GetBasicBlocks | ( | ) | const |
Ref< BasicBlock > HighLevelILFunction::GetBasicBlockForInstruction | ( | size_t | i | ) | const |
Ref< HighLevelILFunction > HighLevelILFunction::GetSSAForm | ( | ) | const |
Ref< HighLevelILFunction > HighLevelILFunction::GetNonSSAForm | ( | ) | const |
size_t HighLevelILFunction::GetSSAInstructionIndex | ( | size_t | instr | ) | const |
size_t HighLevelILFunction::GetNonSSAInstructionIndex | ( | size_t | instr | ) | const |
size_t HighLevelILFunction::GetSSAExprIndex | ( | size_t | instr | ) | const |
size_t HighLevelILFunction::GetNonSSAExprIndex | ( | size_t | instr | ) | const |
size_t HighLevelILFunction::GetSSAVarDefinition | ( | const SSAVariable & | var | ) | const |
size_t HighLevelILFunction::GetSSAMemoryDefinition | ( | size_t | version | ) | const |
set< size_t > HighLevelILFunction::GetSSAVarUses | ( | const SSAVariable & | var | ) | const |
set< size_t > HighLevelILFunction::GetSSAMemoryUses | ( | size_t | version | ) | const |
bool HighLevelILFunction::IsSSAVarLive | ( | const SSAVariable & | var | ) | const |
bool HighLevelILFunction::IsSSAVarLiveAt | ( | const SSAVariable & | var, |
const size_t | instr ) const |
bool HighLevelILFunction::IsVarLiveAt | ( | const Variable & | var, |
const size_t | instr ) const |
|
static |
|
static |
set< size_t > HighLevelILFunction::GetVariableSSAVersions | ( | const Variable & | var | ) | const |
set< size_t > HighLevelILFunction::GetVariableDefinitions | ( | const Variable & | var | ) | const |
set< size_t > HighLevelILFunction::GetVariableUses | ( | const Variable & | var | ) | const |
size_t HighLevelILFunction::GetSSAVarVersionAtInstruction | ( | const Variable & | var, |
size_t | instr ) const |
size_t HighLevelILFunction::GetSSAMemoryVersionAtInstruction | ( | size_t | instr | ) | const |
Ref< MediumLevelILFunction > HighLevelILFunction::GetMediumLevelIL | ( | ) | const |
size_t HighLevelILFunction::GetMediumLevelILExprIndex | ( | size_t | expr | ) | const |
set< size_t > HighLevelILFunction::GetMediumLevelILExprIndexes | ( | size_t | expr | ) | const |
void HighLevelILFunction::UpdateInstructionOperand | ( | size_t | i, |
size_t | operandIndex, | ||
ExprId | value ) |
void HighLevelILFunction::ReplaceExpr | ( | size_t | expr, |
size_t | newExpr ) |
void HighLevelILFunction::SetExprAttributes | ( | size_t | expr, |
uint32_t | attributes ) |
void HighLevelILFunction::Finalize | ( | ) |
void HighLevelILFunction::GenerateSSAForm | ( | const std::set< Variable > & | aliases = std::set<Variable>() | ) |
vector< DisassemblyTextLine > HighLevelILFunction::GetExprText | ( | ExprId | expr, |
bool | asFullAst = true, | ||
DisassemblySettings * | settings = nullptr ) |
vector< DisassemblyTextLine > HighLevelILFunction::GetExprText | ( | const HighLevelILInstruction & | instr, |
DisassemblySettings * | settings = nullptr ) |
vector< DisassemblyTextLine > HighLevelILFunction::GetInstructionText | ( | size_t | i, |
DisassemblySettings * | settings = nullptr ) |
Confidence< Ref< Type > > HighLevelILFunction::GetExprType | ( | size_t | expr | ) |
Confidence< Ref< Type > > HighLevelILFunction::GetExprType | ( | const HighLevelILInstruction & | expr | ) |
void HighLevelILFunction::SetExprType | ( | size_t | expr, |
const Confidence< Ref< Type > > & | type ) |
SetExprType sets the type of a given expression.
expr | index of the expression to set |
type | new type of the expression |
void HighLevelILFunction::SetExprType | ( | const HighLevelILInstruction & | expr, |
const Confidence< Ref< Type > > & | type ) |
void HighLevelILFunction::VisitAllExprs | ( | const std::function< bool(const HighLevelILInstruction &expr)> & | func | ) |
Ref< FlowGraph > HighLevelILFunction::CreateFunctionGraph | ( | DisassemblySettings * | settings = nullptr | ) |
size_t HighLevelILFunction::GetExprIndexForLabel | ( | uint64_t | label | ) |
set< size_t > HighLevelILFunction::GetUsesForLabel | ( | uint64_t | label | ) |
set< Variable > HighLevelILFunction::GetVariables | ( | ) |
set< Variable > HighLevelILFunction::GetAliasedVariables | ( | ) |
set< SSAVariable > HighLevelILFunction::GetSSAVariables | ( | ) |
class BinaryNinja::LanguageRepresentationFunction |
LanguageRepresentationFunction represents a single function in a registered high level language.
Public Member Functions | |
LanguageRepresentationFunction (Architecture *arch, Function *func, HighLevelILFunction *highLevelIL) | |
LanguageRepresentationFunction (BNLanguageRepresentationFunction *func) | |
std::vector< DisassemblyTextLine > | GetExprText (const HighLevelILInstruction &instr, DisassemblySettings *settings, BNOperatorPrecedence precedence=TopLevelOperatorPrecedence, bool statement=false) |
Gets the lines of tokens for a given High Level IL instruction. | |
std::vector< DisassemblyTextLine > | GetLinearLines (const HighLevelILInstruction &instr, DisassemblySettings *settings) |
Generates lines for the given High Level IL instruction in the style of the linear view. | |
std::vector< DisassemblyTextLine > | GetBlockLines (BasicBlock *block, DisassemblySettings *settings) |
Generates lines for a single High Level IL basic block. | |
BNHighlightColor | GetHighlight (BasicBlock *block) |
Gets the highlight color for a given basic block. | |
Ref< Architecture > | GetArchitecture () const |
Ref< Function > | GetFunction () const |
Ref< HighLevelILFunction > | GetHighLevelILFunction () const |
virtual std::string | GetCommentStartString () const |
Gets the string representing the start of a comment. | |
virtual std::string | GetCommentEndString () const |
Gets the string representing the end of a comment. | |
virtual std::string | GetAnnotationStartString () const |
Gets the string representing the start of an annotation. | |
virtual std::string | GetAnnotationEndString () const |
Gets the string representing the end of an annotation. | |
Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNLanguageRepresentationFunction, BNNewLanguageRepresentationFunctionReference, BNFreeLanguageRepresentationFunction > | |
CoreRefCountObject () | |
virtual | ~CoreRefCountObject () |
BNLanguageRepresentationFunction * | GetObject () const |
void | AddRef () |
void | Release () |
void | AddRefForRegistration () |
void | ReleaseForRegistration () |
void | AddRefForCallback () |
void | ReleaseForCallback () |
Protected Member Functions | |
virtual void | InitTokenEmitter (HighLevelILTokenEmitter &tokens) |
Override this method to initialize the options for the token emitter before it is used. | |
virtual void | GetExprText (const HighLevelILInstruction &instr, HighLevelILTokenEmitter &tokens, DisassemblySettings *settings, BNOperatorPrecedence precedence=TopLevelOperatorPrecedence, bool statement=false)=0 |
This method must be overridden by all language representation plugins. | |
virtual void | BeginLines (const HighLevelILInstruction &instr, HighLevelILTokenEmitter &tokens) |
This method can be overridden to emit tokens at the start of a function. | |
virtual void | EndLines (const HighLevelILInstruction &instr, HighLevelILTokenEmitter &tokens) |
This method can be overridden to emit tokens at the end of a function. | |
Additional Inherited Members | |
Static Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNLanguageRepresentationFunction, BNNewLanguageRepresentationFunctionReference, BNFreeLanguageRepresentationFunction > | |
static BNLanguageRepresentationFunction * | GetObject (CoreRefCountObject *obj) |
static BNLanguageRepresentationFunction * | GetObject (const CoreRefCountObject *obj) |
Public Attributes inherited from BinaryNinja::CoreRefCountObject< BNLanguageRepresentationFunction, BNNewLanguageRepresentationFunctionReference, BNFreeLanguageRepresentationFunction > | |
std::atomic< int > | m_refs |
bool | m_registeredRef |
BNLanguageRepresentationFunction * | m_object |
LanguageRepresentationFunction::LanguageRepresentationFunction | ( | Architecture * | arch, |
Function * | func, | ||
HighLevelILFunction * | highLevelIL ) |
LanguageRepresentationFunction::LanguageRepresentationFunction | ( | BNLanguageRepresentationFunction * | func | ) |
vector< DisassemblyTextLine > LanguageRepresentationFunction::GetExprText | ( | const HighLevelILInstruction & | instr, |
DisassemblySettings * | settings, | ||
BNOperatorPrecedence | precedence = TopLevelOperatorPrecedence, | ||
bool | statement = false ) |
Gets the lines of tokens for a given High Level IL instruction.
instr | The instruction to emit lines for. |
settings | The settings for disassembly (optional). |
precedence | The current operator precedence level. |
statement | Whether the instruction is a statement or an expression. |
vector< DisassemblyTextLine > LanguageRepresentationFunction::GetLinearLines | ( | const HighLevelILInstruction & | instr, |
DisassemblySettings * | settings ) |
Generates lines for the given High Level IL instruction in the style of the linear view.
To get the lines for the entire function, pass the root instruction of a HighLevelILFunction.
instr | The instruction to emit lines for. |
settings | The settings for disassembly (optional). |
vector< DisassemblyTextLine > LanguageRepresentationFunction::GetBlockLines | ( | BasicBlock * | block, |
DisassemblySettings * | settings ) |
Generates lines for a single High Level IL basic block.
block | The basic block to emit lines for. |
settings | The settings for disassembly (optional). |
BNHighlightColor LanguageRepresentationFunction::GetHighlight | ( | BasicBlock * | block | ) |
Gets the highlight color for a given basic block.
block | The basic block to get the highlight color for. |
Ref< Architecture > LanguageRepresentationFunction::GetArchitecture | ( | ) | const |
Ref< HighLevelILFunction > LanguageRepresentationFunction::GetHighLevelILFunction | ( | ) | const |
|
inlinevirtual |
Gets the string representing the start of a comment.
Reimplemented in BinaryNinja::CoreLanguageRepresentationFunction.
|
inlinevirtual |
Gets the string representing the end of a comment.
Reimplemented in BinaryNinja::CoreLanguageRepresentationFunction.
|
inlinevirtual |
Gets the string representing the start of an annotation.
Reimplemented in BinaryNinja::CoreLanguageRepresentationFunction.
|
inlinevirtual |
Gets the string representing the end of an annotation.
Reimplemented in BinaryNinja::CoreLanguageRepresentationFunction.
|
protectedvirtual |
Override this method to initialize the options for the token emitter before it is used.
tokens | The token emitter to initialize. |
|
protectedpure virtual |
This method must be overridden by all language representation plugins.
This method is called to emit the tokens for a given High Level IL instruction.
instr | The instruction to emit tokens for. |
tokens | The token emitter to use. |
settings | The disassembly settings to use (may be NULL). |
precedence | The current operator precedence level. |
statement | Whether the instruction is a statement or an expression. |
Implemented in BinaryNinja::CoreLanguageRepresentationFunction.
|
protectedvirtual |
This method can be overridden to emit tokens at the start of a function.
instr | The root instruction of the function. |
tokens | The token emitter to use. |
|
protectedvirtual |
This method can be overridden to emit tokens at the end of a function.
instr | The root instruction of the function. |
tokens | The token emitter to use. |
class BinaryNinja::CoreLanguageRepresentationFunction |
Public Member Functions | |
CoreLanguageRepresentationFunction (BNLanguageRepresentationFunction *func) | |
std::string | GetCommentStartString () const override |
Gets the string representing the start of a comment. | |
std::string | GetCommentEndString () const override |
Gets the string representing the end of a comment. | |
std::string | GetAnnotationStartString () const override |
Gets the string representing the start of an annotation. | |
std::string | GetAnnotationEndString () const override |
Gets the string representing the end of an annotation. | |
Public Member Functions inherited from BinaryNinja::LanguageRepresentationFunction | |
LanguageRepresentationFunction (Architecture *arch, Function *func, HighLevelILFunction *highLevelIL) | |
LanguageRepresentationFunction (BNLanguageRepresentationFunction *func) | |
std::vector< DisassemblyTextLine > | GetExprText (const HighLevelILInstruction &instr, DisassemblySettings *settings, BNOperatorPrecedence precedence=TopLevelOperatorPrecedence, bool statement=false) |
Gets the lines of tokens for a given High Level IL instruction. | |
std::vector< DisassemblyTextLine > | GetLinearLines (const HighLevelILInstruction &instr, DisassemblySettings *settings) |
Generates lines for the given High Level IL instruction in the style of the linear view. | |
std::vector< DisassemblyTextLine > | GetBlockLines (BasicBlock *block, DisassemblySettings *settings) |
Generates lines for a single High Level IL basic block. | |
BNHighlightColor | GetHighlight (BasicBlock *block) |
Gets the highlight color for a given basic block. | |
Ref< Architecture > | GetArchitecture () const |
Ref< Function > | GetFunction () const |
Ref< HighLevelILFunction > | GetHighLevelILFunction () const |
Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNLanguageRepresentationFunction, BNNewLanguageRepresentationFunctionReference, BNFreeLanguageRepresentationFunction > | |
CoreRefCountObject () | |
virtual | ~CoreRefCountObject () |
BNLanguageRepresentationFunction * | GetObject () const |
void | AddRef () |
void | Release () |
void | AddRefForRegistration () |
void | ReleaseForRegistration () |
void | AddRefForCallback () |
void | ReleaseForCallback () |
Protected Member Functions | |
void | GetExprText (const HighLevelILInstruction &instr, HighLevelILTokenEmitter &tokens, DisassemblySettings *settings, BNOperatorPrecedence precedence=TopLevelOperatorPrecedence, bool statement=false) override |
This method must be overridden by all language representation plugins. | |
Protected Member Functions inherited from BinaryNinja::LanguageRepresentationFunction | |
virtual void | InitTokenEmitter (HighLevelILTokenEmitter &tokens) |
Override this method to initialize the options for the token emitter before it is used. | |
virtual void | BeginLines (const HighLevelILInstruction &instr, HighLevelILTokenEmitter &tokens) |
This method can be overridden to emit tokens at the start of a function. | |
virtual void | EndLines (const HighLevelILInstruction &instr, HighLevelILTokenEmitter &tokens) |
This method can be overridden to emit tokens at the end of a function. | |
Additional Inherited Members | |
Static Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNLanguageRepresentationFunction, BNNewLanguageRepresentationFunctionReference, BNFreeLanguageRepresentationFunction > | |
static BNLanguageRepresentationFunction * | GetObject (CoreRefCountObject *obj) |
static BNLanguageRepresentationFunction * | GetObject (const CoreRefCountObject *obj) |
Public Attributes inherited from BinaryNinja::CoreRefCountObject< BNLanguageRepresentationFunction, BNNewLanguageRepresentationFunctionReference, BNFreeLanguageRepresentationFunction > | |
std::atomic< int > | m_refs |
bool | m_registeredRef |
BNLanguageRepresentationFunction * | m_object |
CoreLanguageRepresentationFunction::CoreLanguageRepresentationFunction | ( | BNLanguageRepresentationFunction * | func | ) |
|
overridevirtual |
Gets the string representing the start of a comment.
Reimplemented from BinaryNinja::LanguageRepresentationFunction.
|
overridevirtual |
Gets the string representing the end of a comment.
Reimplemented from BinaryNinja::LanguageRepresentationFunction.
|
overridevirtual |
Gets the string representing the start of an annotation.
Reimplemented from BinaryNinja::LanguageRepresentationFunction.
|
overridevirtual |
Gets the string representing the end of an annotation.
Reimplemented from BinaryNinja::LanguageRepresentationFunction.
|
overrideprotectedvirtual |
This method must be overridden by all language representation plugins.
This method is called to emit the tokens for a given High Level IL instruction.
instr | The instruction to emit tokens for. |
tokens | The token emitter to use. |
settings | The disassembly settings to use (may be NULL). |
precedence | The current operator precedence level. |
statement | Whether the instruction is a statement or an expression. |
Implements BinaryNinja::LanguageRepresentationFunction.
class BinaryNinja::LanguageRepresentationFunctionType |
LanguageRepresentationFunctionType represents a custom language representation function type.
This class provides methods to create LanguageRepresentationFunction instances for functions, as well as manage the printing and parsing of types.
Public Member Functions | |
LanguageRepresentationFunctionType (const std::string &name) | |
LanguageRepresentationFunctionType (BNLanguageRepresentationFunctionType *type) | |
std::string | GetName () const |
virtual Ref< LanguageRepresentationFunction > | Create (Architecture *arch, Function *owner, HighLevelILFunction *highLevelIL)=0 |
This method must be overridden. | |
virtual bool | IsValid (BinaryView *view) |
Returns whether the language is valid for the given binary view. | |
virtual Ref< TypePrinter > | GetTypePrinter () |
Returns the type printer for displaying types in this language. | |
virtual Ref< TypeParser > | GetTypeParser () |
Returns the type parser for parsing types in this language. | |
virtual std::vector< DisassemblyTextLine > | GetFunctionTypeTokens (Function *func, DisassemblySettings *settings=nullptr) |
Returns a list of lines representing a function prototype in this language. | |
Public Member Functions inherited from BinaryNinja::StaticCoreRefCountObject< BNLanguageRepresentationFunctionType > | |
StaticCoreRefCountObject () | |
virtual | ~StaticCoreRefCountObject () |
BNLanguageRepresentationFunctionType * | GetObject () const |
void | AddRef () |
void | Release () |
void | AddRefForRegistration () |
void | AddRefForCallback () |
void | ReleaseForCallback () |
Static Public Member Functions | |
static void | Register (LanguageRepresentationFunctionType *type) |
Registers the language representation function type. | |
static Ref< LanguageRepresentationFunctionType > | GetByName (const std::string &name) |
static bool | IsValidByName (const std::string &name, BinaryView *view) |
static std::vector< Ref< LanguageRepresentationFunctionType > > | GetTypes () |
Static Public Member Functions inherited from BinaryNinja::StaticCoreRefCountObject< BNLanguageRepresentationFunctionType > | |
static BNLanguageRepresentationFunctionType * | GetObject (StaticCoreRefCountObject *obj) |
Additional Inherited Members | |
Public Attributes inherited from BinaryNinja::StaticCoreRefCountObject< BNLanguageRepresentationFunctionType > | |
std::atomic< int > | m_refs |
BNLanguageRepresentationFunctionType * | m_object |
LanguageRepresentationFunctionType::LanguageRepresentationFunctionType | ( | const std::string & | name | ) |
LanguageRepresentationFunctionType::LanguageRepresentationFunctionType | ( | BNLanguageRepresentationFunctionType * | type | ) |
string LanguageRepresentationFunctionType::GetName | ( | ) | const |
|
pure virtual |
This method must be overridden.
This creates the LanguageRepresentationFunction object for the given architecture, owner function, and High Level IL function.
arch | The architecture of the function. |
owner | The associated function. |
highLevelIL | The High Level IL for the function. |
Implemented in BinaryNinja::CoreLanguageRepresentationFunctionType.
|
virtual |
Returns whether the language is valid for the given binary view.
view | The binary view to check the validity for. |
Reimplemented in BinaryNinja::CoreLanguageRepresentationFunctionType.
|
inlinevirtual |
Returns the type printer for displaying types in this language.
If NULL is returned, the default type printer will be used.
Reimplemented in BinaryNinja::CoreLanguageRepresentationFunctionType.
|
inlinevirtual |
Returns the type parser for parsing types in this language.
If NULL is returned, the default type parser will be used.
Reimplemented in BinaryNinja::CoreLanguageRepresentationFunctionType.
|
virtual |
Returns a list of lines representing a function prototype in this language.
If no lines are returned, the default C-style prototype will be used.
func | The function to get the prototype lines for. |
settings | The disassembly settings to use (may be NULL). |
Reimplemented in BinaryNinja::CoreLanguageRepresentationFunctionType.
|
static |
Registers the language representation function type.
type | The language representation function type to register. |
|
static |
|
static |
|
static |
class BinaryNinja::HighLevelILTokenEmitter |
HighLevelILTokenEmitter contains methods for emitting text tokens for High Level IL instructions.
Methods are provided for typical patterns found in various high level languages.
This class cannot be instantiated directly. An instance of the class will be provided when the methods in LanguageRepresentationFunction are called.
Public Member Functions | |
HighLevelILTokenEmitter (BNHighLevelILTokenEmitter *emitter) | |
template<typename... Args> | |
void | Append (Args &&... args) |
Appends a token to the output. | |
void | PrependCollapseIndicator () |
void | PrependCollapseIndicator (Ref< Function > function, const HighLevelILInstruction &instr, uint64_t designator=0) |
void | PrependCollapseIndicator (BNInstructionTextTokenContext context, uint64_t hash) |
bool | HasCollapsableRegions () |
void | SetHasCollapsableRegions (bool state) |
void | InitLine () |
Starts a new line in the output. | |
void | NewLine () |
Starts a new line in the output. | |
void | IncreaseIndent () |
Increases the indentation level by one. | |
void | DecreaseIndent () |
Decreases the indentation level by one. | |
void | ScopeSeparator () |
Indicates that visual separation of scopes is desirable at the current position. | |
void | BeginScope (BNScopeType scopeType) |
Begins a new scope. | |
void | EndScope (BNScopeType scopeType) |
Ends the current scope. | |
void | ScopeContinuation (bool forceSameLine) |
Continues the previous scope with a new associated scope. | |
void | FinalizeScope () |
Finalizes the previous scope, indicating that there are no more associated scopes. | |
void | NoIndentForThisLine () |
Forces there to be no indentation for the next line. | |
void | BeginForceZeroConfidence () |
Begins a region of tokens that always have zero confidence. | |
void | EndForceZeroConfidence () |
Ends a region of tokens that always have zero confidence. | |
CurrentExprGuard | SetCurrentExpr (const HighLevelILInstruction &expr) |
Sets the current expression. | |
void | Finalize () |
Finalizes the outputted lines. | |
void | AppendOpenParen () |
void | AppendCloseParen () |
void | AppendOpenBracket () |
void | AppendCloseBracket () |
void | AppendOpenBrace () |
void | AppendCloseBrace () |
void | AppendSemicolon () |
std::vector< InstructionTextToken > | GetCurrentTokens () const |
Returns the list of tokens on the current line. | |
void | SetBraceRequirement (BNBraceRequirement required) |
Sets the requirement for insertion of braces around scopes in the output. | |
void | SetBracesAroundSwitchCases (bool braces) |
Sets whether cases within switch statements should always have braces around them. | |
void | SetDefaultBracesOnSameLine (bool sameLine) |
Sets whether braces should default to being on the same line as the statement that begins the scope. | |
void | SetSimpleScopeAllowed (bool allowed) |
Sets whether omitting braces around single-line scopes is allowed. | |
BNBraceRequirement | GetBraceRequirement () const |
bool | HasBracesAroundSwitchCases () const |
bool | GetDefaultBracesOnSameLine () const |
bool | IsSimpleScopeAllowed () const |
std::vector< DisassemblyTextLine > | GetLines () const |
Gets the list of lines in the output. | |
void | AppendSizeToken (size_t size, BNInstructionTextTokenType type) |
Appends a size token for the given size in the High Level IL syntax. | |
void | AppendFloatSizeToken (size_t size, BNInstructionTextTokenType type) |
Appends a floating point size token for the given size in the High Level IL syntax. | |
void | AppendVarTextToken (const Variable &var, const HighLevelILInstruction &instr, size_t size) |
Appends tokens for access to a variable. | |
void | AppendIntegerTextToken (const HighLevelILInstruction &instr, int64_t val, size_t size) |
Appends tokens for a constant intenger value. | |
void | AppendArrayIndexToken (const HighLevelILInstruction &instr, int64_t val, size_t size, uint64_t address=0) |
Appends tokens for accessing an array by constant index. | |
BNSymbolDisplayResult | AppendPointerTextToken (const HighLevelILInstruction &instr, int64_t val, DisassemblySettings *settings, BNSymbolDisplayType symbolDisplay, BNOperatorPrecedence precedence, bool allowShortString=false) |
Appends tokens for displaying a constant pointer value. | |
void | AppendConstantTextToken (const HighLevelILInstruction &instr, int64_t val, size_t size, DisassemblySettings *settings, BNOperatorPrecedence precedence) |
Appends tokens for a constant value. | |
Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNHighLevelILTokenEmitter, BNNewHighLevelILTokenEmitterReference, BNFreeHighLevelILTokenEmitter > | |
CoreRefCountObject () | |
virtual | ~CoreRefCountObject () |
BNHighLevelILTokenEmitter * | GetObject () const |
void | AddRef () |
void | Release () |
void | AddRefForRegistration () |
void | ReleaseForRegistration () |
void | AddRefForCallback () |
void | ReleaseForCallback () |
Static Public Member Functions | |
static void | AddNamesForOuterStructureMembers (BinaryView *data, Type *type, const HighLevelILInstruction &var, std::vector< std::string > &nameList) |
Prepends the list of names for the outer structure members when accessing a structure member. | |
Static Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNHighLevelILTokenEmitter, BNNewHighLevelILTokenEmitterReference, BNFreeHighLevelILTokenEmitter > | |
static BNHighLevelILTokenEmitter * | GetObject (CoreRefCountObject *obj) |
static BNHighLevelILTokenEmitter * | GetObject (const CoreRefCountObject *obj) |
Additional Inherited Members | |
Public Attributes inherited from BinaryNinja::CoreRefCountObject< BNHighLevelILTokenEmitter, BNNewHighLevelILTokenEmitterReference, BNFreeHighLevelILTokenEmitter > | |
std::atomic< int > | m_refs |
bool | m_registeredRef |
BNHighLevelILTokenEmitter * | m_object |
HighLevelILTokenEmitter::HighLevelILTokenEmitter | ( | BNHighLevelILTokenEmitter * | emitter | ) |
|
inline |
Appends a token to the output.
void HighLevelILTokenEmitter::PrependCollapseIndicator | ( | ) |
void HighLevelILTokenEmitter::PrependCollapseIndicator | ( | Ref< Function > | function, |
const HighLevelILInstruction & | instr, | ||
uint64_t | designator = 0 ) |
void HighLevelILTokenEmitter::PrependCollapseIndicator | ( | BNInstructionTextTokenContext | context, |
uint64_t | hash ) |
bool HighLevelILTokenEmitter::HasCollapsableRegions | ( | ) |
void HighLevelILTokenEmitter::SetHasCollapsableRegions | ( | bool | state | ) |
void HighLevelILTokenEmitter::InitLine | ( | ) |
Starts a new line in the output.
void HighLevelILTokenEmitter::NewLine | ( | ) |
Starts a new line in the output.
void HighLevelILTokenEmitter::IncreaseIndent | ( | ) |
Increases the indentation level by one.
void HighLevelILTokenEmitter::DecreaseIndent | ( | ) |
Decreases the indentation level by one.
void HighLevelILTokenEmitter::ScopeSeparator | ( | ) |
Indicates that visual separation of scopes is desirable at the current position.
By default, this will insert a blank line, but this can be configured by the user.
void HighLevelILTokenEmitter::BeginScope | ( | BNScopeType | scopeType | ) |
Begins a new scope.
Insertion of newlines and braces will be handled using the current settings.
scopeType | Type of scope to be started. |
void HighLevelILTokenEmitter::EndScope | ( | BNScopeType | scopeType | ) |
Ends the current scope.
scopeType | Type of scope passed to BeginScope. |
void HighLevelILTokenEmitter::ScopeContinuation | ( | bool | forceSameLine | ) |
Continues the previous scope with a new associated scope.
This is most commonly used for else statements.
forceSameLine | If true, the continuation will always be placed on the same line as the previous scope. |
void HighLevelILTokenEmitter::FinalizeScope | ( | ) |
Finalizes the previous scope, indicating that there are no more associated scopes.
void HighLevelILTokenEmitter::NoIndentForThisLine | ( | ) |
Forces there to be no indentation for the next line.
void HighLevelILTokenEmitter::BeginForceZeroConfidence | ( | ) |
Begins a region of tokens that always have zero confidence.
void HighLevelILTokenEmitter::EndForceZeroConfidence | ( | ) |
Ends a region of tokens that always have zero confidence.
HighLevelILTokenEmitter::CurrentExprGuard HighLevelILTokenEmitter::SetCurrentExpr | ( | const HighLevelILInstruction & | expr | ) |
Sets the current expression.
When the returned guard object goes out of scope, the previously set expression becomes active again.
expr | Expression to set as the current expression. |
void HighLevelILTokenEmitter::Finalize | ( | ) |
Finalizes the outputted lines.
void HighLevelILTokenEmitter::AppendOpenParen | ( | ) |
void HighLevelILTokenEmitter::AppendCloseParen | ( | ) |
void HighLevelILTokenEmitter::AppendOpenBracket | ( | ) |
void HighLevelILTokenEmitter::AppendCloseBracket | ( | ) |
void HighLevelILTokenEmitter::AppendOpenBrace | ( | ) |
void HighLevelILTokenEmitter::AppendCloseBrace | ( | ) |
void HighLevelILTokenEmitter::AppendSemicolon | ( | ) |
vector< InstructionTextToken > HighLevelILTokenEmitter::GetCurrentTokens | ( | ) | const |
Returns the list of tokens on the current line.
void HighLevelILTokenEmitter::SetBraceRequirement | ( | BNBraceRequirement | required | ) |
Sets the requirement for insertion of braces around scopes in the output.
void HighLevelILTokenEmitter::SetBracesAroundSwitchCases | ( | bool | braces | ) |
Sets whether cases within switch statements should always have braces around them.
void HighLevelILTokenEmitter::SetDefaultBracesOnSameLine | ( | bool | sameLine | ) |
Sets whether braces should default to being on the same line as the statement that begins the scope.
If the user has explicitly set a preference, this setting will be ignored and the user's preference will be used instead.
void HighLevelILTokenEmitter::SetSimpleScopeAllowed | ( | bool | allowed | ) |
Sets whether omitting braces around single-line scopes is allowed.
BNBraceRequirement HighLevelILTokenEmitter::GetBraceRequirement | ( | ) | const |
bool HighLevelILTokenEmitter::HasBracesAroundSwitchCases | ( | ) | const |
bool HighLevelILTokenEmitter::GetDefaultBracesOnSameLine | ( | ) | const |
bool HighLevelILTokenEmitter::IsSimpleScopeAllowed | ( | ) | const |
vector< DisassemblyTextLine > HighLevelILTokenEmitter::GetLines | ( | ) | const |
Gets the list of lines in the output.
void HighLevelILTokenEmitter::AppendSizeToken | ( | size_t | size, |
BNInstructionTextTokenType | type ) |
Appends a size token for the given size in the High Level IL syntax.
size | Size in bytes. |
type | Token type to append. |
void HighLevelILTokenEmitter::AppendFloatSizeToken | ( | size_t | size, |
BNInstructionTextTokenType | type ) |
Appends a floating point size token for the given size in the High Level IL syntax.
size | Size in bytes. |
type | Token type to append. |
void HighLevelILTokenEmitter::AppendVarTextToken | ( | const Variable & | var, |
const HighLevelILInstruction & | instr, | ||
size_t | size ) |
Appends tokens for access to a variable.
var | Variable to access. |
instr | Instruction that accesses the variable. |
size | Size in bytes. |
void HighLevelILTokenEmitter::AppendIntegerTextToken | ( | const HighLevelILInstruction & | instr, |
int64_t | val, | ||
size_t | size ) |
Appends tokens for a constant intenger value.
instr | Instruction that references the value. |
val | Integer value. |
size | Size in bytes. |
void HighLevelILTokenEmitter::AppendArrayIndexToken | ( | const HighLevelILInstruction & | instr, |
int64_t | val, | ||
size_t | size, | ||
uint64_t | address = 0 ) |
Appends tokens for accessing an array by constant index.
instr | Instruction that accesses the array. |
val | Index value. |
size | Size in bytes. |
address | Optional address override. |
BNSymbolDisplayResult HighLevelILTokenEmitter::AppendPointerTextToken | ( | const HighLevelILInstruction & | instr, |
int64_t | val, | ||
DisassemblySettings * | settings, | ||
BNSymbolDisplayType | symbolDisplay, | ||
BNOperatorPrecedence | precedence, | ||
bool | allowShortString = false ) |
Appends tokens for displaying a constant pointer value.
instr | Instruction that references the pointer. |
val | Pointer value. |
settings | Settings for disassembly (may be NULL). |
symbolDisplay | Symbol display type. |
precedence | Current operator precedence level. |
allowShortString | If true, show as a string even if it is short. |
void HighLevelILTokenEmitter::AppendConstantTextToken | ( | const HighLevelILInstruction & | instr, |
int64_t | val, | ||
size_t | size, | ||
DisassemblySettings * | settings, | ||
BNOperatorPrecedence | precedence ) |
Appends tokens for a constant value.
instr | Instruction that references the value. |
val | Constant value. |
size | Size in bytes. |
settings | Settings for disassembly (may be NULL). |
precedence | Current operator precedence level. |
|
static |
Prepends the list of names for the outer structure members when accessing a structure member.
This list can be passed as the list of type names in tokens.
class BinaryNinja::HighLevelILTokenEmitter::CurrentExprGuard |
Public Member Functions | |
CurrentExprGuard (HighLevelILTokenEmitter &parent, const BNTokenEmitterExpr &expr) | |
~CurrentExprGuard () | |
HighLevelILTokenEmitter::CurrentExprGuard::CurrentExprGuard | ( | HighLevelILTokenEmitter & | parent, |
const BNTokenEmitterExpr & | expr ) |
HighLevelILTokenEmitter::CurrentExprGuard::~CurrentExprGuard | ( | ) |
class BinaryNinja::HighLevelILInstructionAccessException |
Public Member Functions | |
HighLevelILInstructionAccessException () | |
Public Member Functions inherited from BinaryNinja::ExceptionWithStackTrace | |
ExceptionWithStackTrace (const std::string &message) | |
ExceptionWithStackTrace (std::exception_ptr exc1, std::exception_ptr exc2) | |
const char * | what () const noexcept override |
Additional Inherited Members | |
Public Attributes inherited from BinaryNinja::ExceptionWithStackTrace | |
std::string | m_originalMessage |
std::string | m_message |
std::string | m_stackTrace |
|
inline |
class BinaryNinja::HighLevelILIntegerList |
Public Types | |
typedef ListIterator | const_iterator |
Public Member Functions | |
HighLevelILIntegerList (HighLevelILFunction *func, const BNHighLevelILInstruction &instr, size_t count) | |
const_iterator | begin () const |
const_iterator | end () const |
size_t | size () const |
uint64_t | operator[] (size_t i) const |
operator std::vector< uint64_t > () const | |
ListIterator BinaryNinja::HighLevelILIntegerList::const_iterator |
HighLevelILIntegerList::HighLevelILIntegerList | ( | HighLevelILFunction * | func, |
const BNHighLevelILInstruction & | instr, | ||
size_t | count ) |
HighLevelILIntegerList::const_iterator HighLevelILIntegerList::begin | ( | ) | const |
HighLevelILIntegerList::const_iterator HighLevelILIntegerList::end | ( | ) | const |
size_t HighLevelILIntegerList::size | ( | ) | const |
uint64_t HighLevelILIntegerList::operator[] | ( | size_t | i | ) | const |
BinaryNinja::HighLevelILIntegerList::operator std::vector< uint64_t > | ( | ) | const |
class BinaryNinja::HighLevelILIndexList |
Public Types | |
typedef ListIterator | const_iterator |
Public Member Functions | |
HighLevelILIndexList (HighLevelILFunction *func, const BNHighLevelILInstruction &instr, size_t count) | |
const_iterator | begin () const |
const_iterator | end () const |
size_t | size () const |
size_t | operator[] (size_t i) const |
operator std::vector< size_t > () const | |
ListIterator BinaryNinja::HighLevelILIndexList::const_iterator |
HighLevelILIndexList::HighLevelILIndexList | ( | HighLevelILFunction * | func, |
const BNHighLevelILInstruction & | instr, | ||
size_t | count ) |
HighLevelILIndexList::const_iterator HighLevelILIndexList::begin | ( | ) | const |
HighLevelILIndexList::const_iterator HighLevelILIndexList::end | ( | ) | const |
size_t HighLevelILIndexList::size | ( | ) | const |
size_t HighLevelILIndexList::operator[] | ( | size_t | i | ) | const |
BinaryNinja::HighLevelILIndexList::operator std::vector< size_t > | ( | ) | const |
class BinaryNinja::HighLevelILInstructionList |
Public Types | |
typedef ListIterator | const_iterator |
Public Member Functions | |
HighLevelILInstructionList (HighLevelILFunction *func, const BNHighLevelILInstruction &instr, size_t count, bool asFullAst, size_t instructionIndex) | |
const_iterator | begin () const |
const_iterator | end () const |
size_t | size () const |
const HighLevelILInstruction | operator[] (size_t i) const |
operator std::vector< HighLevelILInstruction > () const | |
HighLevelILInstructionList::HighLevelILInstructionList | ( | HighLevelILFunction * | func, |
const BNHighLevelILInstruction & | instr, | ||
size_t | count, | ||
bool | asFullAst, | ||
size_t | instructionIndex ) |
HighLevelILInstructionList::const_iterator HighLevelILInstructionList::begin | ( | ) | const |
HighLevelILInstructionList::const_iterator HighLevelILInstructionList::end | ( | ) | const |
size_t HighLevelILInstructionList::size | ( | ) | const |
const HighLevelILInstruction HighLevelILInstructionList::operator[] | ( | size_t | i | ) | const |
BinaryNinja::HighLevelILInstructionList::operator std::vector< HighLevelILInstruction > | ( | ) | const |
class BinaryNinja::HighLevelILSSAVariableList |
Public Types | |
typedef ListIterator | const_iterator |
Public Member Functions | |
HighLevelILSSAVariableList (HighLevelILFunction *func, const BNHighLevelILInstruction &instr, size_t count) | |
const_iterator | begin () const |
const_iterator | end () const |
size_t | size () const |
const SSAVariable | operator[] (size_t i) const |
operator std::vector< SSAVariable > () const | |
HighLevelILSSAVariableList::HighLevelILSSAVariableList | ( | HighLevelILFunction * | func, |
const BNHighLevelILInstruction & | instr, | ||
size_t | count ) |
HighLevelILSSAVariableList::const_iterator HighLevelILSSAVariableList::begin | ( | ) | const |
HighLevelILSSAVariableList::const_iterator HighLevelILSSAVariableList::end | ( | ) | const |
size_t HighLevelILSSAVariableList::size | ( | ) | const |
const SSAVariable HighLevelILSSAVariableList::operator[] | ( | size_t | i | ) | const |
BinaryNinja::HighLevelILSSAVariableList::operator std::vector< SSAVariable > | ( | ) | const |
struct BinaryNinja::HighLevelILInstructionBase |
HighLevelILOperandList HighLevelILInstructionBase::GetOperands | ( | ) | const |
uint64_t HighLevelILInstructionBase::GetRawOperandAsInteger | ( | size_t | operand | ) | const |
ConstantData HighLevelILInstructionBase::GetRawOperandAsConstantData | ( | size_t | operand | ) | const |
size_t HighLevelILInstructionBase::GetRawOperandAsIndex | ( | size_t | operand | ) | const |
HighLevelILInstruction HighLevelILInstructionBase::GetRawOperandAsExpr | ( | size_t | operand | ) | const |
Variable HighLevelILInstructionBase::GetRawOperandAsVariable | ( | size_t | operand | ) | const |
SSAVariable HighLevelILInstructionBase::GetRawOperandAsSSAVariable | ( | size_t | operand | ) | const |
HighLevelILInstructionList HighLevelILInstructionBase::GetRawOperandAsExprList | ( | size_t | operand | ) | const |
HighLevelILSSAVariableList HighLevelILInstructionBase::GetRawOperandAsSSAVariableList | ( | size_t | operand | ) | const |
HighLevelILIndexList HighLevelILInstructionBase::GetRawOperandAsIndexList | ( | size_t | operand | ) | const |
void HighLevelILInstructionBase::UpdateRawOperand | ( | size_t | operandIndex, |
ExprId | value ) |
void HighLevelILInstructionBase::UpdateRawOperandAsInteger | ( | size_t | operandIndex, |
uint64_t | value ) |
void HighLevelILInstructionBase::UpdateRawOperandAsSSAVariableList | ( | size_t | operandIndex, |
const std::vector< SSAVariable > & | vars ) |
void BinaryNinja::HighLevelILInstructionBase::UpdateRawOperandAsExprList | ( | size_t | operandIndex, |
const std::vector< HighLevelILInstruction > & | exprs ) |
void BinaryNinja::HighLevelILInstructionBase::UpdateRawOperandAsExprList | ( | size_t | operandIndex, |
const std::vector< size_t > & | exprs ) |
RegisterValue HighLevelILInstructionBase::GetValue | ( | ) | const |
PossibleValueSet HighLevelILInstructionBase::GetPossibleValues | ( | const std::set< BNDataFlowQueryOption > & | options = std::set <BNDataFlowQueryOption>() | ) | const |
Confidence< Ref< Type > > HighLevelILInstructionBase::GetType | ( | ) | const |
size_t HighLevelILInstructionBase::GetSSAExprIndex | ( | ) | const |
size_t HighLevelILInstructionBase::GetNonSSAExprIndex | ( | ) | const |
HighLevelILInstruction HighLevelILInstructionBase::GetSSAForm | ( | ) | const |
HighLevelILInstruction HighLevelILInstructionBase::GetNonSSAForm | ( | ) | const |
size_t HighLevelILInstructionBase::GetMediumLevelILExprIndex | ( | ) | const |
bool HighLevelILInstructionBase::HasMediumLevelIL | ( | ) | const |
MediumLevelILInstruction HighLevelILInstructionBase::GetMediumLevelIL | ( | ) | const |
MediumLevelILInstruction HighLevelILInstructionBase::GetMediumLevelILSSAForm | ( | ) | const |
char * HighLevelILInstructionBase::Dump | ( | ) | const |
void HighLevelILInstructionBase::Replace | ( | ExprId | expr | ) |
void HighLevelILInstructionBase::SetAttributes | ( | uint32_t | attributes | ) |
void HighLevelILInstructionBase::SetAttribute | ( | BNILInstructionAttribute | attribute, |
bool | state = true ) |
void HighLevelILInstructionBase::ClearAttribute | ( | BNILInstructionAttribute | attribute | ) |
size_t HighLevelILInstructionBase::GetInstructionIndex | ( | ) | const |
HighLevelILInstruction HighLevelILInstructionBase::GetInstruction | ( | ) | const |
HighLevelILInstruction HighLevelILInstructionBase::AsAST | ( | ) | const |
HighLevelILInstruction HighLevelILInstructionBase::AsNonAST | ( | ) | const |
bool HighLevelILInstructionBase::HasParent | ( | ) | const |
HighLevelILInstruction HighLevelILInstructionBase::GetParent | ( | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Ref<HighLevelILFunction> BinaryNinja::HighLevelILInstructionBase::function = nullptr |
size_t BinaryNinja::HighLevelILInstructionBase::exprIndex |
size_t BinaryNinja::HighLevelILInstructionBase::instructionIndex |
bool BinaryNinja::HighLevelILInstructionBase::ast |
|
static |
|
static |
|
static |
struct BinaryNinja::HighLevelILInstruction |
Additional Inherited Members | |
Public Attributes inherited from BinaryNinja::HighLevelILInstructionBase | |
Ref< HighLevelILFunction > | function = nullptr |
size_t | exprIndex |
size_t | instructionIndex |
bool | ast |
Public Attributes inherited from BNHighLevelILInstruction | |
BNHighLevelILOperation | operation |
uint32_t | attributes |
uint32_t | sourceOperand |
size_t | size |
uint64_t | operands [5] |
uint64_t | address |
size_t | parent |
Static Public Attributes inherited from BinaryNinja::HighLevelILInstructionBase | |
static std::unordered_map< HighLevelILOperandUsage, HighLevelILOperandType > | operandTypeForUsage |
static std::unordered_map< BNHighLevelILOperation, std::vector< HighLevelILOperandUsage > > | operationOperandUsage |
static std::unordered_map< BNHighLevelILOperation, std::unordered_map< HighLevelILOperandUsage, size_t > > | operationOperandIndex = GetOperandIndexForOperandUsages() |
HighLevelILInstruction::HighLevelILInstruction | ( | ) |
HighLevelILInstruction::HighLevelILInstruction | ( | HighLevelILFunction * | func, |
const BNHighLevelILInstruction & | instr, | ||
size_t | expr, | ||
bool | asFullAst, | ||
size_t | instructionIndex ) |
HighLevelILInstruction::HighLevelILInstruction | ( | const HighLevelILInstructionBase & | instr | ) |
void HighLevelILInstruction::CollectSubExprs | ( | std::stack< size_t > & | toProcess | ) | const |
void HighLevelILInstruction::VisitExprs | ( | const std::function< bool(const HighLevelILInstruction &expr)> & | func | ) | const |
void HighLevelILInstruction::VisitExprs | ( | const std::function< bool(const HighLevelILInstruction &expr)> & | preFunc, |
const std::function< void(const HighLevelILInstruction &expr)> & | postFunc ) const |
ExprId HighLevelILInstruction::CopyTo | ( | HighLevelILFunction * | dest | ) | const |
ExprId HighLevelILInstruction::CopyTo | ( | HighLevelILFunction * | dest, |
const std::function< ExprId(const HighLevelILInstruction &subExpr)> & | subExprHandler ) const |
bool HighLevelILInstruction::operator< | ( | const HighLevelILInstruction & | other | ) | const |
bool HighLevelILInstruction::operator== | ( | const HighLevelILInstruction & | other | ) | const |
bool HighLevelILInstruction::operator!= | ( | const HighLevelILInstruction & | other | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
bool HighLevelILInstruction::GetOperandIndexForUsage | ( | HighLevelILOperandUsage | usage, |
size_t & | operandIndex ) const |
HighLevelILInstruction HighLevelILInstruction::GetSourceExpr | ( | ) | const |
Variable HighLevelILInstruction::GetVariable | ( | ) | const |
Variable HighLevelILInstruction::GetDestVariable | ( | ) | const |
SSAVariable HighLevelILInstruction::GetSSAVariable | ( | ) | const |
SSAVariable HighLevelILInstruction::GetDestSSAVariable | ( | ) | const |
HighLevelILInstruction HighLevelILInstruction::GetDestExpr | ( | ) | const |
HighLevelILInstruction HighLevelILInstruction::GetLeftExpr | ( | ) | const |
HighLevelILInstruction HighLevelILInstruction::GetRightExpr | ( | ) | const |
HighLevelILInstruction HighLevelILInstruction::GetCarryExpr | ( | ) | const |
HighLevelILInstruction HighLevelILInstruction::GetIndexExpr | ( | ) | const |
HighLevelILInstruction HighLevelILInstruction::GetConditionExpr | ( | ) | const |
HighLevelILInstruction HighLevelILInstruction::GetConditionPhiExpr | ( | ) | const |
HighLevelILInstruction HighLevelILInstruction::GetTrueExpr | ( | ) | const |
HighLevelILInstruction HighLevelILInstruction::GetFalseExpr | ( | ) | const |
HighLevelILInstruction HighLevelILInstruction::GetLoopExpr | ( | ) | const |
HighLevelILInstruction HighLevelILInstruction::GetInitExpr | ( | ) | const |
HighLevelILInstruction HighLevelILInstruction::GetUpdateExpr | ( | ) | const |
HighLevelILInstruction HighLevelILInstruction::GetDefaultExpr | ( | ) | const |
HighLevelILInstruction HighLevelILInstruction::GetHighExpr | ( | ) | const |
HighLevelILInstruction HighLevelILInstruction::GetLowExpr | ( | ) | const |
uint64_t HighLevelILInstruction::GetOffset | ( | ) | const |
size_t HighLevelILInstruction::GetMemberIndex | ( | ) | const |
int64_t HighLevelILInstruction::GetConstant | ( | ) | const |
ConstantData HighLevelILInstruction::GetConstantData | ( | ) | const |
int64_t HighLevelILInstruction::GetVector | ( | ) | const |
uint32_t HighLevelILInstruction::GetIntrinsic | ( | ) | const |
uint64_t HighLevelILInstruction::GetTarget | ( | ) | const |
HighLevelILInstructionList HighLevelILInstruction::GetParameterExprs | ( | ) | const |
HighLevelILInstructionList HighLevelILInstruction::GetSourceExprs | ( | ) | const |
HighLevelILInstructionList HighLevelILInstruction::GetDestExprs | ( | ) | const |
HighLevelILInstructionList HighLevelILInstruction::GetBlockExprs | ( | ) | const |
HighLevelILInstructionList HighLevelILInstruction::GetCases | ( | ) | const |
HighLevelILInstructionList HighLevelILInstruction::GetValueExprs | ( | ) | const |
HighLevelILSSAVariableList HighLevelILInstruction::GetSourceSSAVariables | ( | ) | const |
size_t HighLevelILInstruction::GetSourceMemoryVersion | ( | ) | const |
HighLevelILIndexList HighLevelILInstruction::GetSourceMemoryVersions | ( | ) | const |
size_t HighLevelILInstruction::GetDestMemoryVersion | ( | ) | const |
|
static |
class BinaryNinja::HighLevelILOperand |
Public Member Functions | |
HighLevelILOperand (const HighLevelILInstruction &instr, HighLevelILOperandUsage usage, size_t operandIndex) | |
HighLevelILOperandType | GetType () const |
HighLevelILOperandUsage | GetUsage () const |
uint64_t | GetInteger () const |
ConstantData | GetConstantData () const |
size_t | GetIndex () const |
uint32_t | GetIntrinsic () const |
HighLevelILInstruction | GetExpr () const |
Variable | GetVariable () const |
SSAVariable | GetSSAVariable () const |
HighLevelILInstructionList | GetExprList () const |
HighLevelILSSAVariableList | GetSSAVariableList () const |
HighLevelILIndexList | GetIndexList () const |
HighLevelILOperand::HighLevelILOperand | ( | const HighLevelILInstruction & | instr, |
HighLevelILOperandUsage | usage, | ||
size_t | operandIndex ) |
|
inline |
|
inline |
uint64_t HighLevelILOperand::GetInteger | ( | ) | const |
ConstantData HighLevelILOperand::GetConstantData | ( | ) | const |
size_t HighLevelILOperand::GetIndex | ( | ) | const |
uint32_t HighLevelILOperand::GetIntrinsic | ( | ) | const |
HighLevelILInstruction HighLevelILOperand::GetExpr | ( | ) | const |
Variable HighLevelILOperand::GetVariable | ( | ) | const |
SSAVariable HighLevelILOperand::GetSSAVariable | ( | ) | const |
HighLevelILInstructionList HighLevelILOperand::GetExprList | ( | ) | const |
HighLevelILSSAVariableList HighLevelILOperand::GetSSAVariableList | ( | ) | const |
HighLevelILIndexList HighLevelILOperand::GetIndexList | ( | ) | const |
class BinaryNinja::HighLevelILOperandList |
Public Types | |
typedef ListIterator | const_iterator |
Public Member Functions | |
HighLevelILOperandList (const HighLevelILInstruction &instr, const std::vector< HighLevelILOperandUsage > &usageList, const std::unordered_map< HighLevelILOperandUsage, size_t > &operandIndexMap) | |
const_iterator | begin () const |
const_iterator | end () const |
size_t | size () const |
const HighLevelILOperand | operator[] (size_t i) const |
operator std::vector< HighLevelILOperand > () const | |
ListIterator BinaryNinja::HighLevelILOperandList::const_iterator |
HighLevelILOperandList::HighLevelILOperandList | ( | const HighLevelILInstruction & | instr, |
const std::vector< HighLevelILOperandUsage > & | usageList, | ||
const std::unordered_map< HighLevelILOperandUsage, size_t > & | operandIndexMap ) |
HighLevelILOperandList::const_iterator HighLevelILOperandList::begin | ( | ) | const |
HighLevelILOperandList::const_iterator HighLevelILOperandList::end | ( | ) | const |
size_t HighLevelILOperandList::size | ( | ) | const |
const HighLevelILOperand HighLevelILOperandList::operator[] | ( | size_t | i | ) | const |
BinaryNinja::HighLevelILOperandList::operator std::vector< HighLevelILOperand > | ( | ) | const |
struct BinaryNinja::HighLevelILConstantInstruction |
Additional Inherited Members | |
Public Attributes inherited from BinaryNinja::HighLevelILInstructionBase | |
Ref< HighLevelILFunction > | function = nullptr |
size_t | exprIndex |
size_t | instructionIndex |
bool | ast |
Public Attributes inherited from BNHighLevelILInstruction | |
BNHighLevelILOperation | operation |
uint32_t | attributes |
uint32_t | sourceOperand |
size_t | size |
uint64_t | operands [5] |
uint64_t | address |
size_t | parent |
Static Public Attributes inherited from BinaryNinja::HighLevelILInstructionBase | |
static std::unordered_map< HighLevelILOperandUsage, HighLevelILOperandType > | operandTypeForUsage |
static std::unordered_map< BNHighLevelILOperation, std::vector< HighLevelILOperandUsage > > | operationOperandUsage |
static std::unordered_map< BNHighLevelILOperation, std::unordered_map< HighLevelILOperandUsage, size_t > > | operationOperandIndex = GetOperandIndexForOperandUsages() |
|
inline |
struct BinaryNinja::HighLevelILConstantDataInstruction |
Additional Inherited Members | |
Public Attributes inherited from BinaryNinja::HighLevelILInstructionBase | |
Ref< HighLevelILFunction > | function = nullptr |
size_t | exprIndex |
size_t | instructionIndex |
bool | ast |
Public Attributes inherited from BNHighLevelILInstruction | |
BNHighLevelILOperation | operation |
uint32_t | attributes |
uint32_t | sourceOperand |
size_t | size |
uint64_t | operands [5] |
uint64_t | address |
size_t | parent |
Static Public Attributes inherited from BinaryNinja::HighLevelILInstructionBase | |
static std::unordered_map< HighLevelILOperandUsage, HighLevelILOperandType > | operandTypeForUsage |
static std::unordered_map< BNHighLevelILOperation, std::vector< HighLevelILOperandUsage > > | operationOperandUsage |
static std::unordered_map< BNHighLevelILOperation, std::unordered_map< HighLevelILOperandUsage, size_t > > | operationOperandIndex = GetOperandIndexForOperandUsages() |
|
inline |
struct BinaryNinja::HighLevelILOneOperandInstruction |
Additional Inherited Members | |
Public Attributes inherited from BinaryNinja::HighLevelILInstructionBase | |
Ref< HighLevelILFunction > | function = nullptr |
size_t | exprIndex |
size_t | instructionIndex |
bool | ast |
Public Attributes inherited from BNHighLevelILInstruction | |
BNHighLevelILOperation | operation |
uint32_t | attributes |
uint32_t | sourceOperand |
size_t | size |
uint64_t | operands [5] |
uint64_t | address |
size_t | parent |
Static Public Attributes inherited from BinaryNinja::HighLevelILInstructionBase | |
static std::unordered_map< HighLevelILOperandUsage, HighLevelILOperandType > | operandTypeForUsage |
static std::unordered_map< BNHighLevelILOperation, std::vector< HighLevelILOperandUsage > > | operationOperandUsage |
static std::unordered_map< BNHighLevelILOperation, std::unordered_map< HighLevelILOperandUsage, size_t > > | operationOperandIndex = GetOperandIndexForOperandUsages() |
|
inline |
struct BinaryNinja::HighLevelILTwoOperandInstruction |
Additional Inherited Members | |
Public Attributes inherited from BinaryNinja::HighLevelILInstructionBase | |
Ref< HighLevelILFunction > | function = nullptr |
size_t | exprIndex |
size_t | instructionIndex |
bool | ast |
Public Attributes inherited from BNHighLevelILInstruction | |
BNHighLevelILOperation | operation |
uint32_t | attributes |
uint32_t | sourceOperand |
size_t | size |
uint64_t | operands [5] |
uint64_t | address |
size_t | parent |
Static Public Attributes inherited from BinaryNinja::HighLevelILInstructionBase | |
static std::unordered_map< HighLevelILOperandUsage, HighLevelILOperandType > | operandTypeForUsage |
static std::unordered_map< BNHighLevelILOperation, std::vector< HighLevelILOperandUsage > > | operationOperandUsage |
static std::unordered_map< BNHighLevelILOperation, std::unordered_map< HighLevelILOperandUsage, size_t > > | operationOperandIndex = GetOperandIndexForOperandUsages() |
|
inline |
|
inline |
struct BinaryNinja::HighLevelILTwoOperandWithCarryInstruction |
Additional Inherited Members | |
Public Attributes inherited from BinaryNinja::HighLevelILInstructionBase | |
Ref< HighLevelILFunction > | function = nullptr |
size_t | exprIndex |
size_t | instructionIndex |
bool | ast |
Public Attributes inherited from BNHighLevelILInstruction | |
BNHighLevelILOperation | operation |
uint32_t | attributes |
uint32_t | sourceOperand |
size_t | size |
uint64_t | operands [5] |
uint64_t | address |
size_t | parent |
Static Public Attributes inherited from BinaryNinja::HighLevelILInstructionBase | |
static std::unordered_map< HighLevelILOperandUsage, HighLevelILOperandType > | operandTypeForUsage |
static std::unordered_map< BNHighLevelILOperation, std::vector< HighLevelILOperandUsage > > | operationOperandUsage |
static std::unordered_map< BNHighLevelILOperation, std::unordered_map< HighLevelILOperandUsage, size_t > > | operationOperandIndex = GetOperandIndexForOperandUsages() |
|
inline |
|
inline |
|
inline |