示例#1
0
 def perform_get_incoming_flag_value(self, reg, func):
     return function.RegisterValue()
示例#2
0
 def perform_get_incoming_reg_value(self, reg, func):
     reg_stack = self.arch.get_reg_stack_for_reg(reg)
     if reg_stack is not None:
         if reg == self.arch.reg_stacks[reg_stack].stack_top_reg:
             return function.RegisterValue.constant(0)
     return function.RegisterValue()
示例#3
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
示例#4
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
示例#5
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
示例#6
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