diff options
| -rw-r--r-- | src/focaccia/symbolic.py | 2 | ||||
| -rwxr-xr-x | src/focaccia/tools/capture_transforms.py | 6 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/focaccia/symbolic.py b/src/focaccia/symbolic.py index e6c919a..7485cc2 100644 --- a/src/focaccia/symbolic.py +++ b/src/focaccia/symbolic.py @@ -589,7 +589,7 @@ def run_instruction(instr: miasm_instr, loc = lifter.add_instr_to_ircfg(instr, ircfg, None, False) assert(isinstance(loc, Expr) or isinstance(loc, LocKey)) except NotImplementedError as err: - raise Exception(f'Unable to lift instruction {instr}: {err}. Skipping.') from None + raise Exception(f'Unable to lift instruction {instr}: {err}. Skipping') # Execute instruction symbolically new_pc, modified = execute_location(loc) diff --git a/src/focaccia/tools/capture_transforms.py b/src/focaccia/tools/capture_transforms.py index d742994..23d150d 100755 --- a/src/focaccia/tools/capture_transforms.py +++ b/src/focaccia/tools/capture_transforms.py @@ -73,10 +73,12 @@ def main(): detlog = NullDeterministicLog() env = TraceEnvironment(args.binary, args.args, utils.get_envp(), nondeterminism_log=detlog) - tracer = SymbolicTracer(env, remote=args.remote, cross_validate=args.cross_validate, + tracer = SymbolicTracer(env, remote=args.remote, cross_validate=args.debug, force=args.force) - trace = tracer.trace(start_addr=args.start_address, stop_addr=args.stop_address) + trace = tracer.trace(start_addr=args.start_address, + stop_addr=args.stop_address) + with open(args.output, 'w') as file: parser.serialize_transformations(trace, file) |