


사용자의 입력에 따라 'Wrong' 또는 'Correct'가 출력된다고 유추

'Input : '과 'Wrong' 그리고 'Correct' 문자열 확인

'Correct' 문자열이 사용되는 함수 확인 => main
main 함수 디컴파일

sub_1400013E0 함수를 호출하여 'Input : '을 출력
-> sub_140001440 함수를 호출하여 사용자에게 입력 받은 값을 v4에 저장
-> sub_140001000 함수를 호출하여 반환값에 따라 'Correct' 또는 'Wrong' 출력


sub_1400013E0 함수에서 호출한 sub_1400012B0 함수를 살펴보면 vfprintf 함수를 호출
=> printf 함수로 추측 => 함수 이름 printf로 변경


sub_140001440 함수에서 호출한 sub_140001300 함수를 살펴보면 vfscanf 함수를 호출
=> scanf 함수로 추측 => 함수 이름 scanf로 변경

1Byte 단위로 값 비교
값이 주어진 숫자와 다르면 0을 반환
값이 주어진 숫자와 같고 마지막에 a1[21]의 값이 0이면 1을 반환
주어진 숫자를 아스키코드로 변환하면 'Compar3_the_ch4ract3r'
=> 입력된 값이 'Compar3_the_ch4ract3r'과 같으면 1을 반환
