Tags: angr reversing
Rating:
# Solution
```python
#!/usr/bin/env python3
from angr import *
import claripy
proj = Project("./thou_shall_pass")
flag_chars = [claripy.BVS('flag_%d' % i, 8) for i in range(0x1f)]
flag = claripy.Concat(*flag_chars + [claripy.BVV(b'\n')])
entry_state = proj.factory.entry_state(stdin=flag)
for k in flag_chars:
entry_state.solver.add(k != 0 )
entry_state.solver.add(k != 10)
sm = proj.factory.simulation_manager(entry_state)
sm.run()
for pp in sm.deadended:
inp = pp.posix.dumps(0)
if b"X-MAS" in inp:
print(inp)
```