@@ -698,6 +698,11 @@ def ssa_memory_version(self) -> int:
698698 """Version of active memory contents in SSA form for this instruction"""
699699 return core .BNGetMediumLevelILSSAMemoryVersionAtILInstruction (self .function .handle , self .instr_index )
700700
701+ @property
702+ def ssa_memory_version_after (self ) -> int :
703+ """Version of active memory contents in SSA form after this instruction"""
704+ return core .BNGetMediumLevelILSSAMemoryVersionAfterILInstruction (self .function .handle , self .instr_index )
705+
701706 @property
702707 def prefix_operands (self ) -> List [MediumLevelILOperandType ]:
703708 """All operands in the expression tree in prefix order"""
@@ -803,22 +808,42 @@ def get_ssa_var_version(self, var: variable.Variable) -> int:
803808 var_data = var .to_BNVariable ()
804809 return core .BNGetMediumLevelILSSAVarVersionAtILInstruction (self .function .handle , var_data , self .instr_index )
805810
811+ def get_ssa_var_version_after (self , var : variable .Variable ) -> int :
812+ var_data = var .to_BNVariable ()
813+ return core .BNGetMediumLevelILSSAVarVersionAfterILInstruction (self .function .handle , var_data , self .instr_index )
814+
806815 def get_var_for_reg (self , reg : 'architecture.RegisterType' ) -> variable .Variable :
807816 reg = self .function .arch .get_reg_index (reg )
808817 result = core .BNGetMediumLevelILVariableForRegisterAtInstruction (self .function .handle , reg , self .instr_index )
809818 return variable .Variable .from_BNVariable (self .function , result )
810819
820+ def get_var_for_reg_after (self , reg : 'architecture.RegisterType' ) -> variable .Variable :
821+ reg = self .function .arch .get_reg_index (reg )
822+ result = core .BNGetMediumLevelILVariableForRegisterAfterInstruction (self .function .handle , reg , self .instr_index )
823+ return variable .Variable .from_BNVariable (self .function , result )
824+
811825 def get_var_for_flag (self , flag : 'architecture.FlagType' ) -> variable .Variable :
812826 flag = self .function .arch .get_flag_index (flag )
813827 result = core .BNGetMediumLevelILVariableForFlagAtInstruction (self .function .handle , flag , self .instr_index )
814828 return variable .Variable .from_BNVariable (self .function , result )
815829
830+ def get_var_for_flag_after (self , flag : 'architecture.FlagType' ) -> variable .Variable :
831+ flag = self .function .arch .get_flag_index (flag )
832+ result = core .BNGetMediumLevelILVariableForFlagAfterInstruction (self .function .handle , flag , self .instr_index )
833+ return variable .Variable .from_BNVariable (self .function , result )
834+
816835 def get_var_for_stack_location (self , offset : int ) -> variable .Variable :
817836 result = core .BNGetMediumLevelILVariableForStackLocationAtInstruction (
818837 self .function .handle , offset , self .instr_index
819838 )
820839 return variable .Variable .from_BNVariable (self .function , result )
821840
841+ def get_var_for_stack_location_after (self , offset : int ) -> variable .Variable :
842+ result = core .BNGetMediumLevelILVariableForStackLocationAfterInstruction (
843+ self .function .handle , offset , self .instr_index
844+ )
845+ return variable .Variable .from_BNVariable (self .function , result )
846+
822847 def get_reg_value (self , reg : 'architecture.RegisterType' ) -> 'variable.RegisterValue' :
823848 reg = self .function .arch .get_reg_index (reg )
824849 value = core .BNGetMediumLevelILRegisterValueAtInstruction (self .function .handle , reg , self .instr_index )
0 commit comments