본문 바로가기
리버싱/CodeEngn 문제해결

Basic L02

by 멍청이 개발자 2026. 9. 15.
반응형

우선 문제는 다음과 같다.

그림0. 문제화면

파일을 실행하면 다음과 같이 오류가 뜨면서 실행이 안된다.

그림1. 오류화면

문제에 써있는데로 PE파일 형식이 손상된것 같다. 손상되었기 때문에 어짜피 디버거로도 안열린다.

PEView를 이용해서 파일을 열어보자.

그림2. PEView

역시나 DOS 헤더까지만 인식하고 그 이후 DOS stub이나 NT헤더 같은 추가 정보들이 보이지 않는다.

스크롤을 하다 보면 알아볼 수 있는 문자들이 보인다.

 

그림3. 스크롤한 화면

우선 눈에 띄는 것은 GetDlgItemText라는 문자와 MessageBoxA라는 문자다.

윈도우 프로그래밍을 해봤다면 알겠지만 GetDlgItemText는 입력박스에서 값을 가져올때 쓰는 함수 이고 MessageBoxA는 말 그대로 메시지 박스를 띄워주는 함수이다.

 

실행은 할 수 없지만 예상이 가는게 메시지 박스 화면에 입력창이 있고 버튼을 누르면 비밀번호를 인식해서 인증이 되는 프로그램 같다.

 

그리고 아래쪽에 보면 Nope, try again! Yeah, you did it! Crackme#1 JK3FZh라고 써있는 문장을 식별 할 수 있다.

Nope, try again!은 비밀번호가 틀렸을때 뜨는 문장일 것이고, Yeah, you did it!은 성공했을때 뜨는 문장일 것으로 예측 할 수 있다.

Crackme#1은 리버싱 워게임을 출제하는 곳 중 하나인 크랙미를 의미하는 것 같다.

그렇다면 그 뒤에 JK3FJZh는 무엇일까? 혹시 이 값이 비밀번호가 아닐까?

 

채점 결과 JK3FJZh가 비밀번호값이 맞았다.

 

이 문제의 의도는 정적분석과 동적분석 중에서 동적분석이 불가능 할때 정적분석만으로 사고하여 해결할 수 있는가 인것같다.

사실 저렇게 써있어도 실제로 아무 의미 없는 값일 수 있다. 하지만 우리는 위와 같은 과정을 통해 정적분석만으로 의심이 가는 부분을 찾아내고 그 부분을 통해 답을 유추해볼 수 있다는 것이다.

반응형

'리버싱 > CodeEngn 문제해결' 카테고리의 다른 글

Basic L06  (0) 2026.09.15
Basic L05  (0) 2026.09.15
Basic L04  (0) 2026.09.15
Basic L03  (0) 2026.09.15
Basic L01  (0) 2026.09.15