Research Article

An Exploitability Analysis Technique for Binary Vulnerability Based on Automatic Exception Suppression

Algorithm 3

Filter original chain to get data gadget.
(1) Input: Original chain list L
(2) Output: None
(3) data gadget_list = ;
(4) min_read = solve_constraints.min(violating_action_addr);
(5) max_read = solve_constraints.max(violating_action_addr);
(6) filtered_chain = filter(lambda x: (min_read <= x) and (x<= max_read),largest_regions);
(7)  for chain in filtered_chain;
(8)   new_constraint = violation_action_addr == chain;
(9)   if solve_constraints.satisfiable(previous_constraint + new_constraint)
(10)    data gadget_list.append(chain);
(11) End