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)
```