<CTF>/<HackCTF>
Welcome_REV :: HackCTF/Reversing
meow00
2020. 5. 15. 00:15
welcome_rev파일을IDA로 열어 주었다.
main 함수에서
답이 맞는지 틀린지 분기되는 부분인데,
입력 값과 답을 비교하기 위해
check_password라는 함수가 call 되는 것을 볼 수 있었고,
check_password 함수의 그래프를 보면
뭔가 이상한 값이 있는 걸 찾을 수 있었다.
이 값을 더블 클릭해서 자세히 보면
문자열 마지막 =로 끝나는 것을 통해 base64로 인코딩 된 것을 알 수 있었다.
(base64 인코딩 과정에 '='문자가 생성되는 이유;
비트 수를 맞춰 원본 바이너리 데이터가 없던 비트가 생기는 것을 방지)
이 문자열을 온라인 디코더로 돌려주면
Flag를 찾았다.