Example #1
0
File: g4box.py Project: pszostek/cp
# import timeit

# setup='''
# import xed
# import disass
# import elf

# e = elf.ELFFile("../testG4Box")
# offsets = [int(line.strip()) for line in open("../pawel.g4box.txt").readlines()]
# '''

#t = timeit.Timer(stmt="disass.get_basic_blocks(e, offsets)", setup=setup)
# t = timeit.Timer(stmt="disass.get_inst_lists_for_basic_blocks({'../testG4Box':offsets})", setup=setup)
# print t.repeat(3, 1)



import xed
import disass
import elf
import pandas

e = elf.ELFFile("../real_data/testG4Box")
offsets = [int(line.strip()) for line in open("../real_data/pawel.g4box.txt").readlines()]

print len(offsets)
# bbs = disass.get_basic_blocks(e, offsets)
# for idx, bb in enumerate(bbs):
#     print len(bb), hex(offsets[idx])
output=disass.get_inst_lists_for_basic_blocks({"../real_data/testG4Box":offsets})
print output.head(50)
Example #2
0
def mean(lst):
    return sum(lst)/len(lst)

# setup='''
# import xed
# import disass
# import elf

# e = elf.ELFFile("../real_data/fullcms")
# offsets = [int(line.strip(), 16)-0x400000 for line in open("../real_data/pawel.fullcms").readlines()]
# '''

# #t = timeit.Timer(stmt="disass.get_basic_blocks(e, offsets)", setup=setup)
# t = timeit.Timer(stmt="output=disass.get_inst_lists_for_basic_blocks({'../real_data/fullcms':offsets})", setup=setup)

# print "mean time over %d runs: %fs" % (3, mean(t.repeat(3, 1)))



import xed
import disass
import elf

e = elf.ELFFile("../real_data/fullcms")
offsets = [int(line.strip(), 16)-0x400000 for line in open("../real_data/pawel.fullcms").readlines()]

output=disass.get_inst_lists_for_basic_blocks({"../real_data/fullcms":offsets})
output.to_csv('fullcms.csv')
print disass.get_source_location({"../real_data/fullcms":offsets})