|
@@ -50,41 +50,41 @@ class ELFFile:
|
|
|
if len(self.data) < ELFFile.EI_NIDENT + 4:
|
|
|
raise NotELFFileError("%s is not an ELF" % self.name)
|
|
|
|
|
|
- self.my_assert(self.data[0], chr(0x7f) )
|
|
|
- self.my_assert(self.data[1], 'E')
|
|
|
- self.my_assert(self.data[2], 'L')
|
|
|
- self.my_assert(self.data[3], 'F')
|
|
|
+ self.my_assert(self.data[0], 0x7f)
|
|
|
+ self.my_assert(self.data[1], ord('E'))
|
|
|
+ self.my_assert(self.data[2], ord('L'))
|
|
|
+ self.my_assert(self.data[3], ord('F'))
|
|
|
if self.bits == 0:
|
|
|
- if self.data[ELFFile.EI_CLASS] == chr(ELFFile.ELFCLASS32):
|
|
|
+ if self.data[ELFFile.EI_CLASS] == ELFFile.ELFCLASS32:
|
|
|
self.bits = 32
|
|
|
- elif self.data[ELFFile.EI_CLASS] == chr(ELFFile.ELFCLASS64):
|
|
|
+ elif self.data[ELFFile.EI_CLASS] == ELFFile.ELFCLASS64:
|
|
|
self.bits = 64
|
|
|
else:
|
|
|
# Not 32-bit or 64.. lets assert
|
|
|
raise NotELFFileError("ELF but not 32 or 64 bit.")
|
|
|
elif self.bits == 32:
|
|
|
- self.my_assert(self.data[ELFFile.EI_CLASS], chr(ELFFile.ELFCLASS32))
|
|
|
+ self.my_assert(self.data[ELFFile.EI_CLASS], ELFFile.ELFCLASS32)
|
|
|
elif self.bits == 64:
|
|
|
- self.my_assert(self.data[ELFFile.EI_CLASS], chr(ELFFile.ELFCLASS64))
|
|
|
+ self.my_assert(self.data[ELFFile.EI_CLASS], ELFFile.ELFCLASS64)
|
|
|
else:
|
|
|
raise NotELFFileError("Must specify unknown, 32 or 64 bit size.")
|
|
|
- self.my_assert(self.data[ELFFile.EI_VERSION], chr(ELFFile.EV_CURRENT) )
|
|
|
+ self.my_assert(self.data[ELFFile.EI_VERSION], ELFFile.EV_CURRENT)
|
|
|
|
|
|
self.sex = self.data[ELFFile.EI_DATA]
|
|
|
- if self.sex == chr(ELFFile.ELFDATANONE):
|
|
|
+ if self.sex == ELFFile.ELFDATANONE:
|
|
|
raise NotELFFileError("self.sex == ELFDATANONE")
|
|
|
- elif self.sex == chr(ELFFile.ELFDATA2LSB):
|
|
|
+ elif self.sex == ELFFile.ELFDATA2LSB:
|
|
|
self.sex = "<"
|
|
|
- elif self.sex == chr(ELFFile.ELFDATA2MSB):
|
|
|
+ elif self.sex == ELFFile.ELFDATA2MSB:
|
|
|
self.sex = ">"
|
|
|
else:
|
|
|
raise NotELFFileError("Unknown self.sex")
|
|
|
|
|
|
def osAbi(self):
|
|
|
- return ord(self.data[ELFFile.EI_OSABI])
|
|
|
+ return self.data[ELFFile.EI_OSABI]
|
|
|
|
|
|
def abiVersion(self):
|
|
|
- return ord(self.data[ELFFile.EI_ABIVERSION])
|
|
|
+ return self.data[ELFFile.EI_ABIVERSION]
|
|
|
|
|
|
def abiSize(self):
|
|
|
return self.bits
|