from pydbg import * from pydbg.defines import * def av_handler(dbg): print "Access Violation Handler" print dbg.dump_context() try: mod = dbg.addr_to_dll(dbg.context.Eip) print 'Eip module path : ', mod.path print 'Eip module base : 0x%08x'%mod.base print 'Eip offset : 0x%08x '%(dbg.context.Eip - mod.base) except: print 'Unable resolve Eip module' dbg.stack_unwind() for i in dbg.disasm_around(dbg.context.Eip, 12): print "%x %s"%i dbg.terminate_process() return DBG_CONTINUE PROGRAM = 'firefox' TESTFILE = 'fcrash.html' dbg = pydbg() dbg.load(PROGRAM,TESTFILE) dbg.set_callback(EXCEPTION_ACCESS_VIOLATION, av_handler) dbg.run()