def dump(self, pid, address, size): payload = Payload() payload.put_u32('pid', pid) payload.put_u64('address', address) payload.put_u32('size', size) response = self.request('MEMD', payload) words = (response.get('word[%i]' % x) for x in xrange(response.get('size', 0))) def tobytes(word): a = (word >> 24) & 0xff b = (word >> 16) & 0xff c = (word >> 8) & 0xff d = (word) & 0xff return ''.join(chr(x) for x in (d, c, b, a)) bytes = (tobytes(x) for x in words) return ''.join(bytes)
def explain_address(self, pid, address): payload = Payload() payload.put_u32('pid', pid) payload.put_u64('address', address) return self.request('ADDR', payload)