def _address_action(cls, view, addr, action):
     try:
         file_metadata = filemetadata.FileMetadata(
             handle=core.BNGetFileForView(view))
         view_obj = binaryview.BinaryView(
             file_metadata=file_metadata,
             handle=core.BNNewViewReference(view))
         action(view_obj, addr)
     except:
         log.log_error(traceback.format_exc())
 def _function_action(cls, view, func, action):
     try:
         file_metadata = filemetadata.FileMetadata(
             handle=core.BNGetFileForView(view))
         view_obj = binaryview.BinaryView(
             file_metadata=file_metadata,
             handle=core.BNNewViewReference(view))
         func_obj = function.Function(view_obj,
                                      core.BNNewFunctionReference(func))
         action(view_obj, func_obj)
     except:
         log.log_error(traceback.format_exc())
 def _range_is_valid(cls, view, addr, length, is_valid):
     try:
         if is_valid is None:
             return True
         file_metadata = filemetadata.FileMetadata(
             handle=core.BNGetFileForView(view))
         view_obj = binaryview.BinaryView(
             file_metadata=file_metadata,
             handle=core.BNNewViewReference(view))
         return is_valid(view_obj, addr, length)
     except:
         log.log_error(traceback.format_exc())
         return False
Exemple #4
0
 def _recognize_medium_level_il(self, ctxt, data, func, il):
     try:
         file_metadata = filemetadata.FileMetadata(
             handle=core.BNGetFileForView(data))
         view = binaryview.BinaryView(file_metadata=file_metadata,
                                      handle=core.BNNewViewReference(data))
         func = function.Function(view,
                                  handle=core.BNNewFunctionReference(func))
         il = mediumlevelil.MediumLevelILFunction(
             func.arch, handle=core.BNNewMediumLevelILFunctionReference(il))
         return self.recognize_medium_level_il(view, func, il)
     except:
         log.log_error(traceback.format_exc())
         return False
Exemple #5
0
 def _low_level_il_instruction_action(cls, view, func, instr, action):
     try:
         file_metadata = filemetadata.FileMetadata(
             handle=core.BNGetFileForView(view))
         view_obj = binaryview.BinaryView(
             file_metadata=file_metadata,
             handle=core.BNNewViewReference(view))
         owner = function.Function(view_obj,
                                   core.BNGetLowLevelILOwnerFunction(func))
         func_obj = lowlevelil.LowLevelILFunction(
             owner.arch, core.BNNewLowLevelILFunctionReference(func), owner)
         action(view_obj, func_obj[instr])
     except:
         log.log_error(traceback.format_exc())
 def _function_is_valid(cls, view, func, is_valid):
     try:
         if is_valid is None:
             return True
         file_metadata = filemetadata.FileMetadata(
             handle=core.BNGetFileForView(view))
         view_obj = binaryview.BinaryView(
             file_metadata=file_metadata,
             handle=core.BNNewViewReference(view))
         func_obj = function.Function(view_obj,
                                      core.BNNewFunctionReference(func))
         return is_valid(view_obj, func_obj)
     except:
         log.log_error(traceback.format_exc())
         return False
Exemple #7
0
 def _medium_level_il_function_action(cls, view, func, action):
     try:
         file_metadata = filemetadata.FileMetadata(
             handle=core.BNGetFileForView(view))
         view_obj = binaryview.BinaryView(
             file_metadata=file_metadata,
             handle=core.BNNewViewReference(view))
         owner = function.Function(
             view_obj, core.BNGetMediumLevelILOwnerFunction(func))
         func_obj = mediumlevelil.MediumLevelILFunction(
             owner.arch, core.BNNewMediumLevelILFunctionReference(func),
             owner)
         action(view_obj, func_obj)
     except:
         log.log_error(traceback.format_exc())
Exemple #8
0
 def _low_level_il_function_is_valid(cls, view, func, is_valid):
     try:
         if is_valid is None:
             return True
         file_metadata = filemetadata.FileMetadata(
             handle=core.BNGetFileForView(view))
         view_obj = binaryview.BinaryView(
             file_metadata=file_metadata,
             handle=core.BNNewViewReference(view))
         owner = function.Function(view_obj,
                                   core.BNGetLowLevelILOwnerFunction(func))
         func_obj = lowlevelil.LowLevelILFunction(
             owner.arch, core.BNNewLowLevelILFunctionReference(func), owner)
         return is_valid(view_obj, func_obj)
     except:
         log.log_error(traceback.format_exc())
         return False