2016 CSAW CTF key

Reversing/리버싱 문제풀이

2016. 9. 19. 17:40


ㅇㅅㅇ 이런 메시지가 출력된다.



 이 부분에서 에러메시지가 출력이 되고 바로 위 호출되는 함수를 보거나, 문자열을 찾아보면 파일을 오픈하는 함수가 있는데 존재하지 않을경우 위의 메시지가 출력된다.





위의 경로에 flag.txt라는 파일이 있어야 하고 나는 경로를 만들고 txt파일에 A를 채워 넣어서 다시 실행을 시켜보았다.





이제는 키가 틀렸단다.




ida로 보면 바로 위의 함수부분의 결과에 따라 분기하는 것을 알 수 있다.





이제 올리디버거로 저부분을 브레이크를 잡아서 레지스터들을 살펴보았는데

ECX레지스터에 내가 입력한 문자열의 주소가 들어가는것을 확인할 수 있었다.





해당 함수로 들어가면 문자열을 ECX에 다시 저장하고 ESI부분과 4바이트씩 비교하는 부분이 나온다.

ESI부분에 있는 값이 key임을 알 수있다.

플래그처럼 안생긴 플래그라서 몰라봤다...