DonggeLiu / Legion

A coverage-based software testing tool
MIT License
31 stars 4 forks source link

Compare against Driller #6

Open DonggeLiu opened 5 years ago

DonggeLiu commented 5 years ago
  1. Need to find the docker for Driller
  2. Need to check if the orchestration script works
  3. When running directly, crashed due to the following error:

Traceback (most recent call last): File "run-driller.py", line 7, in d = driller.Driller("../../Benchmarks/ParaDySE-legion/small_benchmarks/replace/replace", # path to the target binary File "/home/donggel/Baselines/Driller/driller/driller/driller_main.py", line 85, in drill list(self._drill_input()) File "/home/donggel/Baselines/Driller/driller/driller/driller_main.py", line 141, in _drill_input simgr.step() File "/home/donggel/Dependencies/angr/angr/misc/hookset.py", line 75, in call result = current_hook(self.func.self, args, kwargs) File "/home/donggel/Dependencies/angr/angr/exploration_techniques/driller_core.py", line 39, in step simgr.step(stash=stash, kwargs) File "/home/donggel/Dependencies/angr/angr/misc/hookset.py", line 75, in call result = current_hook(self.func.self, args, kwargs) File "/home/donggel/Dependencies/angr/angr/exploration_techniques/tracer.py", line 225, in step return simgr.step(stash=stash, kwargs) File "/home/donggel/Dependencies/angr/angr/misc/hookset.py", line 80, in call return self.func(args, kwargs) File "/home/donggel/Dependencies/angr/angr/sim_manager.py", line 344, in step successors = self.step_state(state, successor_func=successor_func, run_args) File "/home/donggel/Dependencies/angr/angr/misc/hookset.py", line 75, in call result = current_hook(self.func.self, args, **kwargs) File "/home/donggel/Dependencies/angr/angr/exploration_techniques/tracer.py", line 275, in step_state self._update_state_tracking(succs[0]) File "/home/donggel/Dependencies/angr/angr/exploration_techniques/tracer.py", line 386, in _update_state_tracking deviating_trace_idx=idx) angr.exploration_techniques.tracer.TracerDesyncError: BUG! Please investigate the claim in the comment above me

DonggeLiu commented 5 years ago

Docker is ready, from shellphish/mechaphish

DonggeLiu commented 5 years ago

Triggered the following error:

Traceback (most recent call last): File "/home/angr/angr-dev/driller/driller/local_callback.py", line 122, in for new_input in d.drill_generator(): File "/home/angr/angr-dev/driller/driller/driller_main.py", line 101, in drill_generator for i in self._drill_input(): File "/home/angr/angr-dev/driller/driller/driller_main.py", line 141, in _drill_input simgr.step() File "/home/angr/angr-dev/angr/angr/misc/hookset.py", line 75, in call result = current_hook(self.func.self, args, kwargs) File "/home/angr/angr-dev/angr/angr/exploration_techniques/driller_core.py", line 39, in step simgr.step(stash=stash, kwargs) File "/home/angr/angr-dev/angr/angr/misc/hookset.py", line 75, in call result = current_hook(self.func.self, args, kwargs) File "/home/angr/angr-dev/angr/angr/exploration_techniques/tracer.py", line 225, in step return simgr.step(stash=stash, kwargs) File "/home/angr/angr-dev/angr/angr/misc/hookset.py", line 80, in call return self.func(args, kwargs) File "/home/angr/angr-dev/angr/angr/sim_manager.py", line 344, in step successors = self.step_state(state, successor_func=successor_func, run_args) File "/home/angr/angr-dev/angr/angr/misc/hookset.py", line 75, in call result = current_hook(self.func.self, args, **kwargs) File "/home/angr/angr-dev/angr/angr/exploration_techniques/tracer.py", line 275, in step_state self._update_state_tracking(succs[0]) File "/home/angr/angr-dev/angr/angr/exploration_techniques/tracer.py", line 404, in _update_state_tracking elif self._compare_addr(self._trace[idx + 1], state.addr): File "/home/angr/angr-dev/angr/angr/exploration_techniques/tracer.py", line 474, in _compare_addr raise AngrTracerError("Trace desynced on jumping into %s. Did you load the right version of this library?" % current_bin.provides) angr.errors.AngrTracerError: Trace desynced on jumping into libc.so.6. Did you load the right version of this library?

It seems to be related to this issue, but I am too sure how to fix...

DonggeLiu commented 5 years ago

Check out the date when Driller Dockerfile is published, and pull the nearest version of ANGR/Tracer.