반응형
흠.. 크기가 너무 커서 Hex-Ray가 작동하지 않는다.

이번 문제도 패스워드를 입력하면 complex_function에서 연산하고,
avoid_me를 피한채로 maybe_good으로 들어가면 된다.




avoid_me 에 들어가면 should_succeed가 0이 되므로 피해야 한다.
import angr
def main():
proj = angr.Project('./01_angr_avoid')
init_state = proj.factory.entry_state()
simulation = proj.factory.simgr(init_state)
print_good = 0x80485E5
avoid_addr = 0x80485A8
simulation.explore(find=print_good, avoid=avoid_addr)
if simulation.found:
solution = simulation.found[0]
print('flag: ', solution.posix.dumps(0))
else:
print('no solution')
if __name__ == '__main__':
main()
avoid_addr을 추가하야 explore에 넣어준다.


반응형
'CTF. > Angr Tutorial For CTF' 카테고리의 다른 글
05_angr_symbolic_memory #Angr Tutorial For CTF (0) | 2022.08.24 |
---|---|
04_angr_symbolic_stack #Angr Tutorial For CTF (0) | 2022.08.23 |
03_angr_symbolic_registers #Angr Tutorial For CTF (0) | 2022.08.22 |
02_angr_find_condition #Angr Tutorial For CTF (0) | 2022.08.21 |
00_angr_find #Angr Tutorial For CTF (0) | 2022.08.19 |
댓글