def testPatching(): trace = [] lst = [] k = block.Block(0x1000, "\x04\x20\x00\x00\x05\x00\x00\x00") lst.append(k) k = block.Block(0x2000, "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF") lst.append(k) m = memory.Memory(2, lst) m.registerPointer(0x1000) m.setArgs(0x1000, "PI") trace.append(m) cfg = config.Config() cfg.setupLogging("morpher") # The logging object used for reporting log = cfg.getLogger("morpher.morpher") log.info(cfg.toString()) print "Calling monitor" fuzz = monitor.Monitor(cfg) fuzz.run(trace) print "Exiting"
def testMonitorCrash(): trace = [] lst = [] k = block.Block(0x1000, "\x00\x00\x00\x00\x05\x00\x00\x00") lst.append(k) m = memory.Memory(2, lst) m.setArgs(0x1000, "II") trace.append(m) lst = [] k = block.Block(0x1000, "\x00\x00\x00\x00\x05\x00\x00\x00") lst.append(k) k = block.Block(0x2000, "\x11\x00\x00\x00\x08\x00\x00\x00") lst.append(k) m = memory.Memory(2, lst) m.setArgs(0x1000, "II") trace.append(m) cfg = config.Config() cfg.setupLogging("morpher") # The logging object used for reporting log = cfg.getLogger("morpher.morpher") log.info(cfg.toString()) print "Calling fuzzer" fuzz = monitor.Monitor(cfg) fuzz.run(trace) trace = [] lst = [] k = block.Block(0x1000, "\x00\x00\x00\x00\x04\x00\x00\x00") lst.append(k) k = block.Block(0x2000, "\x11\x00\x00\x00\x08\x00\x00\x00") lst.append(k) m = memory.Memory(2, lst) m.setArgs(0x1000, "II") trace.append(m) fuzz.setTraceNum(1) fuzz.run(trace) print "Exiting"
def testMonitorHang(): trace = [] lst = [] k = block.Block(0x1000, "\x03\x00\x00\x00\x41\x00\x00\x00") lst.append(k) m = memory.Memory(1, lst) m.setArgs(0x1000, "Ic") trace.append(m) lst = [] k = block.Block(0x1000, "\x30\x00\x00\x00\x00\x00\x00\x00") lst.append(k) k = block.Block(0x2000, "\x30\x00\x00\x00\x00\x00\x00\x00") lst.append(k) m = memory.Memory(1, lst) m.setArgs(0x2000, "Ic") trace.append(m) lst = [] k = block.Block(0x1000, "\x01\x00\x00\x00\x42\x00\x00\x00") lst.append(k) m = memory.Memory(1, lst) m.setArgs(0x1000, "Ic") trace.append(m) cfg = config.Config() cfg.setupLogging("morpher") # The logging object used for reporting log = cfg.getLogger("morpher.morpher") log.info(cfg.toString()) print "Calling fuzzer" fuzz = monitor.Monitor(cfg, 1) fuzz.run(trace) print "Exiting"