Reversing Basic Challenge #3
이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출력하는 입력값을 찾으세요! 획득한 입력값은 DH{} 포맷에 넣어서 인증해주세요. 예시) 입력 값이 Apple_Banana일 경우 flag는 DH{Apple_Banana}
sub_140001000 함수

반복문을 0x18 = 24번 반복
→ if 문의 조건이 성립할 경우 0, 성립하지 않고 24번 반복되면 1을 반환
if 문이 성립하지 않기 위해서는 (i ^ *(unsigned __int8 *)(a1 + i)) + 2 * i)을 연산한 결과가 byte_140003000[i]의 값과 동일해야함
byte_140003000[i] 의 값


byte_140003000이 선택된 상태에서 Shift + E 단축키를 누르면 해당 데이터를 해석 가능하기 간편한 형태로 익스포트 가능

49 60 67 74 63 67 42 66 80 78 69 69 7B 99 6D 88 68 94 9F 8D 4D A5 9D 45
역연산

'Reversing > Dreamhack : Reverse Engineering' 카테고리의 다른 글
| [Dreamhack] rev-basic-5 (0) | 2025.04.21 |
|---|---|
| [Dreamhack] rev-basic-4 (0) | 2025.04.21 |
| [Dreamhack] rev-basic-2 (0) | 2025.04.21 |
| [Dreamhack] rev-basic-1 (0) | 2025.04.21 |
| [Dreamhack] rev-basic-0 (0) | 2025.04.21 |