diff options
| author | Brian Potchik <brian@vector35.com> | 2019-04-22 16:40:59 -0400 |
|---|---|---|
| committer | Brian Potchik <brian@vector35.com> | 2019-04-22 16:40:59 -0400 |
| commit | 88043ec27091e58ed88f3a3d09ef726425c7dd8e (patch) | |
| tree | ff53d7967e7c2b8cadd540355925aa14bf56cbbd | |
| parent | 9969e70ed879fbfa2bf9fdecf2d9012795bed1a3 (diff) | |
Updates to support get_ssa function returning Instructions instead of indices.
| -rw-r--r-- | python/examples/triage/imports.py | 6 | ||||
| -rw-r--r-- | suite/testcommon.py | 10 |
2 files changed, 8 insertions, 8 deletions
diff --git a/python/examples/triage/imports.py b/python/examples/triage/imports.py index 008d22e3..3e09b93d 100644 --- a/python/examples/triage/imports.py +++ b/python/examples/triage/imports.py @@ -47,7 +47,7 @@ def get_platform_info(bv): return result def propagate_var_name(func, mlil_ssa_func, ssa_var, name, ty): - instructions = mlil_ssa_func.get_ssa_var_uses(ssa_var) + instructions = list(map(lambda instr: instr.instr_index, mlil_ssa_func.get_ssa_var_uses(ssa_var))) seen_instructions = set() handled_vars = set([ssa_var]) @@ -67,7 +67,7 @@ def propagate_var_name(func, mlil_ssa_func, ssa_var, name, ty): handled_vars.add(instruction.dest) - for use in mlil_ssa_func.get_ssa_var_uses(instruction.dest): + for use in list(map(lambda instr: instr.instr_index, mlil_ssa_func.get_ssa_var_uses(instruction.dest))): if use not in seen_instructions: instructions.append(use) @@ -87,7 +87,7 @@ def propagate_var_name(func, mlil_ssa_func, ssa_var, name, ty): continue handled_vars.add(instruction.dest) - for use in mlil_ssa_func.get_ssa_var_uses(instruction.dest): + for use in list(map(lambda instr: instr.instr_index, mlil_ssa_func.get_ssa_var_uses(instruction.dest))): if use not in seen_instructions: instructions.append(use) diff --git a/suite/testcommon.py b/suite/testcommon.py index f221bbef..70f815a0 100644 --- a/suite/testcommon.py +++ b/suite/testcommon.py @@ -196,12 +196,12 @@ class BinaryViewTestBuilder(Builder): func = func.low_level_il for reg_name in self.bv.arch.regs: reg = binja.SSARegister(reg_name, 1) - retinfo.append("Reg {} SSA definition: ".format(reg_name) + str(func.get_ssa_reg_definition(reg))) - retinfo.append("Reg {} SSA uses: ".format(reg_name) + str(func.get_ssa_reg_uses(reg))) + retinfo.append("Reg {} SSA definition: ".format(reg_name) + str(getattr(func.get_ssa_reg_definition(reg), 'instr_index', None))) + retinfo.append("Reg {} SSA uses: ".format(reg_name) + str(list(map(lambda instr: instr.instr_index, func.get_ssa_reg_uses(reg))))) retinfo.append("Reg {} SSA value: ".format(reg_name) + str(func.get_ssa_reg_value(reg))) for flag_name in self.bv.arch.flags: flag = binja.SSAFlag(flag_name, 1) - retinfo.append("Flag {} SSA uses: ".format(flag_name) + str(func.get_ssa_flag_uses(flag))) + retinfo.append("Flag {} SSA uses: ".format(flag_name) + str(list(map(lambda instr: instr.instr_index, func.get_ssa_flag_uses(flag))))) retinfo.append("Flag {} SSA value: ".format(flag_name) + str(func.get_ssa_flag_value(flag))) for bb in func.basic_blocks: for ins in bb: @@ -257,8 +257,8 @@ class BinaryViewTestBuilder(Builder): instruction = instruction.ssa_form for var in (instruction.vars_read + instruction.vars_written): if hasattr(var, "var"): - varlist.append("SSA var definition: " + str(func.get_ssa_var_definition(var))) - varlist.append("SSA var uses: " + str(func.get_ssa_var_uses(var))) + varlist.append("SSA var definition: " + str(getattr(func.get_ssa_var_definition(var), 'instr_index', None))) + varlist.append("SSA var uses: " + str(list(map(lambda instr: instr.instr_index, func.get_ssa_var_uses(var))))) varlist.append("SSA var value: " + str(func.get_ssa_var_value(var))) varlist.append("SSA var possible values: " + fixSet(str(instruction.get_ssa_var_possible_values(var)))) varlist.append("SSA var version: " + str(instruction.get_ssa_var_version)) |
