示例#1
0
	def get_ssa_var_value(self, ssa_var):
		var_data = core.BNVariable()
		var_data.type = ssa_var.var.source_type
		var_data.index = ssa_var.var.index
		var_data.storage = ssa_var.var.storage
		value = core.BNGetMediumLevelILSSAVarValue(self.handle, var_data, ssa_var.version)
		result = function.RegisterValue(self.arch, value)
		return result
示例#2
0
 def get_possible_values(self, options=[]):
     mlil = self.mlil
     if mlil is None:
         return function.RegisterValue()
     return mlil.get_possible_values(options)
示例#3
0
 def value(self):
     """Value of expression if constant or a known value (read-only)"""
     mlil = self.mlil
     if mlil is None:
         return function.RegisterValue()
     return mlil.value
示例#4
0
	def get_stack_contents_after(self, offset, size):
		value = core.BNGetMediumLevelILStackContentsAfterInstruction(self.function.handle, offset, size, self.instr_index)
		result = function.RegisterValue(self.function.arch, value)
		return result
示例#5
0
	def get_flag_value_after(self, flag):
		flag = self.function.arch.get_flag_index(flag)
		value = core.BNGetMediumLevelILFlagValueAfterInstruction(self.function.handle, flag, self.instr_index)
		result = function.RegisterValue(self.function.arch, value)
		return result
示例#6
0
	def get_reg_value_after(self, reg):
		reg = self.function.arch.get_reg_index(reg)
		value = core.BNGetMediumLevelILRegisterValueAfterInstruction(self.function.handle, reg, self.instr_index)
		result = function.RegisterValue(self.function.arch, value)
		return result
示例#7
0
	def value(self):
		"""Value of expression if constant or a known value (read-only)"""
		value = core.BNGetMediumLevelILExprValue(self.function.handle, self.expr_index)
		result = function.RegisterValue(self.function.arch, value)
		return result