From dc0f16fa9bbac0388bb844af8d9f6c3b72ec31e8 Mon Sep 17 00:00:00 2001 From: Rusty Wagner Date: Tue, 28 Feb 2017 20:23:20 -0500 Subject: Map expressions to SSA form and add API to query expression value --- lowlevelil.cpp | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'lowlevelil.cpp') diff --git a/lowlevelil.cpp b/lowlevelil.cpp index 999e35ee..fecde9c8 100644 --- a/lowlevelil.cpp +++ b/lowlevelil.cpp @@ -671,7 +671,7 @@ Ref LowLevelILFunction::GetNonSSAForm() const size_t LowLevelILFunction::GetSSAInstructionIndex(size_t instr) const { - return BNGetLowLevelILNonSSAInstructionIndex(m_object, instr); + return BNGetLowLevelILSSAInstructionIndex(m_object, instr); } @@ -681,6 +681,18 @@ size_t LowLevelILFunction::GetNonSSAInstructionIndex(size_t instr) const } +size_t LowLevelILFunction::GetSSAExprIndex(size_t expr) const +{ + return BNGetLowLevelILSSAExprIndex(m_object, expr); +} + + +size_t LowLevelILFunction::GetNonSSAExprIndex(size_t expr) const +{ + return BNGetLowLevelILNonSSAExprIndex(m_object, expr); +} + + size_t LowLevelILFunction::GetSSARegisterDefinition(uint32_t reg, size_t idx) const { return BNGetLowLevelILSSARegisterDefinition(m_object, reg, idx); @@ -760,3 +772,10 @@ RegisterValue LowLevelILFunction::GetSSAStackContents(size_t memoryIndex, int64_ BNRegisterValue value = BNGetLowLevelILSSAStackContents(m_object, memoryIndex, offset, size); return RegisterValue::FromAPIObject(value); } + + +RegisterValue LowLevelILFunction::GetExprValue(size_t expr) +{ + BNRegisterValue value = BNGetLowLevelILExprValue(m_object, expr); + return RegisterValue::FromAPIObject(value); +} -- cgit v1.3.1