angr.analyses.congruency_check¶
- class angr.analyses.congruency_check.CongruencyCheck¶
Bases:
AnalysisThis is an analysis to ensure that angr executes things identically with different execution backends (i.e., unicorn vs vex).
- __init__(throw=False)¶
Initializes a CongruencyCheck analysis.
- Parameters:
throw – whether to raise an exception if an incongruency is found.
- set_state_options(left_add_options=None, left_remove_options=None, right_add_options=None, right_remove_options=None)¶
Checks that the specified state options result in the same states over the next depth states.
- set_states(left_state, right_state)¶
Checks that the specified paths stay the same over the next depth states.
- set_simgr(simgr)¶
- run(depth=None)¶
Checks that the paths in the specified path group stay the same over the next depth bytes.
The path group should have a “left” and a “right” stash, each with a single path.
- compare_path_group(pg)¶
- compare_states(sl, sr)¶
Compares two states for similarity.
- compare_paths(pl, pr)¶