diff options
| author | Brian Potchik <brian@vector35.com> | 2021-01-27 16:03:02 -0500 |
|---|---|---|
| committer | Brian Potchik <brian@vector35.com> | 2021-01-27 16:03:02 -0500 |
| commit | 51d0f18eb4df16263867ef157b5293bb1b44f77a (patch) | |
| tree | a7af13bc176f4625dc377a07ed830ea40f6ddcc4 /python/mediumlevelil.py | |
| parent | bbdef20ca8c5489dc8aac4f31b0269dba80b4e87 (diff) | |
Finish HLIL expression mapping APIs.
Diffstat (limited to 'python/mediumlevelil.py')
| -rw-r--r-- | python/mediumlevelil.py | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/python/mediumlevelil.py b/python/mediumlevelil.py index ac11db96..65b90177 100644 --- a/python/mediumlevelil.py +++ b/python/mediumlevelil.py @@ -471,7 +471,7 @@ class MediumLevelILInstruction(object): @property def llils(self): - exprs = self.function.get_low_level_il_expr_indexes(self.expr_index) + exprs = self._function.get_low_level_il_expr_indexes(self.expr_index) result = [] for expr in exprs: result.append(lowlevelil.LowLevelILInstruction(self._function.low_level_il.ssa_form, expr)) @@ -491,6 +491,14 @@ class MediumLevelILInstruction(object): return self.high_level_il @property + def hlils(self): + exprs = self._function.get_high_level_il_expr_indexes(self.expr_index) + result = [] + for expr in exprs: + result.append(binaryninja.highlevelil.HighLevelILInstruction(self._function.high_level_il, expr)) + return result + + @property def ssa_memory_version(self): """Version of active memory contents in SSA form for this instruction""" return core.BNGetMediumLevelILSSAMemoryVersionAtILInstruction(self._function.handle, self._instr_index) @@ -1197,6 +1205,15 @@ class MediumLevelILFunction(object): return None return result + def get_high_level_il_expr_indexes(self, expr): + count = ctypes.c_ulonglong() + exprs = core.BNGetHighLevelILExprIndexes(self.handle, expr, count) + result = [] + for i in range(0, count.value): + result.append(exprs[i]) + core.BNFreeILInstructionList(exprs) + return result + def create_graph(self, settings = None): if settings is not None: settings_obj = settings.handle |
