Example #1
0
def main():
    args = parse_arguments()

    env = {
        key: val
        for key, val in map(lambda env: env[0].split('='), args.env)
    }

    Manticore.verbosity(args.v)

    m = Manticore(args.argv[0],
                  argv=args.argv[1:],
                  env=env,
                  workspace_url=args.workspace,
                  policy=args.policy,
                  disasm=args.disasm)

    #Fixme(felipe) remove this, move to plugin
    m.coverage_file = args.coverage

    if args.names is not None:
        m.apply_model_hooks(args.names)

    if args.assertions:
        m.load_assertions(args.assertions)

    @m.init
    def init(initial_state):
        for file in args.files:
            initial_state.platform.add_symbolic_file(file)

    m.run(procs=args.procs, timeout=args.timeout, should_profile=args.profile)
Example #2
0
def main():
    args = parse_arguments()

    m = Manticore(args.programs[0], args.programs[1:])

    m.policy = args.policy
    m.args = args

    if args.workspace:
        m.workspace = args.workspace

    if args.profile:
        m.should_profile = args.profile

    if args.dumpafter != 0:
        m.dumpafter = args.dumpafter

    if args.maxstorage != 0:
        m.maxstorage = args.maxstorage

    if args.maxstates != 0:
        m.maxstates = args.maxstates

    if args.coverage:
        m.coverage_file = args.coverage

    if args.names is not None:
        m.apply_model_hooks(args.names)

    if args.procs:
        m.workers = args.procs

    if args.env:
        for entry in args.env:
            name, val = entry[0].split('=')
            m.env_add(name, val)

    if args.assertions:
        m.load_assertions(args.assertions)

    if args.verbose:
        m.verbosity = 4
    else:
        m.verbosity = 1

    logger.info('Loading program: {}'.format(args.programs))
    logger.info('Workspace: {}'.format(m.workspace))

    m.run(args.timeout)

    m.dump_stats()
Example #3
0
def main():
    args = parse_arguments()

    m = Manticore(args.programs[0], args.programs[1:])

    m.policy = args.policy
    m.args = args

    if args.data:
        m.concrete_data = args.data

    if args.workspace:
        m.workspace = args.workspace

    if args.profile:
        m.should_profile = args.profile

    if args.dumpafter != 0:
        m.dumpafter = args.dumpafter

    if args.maxstorage != 0:
        m.maxstorage = args.maxstorage

    if args.maxstates != 0:
        m.maxstates = args.maxstates

    if args.coverage:
        m.coverage_file = args.coverage

    if args.names is not None:
        m.apply_model_hooks(args.names)

    if args.env:
        for entry in args.env:
            name, val = entry[0].split('=')
            m.env_add(name, val)

    if args.files:
        for file in args.files:
            m.add_symbolic_file(file)

    if args.assertions:
        m.load_assertions(args.assertions)

    m.verbosity = args.v

    m.run(args.procs, args.timeout)