Beispiel #1
0
 def __init__(self,
              opcodes,
              imageFileName,
              symbols,
              indirectAddresses,
              directAddresses=()):
     self.opcodes = opcodes
     self.memory = ReadWriteMemory(file(imageFileName, "rb"))
     self.memoryExplorer = MemoryExplorer(size=len(self.memory),
                                          offset=0x0000)
     self.getByte = self.memory.createGetter(1, self.memory.BIG_ENDIAN)
     self.getWord = self.memory.createGetter(2, self.memory.BIG_ENDIAN)
     self.symbols = symbols
     Operation.symbols = self.symbols
     self.pc = 0x0000
     self.callTargets = set(
         tuple([self.getWord(e)
                for e in indirectAddresses])).union(set(directAddresses))
     self.jumpTargets = set()
     self.processed = set()
Beispiel #2
0
 def __init__(self, image):
     self.memory = ReadWriteMemory(StringIO(image))
     self.getByte = self.memory.createGetter(1, self.memory.BIG_ENDIAN)
     self.getWord = self.memory.createGetter(2, self.memory.BIG_ENDIAN)