[DreamHack_wargame] rev_basic_1번
문제 : 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출력하는 입력값을 알아내세요. 1. 메인 함수 아래 그림의 위 박스 아래에서 세번째 줄을 보면, call을 통해 함수를 호출하고, eax가 0이면 wrong, eax가 0이 아니면 correct로 감을 확인할 수 있다. 따라서 위의 call 함수가 주어진 값과 입력받은 값을 확인하는 함수임을 알 수 있고, 해당 문제에 따라 correct가 되기 위해서는 eax값은 0이 아니어야 한다. 2. 비교 함수 :rax를 계속 증가시키면서 cmp를 통해 주어진 문자열의 문자와 입력받은 문자열의 문자를 하나씩 비교한다. 즉, 문자..
Reversing/DreamHack
2021. 4. 12.