Ejemplo n.º 1
0
 def get_label_uses(self, label_idx):
     count = ctypes.c_ulonglong()
     uses = core.BNGetHighLevelILUsesForLabel(self.handle, label_idx, count)
     result = []
     for i in range(0, count.value):
         result.append(HighLevelILInstruction(self, uses[i]))
     core.BNFreeILInstructionList(uses)
     return result
Ejemplo n.º 2
0
	def get_medium_level_il_expr_indexes(self, expr):
		count = ctypes.c_ulonglong()
		exprs = core.BNGetMediumLevelILExprIndexesFromHighLevelIL(self.handle, expr, count)
		result = []
		for i in range(0, count.value):
			result.append(exprs[i])
		core.BNFreeILInstructionList(exprs)
		return result
Ejemplo n.º 3
0
	def get_ssa_memory_uses(self, version):
		count = ctypes.c_ulonglong()
		instrs = core.BNGetHighLevelILSSAMemoryUses(self.handle, version, count)
		result = []
		for i in range(0, count.value):
			result.append(HighLevelILInstruction(self, instrs[i]))
		core.BNFreeILInstructionList(instrs)
		return result
Ejemplo n.º 4
0
	def get_var_uses(self, var):
		count = ctypes.c_ulonglong()
		var_data = core.BNVariable()
		var_data.type = var.source_type
		var_data.index = var.index
		var_data.storage = var.storage
		instrs = core.BNGetHighLevelILVariableUses(self.handle, var_data, count)
		result = []
		for i in range(0, count.value):
			result.append(HighLevelILInstruction(self, instrs[i]))
		core.BNFreeILInstructionList(instrs)
		return result
Ejemplo n.º 5
0
	def get_ssa_var_uses(self, ssa_var):
		count = ctypes.c_ulonglong()
		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
		instrs = core.BNGetMediumLevelILSSAVarUses(self.handle, var_data, ssa_var.version, count)
		result = []
		for i in range(0, count.value):
			result.append(instrs[i])
		core.BNFreeILInstructionList(instrs)
		return result