Find a method to gain arbitrary execution via:
General Goals
Specific Goal:
The more specific your goals are, the better!
This will help you narrow where you need to look to find bugs.
bvadd, bvsub, bvmul
bvult, bvgt, bveq
and, or, not
If a solution exists, the constraint is considered ‘satisfiable’ or if no solution exists, ‘unsatisfiable’
SAT/UNSAT are more commonly used
Constraint may be unknown
# Create two BitVector Variables
x = BitVector("x", 64)
y = BitVector("y", 64)
# Constraints
Solver.add(x == 4)
Solver.add(y == 3)
Solver.check(x+y == 100)
# What will happen here?# Create two BitVector Variables
x = BitVector("x", 64)
y = BitVector("y", 64)
# Constraints
Solver.add(x > 4)
Solver.add(y == 3)
Solver.check(x+y == 100)
# What will happen here?Input = TestCase1
Input = TestCase2
Saved TestCase1