Example #1
0
  def __init__(self, fn, forknum, program, r1, r2, r3):
    self.forknum = forknum
    self.program = program
    self.db = qiradb.Trace(fn, forknum, r1, r2, r3)
    self.load_base_memory()

    # analysis stuff
    self.maxclnum = None
    self.minclnum = None
    self.flow = None
    self.dmap = None
    self.maxd = 0
    self.analysisready = False
    self.picture = None
    self.needs_update = False
    self.strace = []
    self.mapped = []

    threading.Thread(target=self.analysis_thread).start()
Example #2
0
import qiradb
import time
#print dir(qiradb)

LIMIT = 10000

#print "new_trace:", qiradb.new_trace("/tmp/qira_logs/0", 0, 4, 16)
#time.sleep(100000.0)

# register size = 4, register count = 9
t = qiradb.Trace("hello_trace", 0, 4, 9, False)
print "trace created"

while not t.did_update():
    print "waiting..."
    time.sleep(0.1)

# get max change
ret = t.get_maxclnum()
print "maxclnum:", ret
assert ret == 116

# get min change
ret = t.get_minclnum()
print "minclnum:", ret
assert ret == 0

# who loads argc?
ret = t.fetch_clnums_by_address_and_type(0xf6fff090, 'L', 0, LIMIT)
print "load argc:", ret
assert ret == [0, 2]