Пример #1
0
Файл: pe.py Проект: LRGH/amoco
 def readcallbacks(self, data):
     self.callbacks = []
     while len(data) >= self.elsize:
         v = struct.unpack(self.fields[0].typename, data[:self.elsize])[0]
         if v == 0:
             return
         self.callbacks.append(v)
         data = data[self.elsize:]
Пример #2
0
Файл: pe.py Проект: xorpse/amoco
 def Name(self):
     if self._Name.startswith("\0" * 4):
         index = struct.unpack("I", self._Name[4:8])[0]
         return index.strip("\0")
     else:
         try:
             return self._Name.decode("utf-8").strip("\0")
         except UnicodeDecodeError:
             logger.info("StdSymbolHdr: Name decode error %s" % repr(self._Name))
             return self._Name
Пример #3
0
Файл: pe.py Проект: LRGH/amoco
 def readimports(self, data):
     self.imports = []
     fshift = (self.elsize * 8) - 1
     while len(data) >= self.elsize:
         v = struct.unpack(self.fmt, data[:self.elsize])[0]
         if v == 0:
             return
         flag = v >> fshift
         if flag == 1:
             self.imports.append([flag, v & 0xFFFF])
         elif flag == 0:
             self.imports.append([flag, v & 0x7FFFFFFF])
         data = data[self.elsize:]
Пример #4
0
Файл: pe.py Проект: LRGH/amoco
 def __init__(self, data):
     hint = struct.unpack("H", data[:2])
     s, _, _ = data[2:].partition(b"\0")
     self.hint = hint
     self.symbol = str(s.decode())
Пример #5
0
Файл: pe.py Проект: LRGH/amoco
 def __init__(self, data=None):
     if data is None:
         data = struct.pack("I", 4)
     self.length = struct.unpack("I", data[:4])
     self.strings = data[4:self.length].split("\0")
     self.strings.pop()