From c9845e5a200228f20809336d9e9afee45e776d19 Mon Sep 17 00:00:00 2001 From: Rusty Wagner Date: Thu, 1 Aug 2019 16:31:34 -0400 Subject: Add mem SSA to HLIL --- python/highlevelil.py | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'python') diff --git a/python/highlevelil.py b/python/highlevelil.py index 46fbe972..a5d0b661 100644 --- a/python/highlevelil.py +++ b/python/highlevelil.py @@ -95,14 +95,20 @@ class HighLevelILInstruction(object): HighLevelILOperation.HLIL_LABEL: [("target", "int")], HighLevelILOperation.HLIL_ASSIGN: [("dest", "expr"), ("src", "expr")], HighLevelILOperation.HLIL_ASSIGN_UNPACK: [("dest", "expr_list"), ("src", "expr")], + HighLevelILOperation.HLIL_ASSIGN_MEM_SSA: [("dest", "expr"), ("dest_memory", "int"), ("src", "expr"), ("src_memory", "int")], + HighLevelILOperation.HLIL_ASSIGN_UNPACK_MEM_SSA: [("dest", "expr_list"), ("dest_memory", "int"), ("src", "expr"), ("src_memory", "int")], HighLevelILOperation.HLIL_VAR: [("var", "var")], HighLevelILOperation.HLIL_VAR_SSA: [("var", "var_ssa")], HighLevelILOperation.HLIL_VAR_PHI: [("dest", "var_ssa"), ("src", "var_ssa_list")], + HighLevelILOperation.HLIL_MEM_PHI: [("dest", "int"), ("src", "int_list")], HighLevelILOperation.HLIL_STRUCT_FIELD: [("src", "expr"), ("offset", "int")], HighLevelILOperation.HLIL_ARRAY_INDEX: [("src", "expr"), ("index", "expr")], + HighLevelILOperation.HLIL_ARRAY_INDEX_SSA: [("src", "expr"), ("src_memory", "int"), ("index", "expr")], HighLevelILOperation.HLIL_SPLIT: [("high", "expr"), ("low", "expr")], HighLevelILOperation.HLIL_DEREF: [("src", "expr")], HighLevelILOperation.HLIL_DEREF_FIELD: [("src", "expr"), ("offset", "int")], + HighLevelILOperation.HLIL_DEREF_SSA: [("src", "expr"), ("src_memory", "int")], + HighLevelILOperation.HLIL_DEREF_FIELD_SSA: [("src", "expr"), ("src_memory", "int"), ("offset", "int")], HighLevelILOperation.HLIL_ADDRESS_OF: [("src", "expr")], HighLevelILOperation.HLIL_CONST: [("constant", "int")], HighLevelILOperation.HLIL_CONST_PTR: [("constant", "int")], @@ -140,6 +146,7 @@ class HighLevelILInstruction(object): HighLevelILOperation.HLIL_ZX: [("src", "expr")], HighLevelILOperation.HLIL_LOW_PART: [("src", "expr")], HighLevelILOperation.HLIL_CALL: [("dest", "expr"), ("params", "expr_list")], + HighLevelILOperation.HLIL_CALL_SSA: [("dest", "expr"), ("params", "expr_list"), ("dest_memory", "int"), ("src_memory", "int")], HighLevelILOperation.HLIL_CMP_E: [("left", "expr"), ("right", "expr")], HighLevelILOperation.HLIL_CMP_NE: [("left", "expr"), ("right", "expr")], HighLevelILOperation.HLIL_CMP_SLT: [("left", "expr"), ("right", "expr")], @@ -154,10 +161,12 @@ class HighLevelILInstruction(object): HighLevelILOperation.HLIL_BOOL_TO_INT: [("src", "expr")], HighLevelILOperation.HLIL_ADD_OVERFLOW: [("left", "expr"), ("right", "expr")], HighLevelILOperation.HLIL_SYSCALL: [("params", "expr_list")], + HighLevelILOperation.HLIL_SYSCALL_SSA: [("params", "expr_list"), ("dest_memory", "int"), ("src_memory", "int")], HighLevelILOperation.HLIL_TAILCALL: [("dest", "expr"), ("params", "expr_list")], HighLevelILOperation.HLIL_BP: [], HighLevelILOperation.HLIL_TRAP: [("vector", "int")], HighLevelILOperation.HLIL_INTRINSIC: [("intrinsic", "intrinsic"), ("params", "expr_list")], + HighLevelILOperation.HLIL_INTRINSIC_SSA: [("intrinsic", "intrinsic"), ("params", "expr_list"), ("dest_memory", "int"), ("src_memory", "int")], HighLevelILOperation.HLIL_UNDEF: [], HighLevelILOperation.HLIL_UNIMPL: [], HighLevelILOperation.HLIL_UNIMPL_MEM: [("src", "expr")], -- cgit v1.3.1