반응형

simples crack me #6 문제 풀이

실행파일을 파악해보면, console 프로그램이고 MinGW 컴파일을 이용하였습니다.  

crackme 6 실행파일을 실행해보면 아래와 같이 콘솔 프로그램이 실행됩니다. 

password를 입력하는 부분에 아무거나 쓰고 엔터를 누르면 wrong!을 출력하게 됩니다.

이 문제는 Password를 구하는 문제로 보입니다. 

우선 search for > All referenced text strings에서 wrong! 문구를 찾아 해당 주소로 이동합니다.

Wrong! 코드에서 위쪽으로 올라가다보면 00401555 주소에서 7F97E56C 값과 [LOCAL.1] 주소의 값을 비교하여 JNZ로 분기하게 됩니다. 

[LOCAL.1]은 아래 주소의 값과 같습니다. 

[LOCAL.1] =>DWORD PTR SS:[EBP-4]

EBP-4인 0022FF74 주소의 값을 보면 입력한 값인 12341234(0x00BC4FF2)가 있는 것을 알 수 있습니다. 

이것으로 EBP-4 주소에는 콘솔창에서 입력한 값이 저장됨을 알 수 있습니다. 

하여, 7F97E56C 값을 password에 입력하면 되는 것을 알 수 있습니다. 

이 값은 16진수라 10진수 값인 2140661100을 입력해 보도록 하겠습니다.

2140661100를 입력하니 Correct, good job!을 출력하는 것을 볼 수 있습니다.

반응형

'WarGame > crack me' 카테고리의 다른 글

abex crack me #5 문제 풀이  (0) 2020.08.26
abex crack me #4 문제 풀이  (0) 2020.08.25
abex crack me #3 문제 풀이  (0) 2020.08.25
abex crack me #2 문제 풀이  (0) 2020.08.25
abex crack me #1 문제 풀이  (0) 2020.08.17

+ Recent posts