<문제>
<풀이>
먼저 파일을 실행하여 동적 분석을 진행해본다.
Windows PowerShell을 연다.
다운로드한 chall1.exe를 PowerShell 창에 끌어다놓고 Enter를 눌러 실행한다.
입력값을 대기하는 상태가 된다.
임의의 값 apple을 입력해보았는데 Wrong 메시지가 뜨고 프로그램이 종료된다.
이제 정적 분석을 진행해본다.
IDA로 chall1.exe를 연다
파일에 대한 정보가 나온다.
확인 후 OK를 클릭한다.
심볼을 가져오겠냐는 확인창이다.
심볼 파일이 없으므로 No를 클릭한다.
Shift+F12를 눌러 문자열을 찾아본다.
Correct 부분을 더블클릭한다.
어셈블리 코드 내에서 Correct 가 있는 부분의 명령어를 찾았다.
Buffer 변수를 참조하는 함수를 찾기 위해 Buffer를 클릭한 후 단축키 x를 누른다.
Buffer를 참조하는 함수가 뜬다.
더블클릭한다.
main함수를 찾았다.
F5를 눌러 디컴파일을 하면 디컴파일된 main함수를 확인할 수 있다.
sub_140001000()의 반환값으로 조건문을 실행하므로 해당 함수를 클릭해본다.
입력값 a1을 인자로 받아 한 문자씩 숫자와 비교한다.
모든 문자가 숫자와 같으면 0을 반환한다.
숫자를 아스키 코드로 변환하면 찾고자 하는 문자열을 볼 수 있을 것이다.
숫자를 클릭한 후 단축키 r을 클릭하면 IDA가 숫자에 대응되는 아스키 문자로 바꿔준다.
모두 문자로 바꿔보니 다음과 같은 문자열을 찾을 수 있었다.
"Compar3_the_ch4ract3r"
'드림핵' 카테고리의 다른 글
[드림핵 워게임] rev-basic-3 (2) | 2023.11.24 |
---|---|
[드림핵 워게임] patch (2) | 2023.11.24 |
[드림핵 워게임] rev-basic-0 (1) | 2023.11.21 |
[드림핵 Reverse Engineering] Stage 5 (0) | 2023.11.14 |
[드림핵 Reverse Engineering] Stage 4 (0) | 2023.11.07 |