コード例 #1
0
ファイル: ELFDumper.py プロジェクト: alpine9000/EWGM
            for rela in rela_sect.get_relocations():
                self._dump_rela_entry(rela, prefix="%4d  " % num)
                num += 1

    def dump_relas_by_sect(self):
        print "ELF Relocations (by sections)"
        for sect in self.elf.sections:
            to_sects = sect.get_rela_sections()
            if len(to_sects) > 0:
                print "  section", sect.idx
                for to_sect in to_sects:
                    print "    -> section", to_sect.idx
                    num = 0
                    for rela in sect.get_rela_by_section(to_sect):
                        self._dump_rela_entry(rela, prefix="      %4d  " % num)
                        num += 1


if __name__ == '__main__':
    from ELFReader import ELFReader
    import sys
    reader = ELFReader()
    for a in sys.argv[1:]:
        f = open(a, "rb")
        ef = reader.load(f)
        dumper = ELFDumper(ef)
        dumper.dump_sections(True, True)
        dumper.dump_symbols()
        dumper.dump_relas()
        dumper.dump_relas_by_sect()