[Reversing] rev-basic-7 문제풀이

문제를 확인해보자.

 

Correct를 출력하는 FLAG 값을 찾는 문제이다.

문제 파일을 x64dbg 프로그램으로 열어보자.

 


correct를 출력하는 flag 값을 찾아야하기 때문에 문자열 참조 찾기를 통해 correct 문자열을 찾아보자.

 

사용자가 FLAG를 입력하고 chall7.7FF744611000 함수에서 입력 값 비교를 한 뒤,

Correct/Wrong 메시지를 출력한다. 해당 함수를 따라가보자.

 

 

위 함수에서 사용자 입력 값에 대해 수행하는 연산은 다음과 같다.

 

[cmp rax, 1F]                   // 32번 반복

[and eax, 7]                    // eax에 7과 and 연산한 값을 저장

[movzx ecx, al]              // 

복사했습니다!