[KH Wargame] Reversing01 풀이
Wargame/KH Wargame

[KH Wargame] Reversing01 풀이

문제 종류 - Reversing
사용한 툴 - Ollydbg, HxD
Flag, Hint, 정답 형식

flag = ?

hint: Win32 console application

정답 형식: flag의 해쉬 값

 

풀이

 

파일이 하나 주어진다. HxD를 통해 분석해봤다.

MZ로 시작하는 걸 봐서는 .exe 파일인 거 같다. 확장자를 .exe로 바꾸고 실행해보자.

Passcode를 찾는 문제라고 생각이 든다. 

여기서 알 수 있는 정보는 Passcode는 10자리란 것이다.

ollydbg를 이용해 분석해보자

 

우선 main function을 담당하는 이 부분에 BP를 걸어준다. 

그 후 F7를 눌러 함수 안으로 들어가보자.

그러면 다음과 같이 스택에 값을 바꾸는 코드가 존재한다.

쭉 내려서 해당 주소에서 BP를 걸어준다.

이 CALL문을 실행시키면 콘솔에서 입력을 받기 시작한다.

abcde12345란 값을 콘솔에 입력해봤다.

해당 EBP 부분에 내가 넣은 값이 저장되었다.

그리고 해당 분기를 보면 EAX와 ECX를 비교해 점프문을 실행한다.

여기서 JNZ = Jump if not zero라는 뜻이다.

 

모든 분기를 통과하면 다음 문자열을 볼 수 있을 것이다.

아마도 이 구문을 실행시키면 Flag가 나오는 듯 하다.

모든 분기를 지나기엔 너무 귀찮아서 그냥 코드를 패치했다.

임의로 JMP문을 만들어 바로 00401231로 Jump했다.

이 구문을 실행하면 Flag를 얻을 수 있다.

flag: md5(flag)

'Wargame > KH Wargame' 카테고리의 다른 글

[KH Wargame] Network04 풀이  (0) 2020.08.07
[KH Wargame] Reversing02 풀이  (0) 2020.04.25
[KH Wargame] Misc04 풀이  (0) 2020.04.25
[KH Wargame] Misc03 풀이  (0) 2020.04.24
[KH Wargame] Misc02 풀이  (0) 2020.04.24