diff options
| author | Rusty Wagner <rusty@vector35.com> | 2017-02-28 20:23:20 -0500 |
|---|---|---|
| committer | Rusty Wagner <rusty@vector35.com> | 2017-02-28 20:23:20 -0500 |
| commit | dc0f16fa9bbac0388bb844af8d9f6c3b72ec31e8 (patch) | |
| tree | 86b0cdf490ae31ec8b1f4a1887b22e33c9157230 /lowlevelil.cpp | |
| parent | afe6a3c1d97c1ac2fd3be04f710caa1424216edd (diff) | |
Map expressions to SSA form and add API to query expression value
Diffstat (limited to 'lowlevelil.cpp')
| -rw-r--r-- | lowlevelil.cpp | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/lowlevelil.cpp b/lowlevelil.cpp index 999e35ee..fecde9c8 100644 --- a/lowlevelil.cpp +++ b/lowlevelil.cpp @@ -671,7 +671,7 @@ Ref<LowLevelILFunction> 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); +} |
