示例#1
0
	def _encode(self, ctxt, input_buf, output_buf, params, count):
		try:
			input_obj = databuffer.DataBuffer(handle = core.BNDuplicateDataBuffer(input_buf))
			param_map = {}
			for i in range(0, count):
				data = databuffer.DataBuffer(handle = core.BNDuplicateDataBuffer(params[i].value))
				param_map[params[i].name] = str(data)
			result = self.perform_encode(str(input_obj), param_map)
			if result is None:
				return False
			result = str(result)
			core.BNSetDataBufferContents(output_buf, result, len(result))
			return True
		except:
			log.log_error(traceback.format_exc())
			return False
示例#2
0
 def __init__(self, contents="", handle=None):
     if handle is not None:
         self.handle = core.handle_of_type(handle, core.BNDataBuffer)
     elif isinstance(contents, int) or isinstance(contents, long):
         self.handle = core.BNCreateDataBuffer(None, contents)
     elif isinstance(contents, DataBuffer):
         self.handle = core.BNDuplicateDataBuffer(contents.handle)
     else:
         self.handle = core.BNCreateDataBuffer(contents, len(contents))
示例#3
0
 def __init__(self, contents="", handle=None):
     if handle is not None:
         self.handle = core.handle_of_type(handle, core.BNDataBuffer)
     elif isinstance(contents, int) or isinstance(contents, long):
         self.handle = core.BNCreateDataBuffer(None, contents)
     elif isinstance(contents, DataBuffer):
         self.handle = core.BNDuplicateDataBuffer(contents.handle)
     else:
         if bytes != str and isinstance(contents, str):
             contents = contents.encode('charmap')
         self.handle = core.BNCreateDataBuffer(contents, len(contents))
示例#4
0
 def __init__(self, contents="", handle=None):
     if handle is not None:
         self.handle = core.handle_of_type(handle, core.BNDataBuffer)
     elif isinstance(contents, int) or isinstance(contents,
                                                  numbers.Integral):
         self.handle = core.BNCreateDataBuffer(None, contents)
     elif isinstance(contents, DataBuffer):
         self.handle = core.BNDuplicateDataBuffer(contents.handle)
     else:
         if isinstance(contents, bytes) or isinstance(
                 contents, bytearray) or isinstance(contents, str):
             contents = cstr(contents)
         else:
             raise TypeError(
                 "DataBuffer contents must be bytes, bytearray, or str")
         self.handle = core.BNCreateDataBuffer(contents, len(contents))
示例#5
0
    def __init__(self, contents="", handle=None):

        # python3 no longer has longs
        try:
            long
        except NameError:
            long = int

        if handle is not None:
            self.handle = core.handle_of_type(handle, core.BNDataBuffer)
        elif isinstance(contents, int) or isinstance(contents, long):
            self.handle = core.BNCreateDataBuffer(None, contents)
        elif isinstance(contents, DataBuffer):
            self.handle = core.BNDuplicateDataBuffer(contents.handle)
        else:
            self.handle = core.BNCreateDataBuffer(contents, len(contents))