Reversing Basic Challenge #1 write-up

장진혁·2025년 7월 4일

Reverse Engineering

목록 보기
4/6

이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다.

해당 바이너리를 분석하여 correct를 출력하는 입력값을 알아내세요.

라고 하네요.

이것도 마찬가지로 동적 분석을 먼저 해보기 위해,

input값에 아무 값이나 넣어 봤지만 wrong만 출력 되었습니다

이제 정적 분석을 해보기 위해 ida로 파일을 열었습니다.

제일 수상해 보이는 함수인 security_check_cookie를 확인해보니

__security_cookie와 input을 비교해서 분기 명령을 실행하는 것 같더라구요.

따라서 __security_cookie만 찾으면 답이 나올것 같습니다.

걍 모르겠어요~~

++
우선 main 함수로 들어가 봅니다.

설명대로 입력값과 플래그를 비교해서 correct, worng을 출력하는 것 같네요.

하나도 모르겠어서 함수 하나씩 들어가보기로 했다.

sub_1400013E0

sub_140001440


위 두 함수는 굉장히 유사했는데, 뭘 의미하는건지는 잘 모르겠다..

sub_140001000


이 함수에 들어갔는데, 바로 cmp라는게 눈에 보였다!! 그래서 아래로 쭉 내려보니 Input과 flag를 한문자씩 비교하는것 같았다.

그래서 문자들을 조합해보니 flag를 찾을 수 있었다.

profile
jnhhyuk

1개의 댓글

comment-user-thumbnail
2025년 7월 7일

태그 넣어주세요!

답글 달기