본문 바로가기

Wargame/CodeEngn

CodeEngn Basic RCE L05

 

 

 

CodeEngn.com [코드엔진]

 

CodeEngn.com [코드엔진]

코드엔진은 국내 리버스엔지니어링 정보공유를 위해 2007년 부터 리버스엔지니어링 컨퍼런스 및 세미나, 워크숍을 현업 실무자들과 함께 운영하고 있는 비영리 커뮤니티입니다.

ch.codeengn.com

 

이 곳에서

 

 

저 파일을 다운 받는다. 문제를 보아하니 등록키를 찾는 건가 보다.

 

 

압축파일이기에 압축을 풀려고 했더니 암호를 입력해야한다. 저 암호가 찾아야 하는 등록키일까?

 

아니었다. exe 파일이 필요한데 압축이 안 풀려서 다른 사람이 인터넷에 올려둔 exe 파일을 다운받아야 했다.

 

 

실행했더니 이러한 창이 뜬다.

 

 

레지스터 창에 아무거나 입력했더니 틀린 시리얼키라고 한다. 찾아야하는 등록키란 이쪽인가 보다.

 

 

Quit 을 누르니 저런 창이 뜨는데 저 메일로 이름과 답을 보내면 정답자에게 무슨 일이 일어나는걸까 궁금하다.

 

배운 것을 써먹기 위해 upx 언패킹을 진행해보겠다. upx-3.96-win64 파일 안으로 압축파일을 옮긴다.

 

뒤늦게 알았는데, 

 

upx -d -o "생성될 언패킹 파일 경로" "언패킹에 사용할 파일 경로"

즉, upx -d -o 05_unpacked.exe 05.exe

 

이렇게 하면 파일을 덮어씌우지 않고 05.exe라는 파일을 05_unpacked.exe라는 파일로 언패킹할 수 있다고 한다.

 

쉬운 방법

 

 

다른 방법

 

 

일단 PUSH AD 를 찾아보자.

 

아. PUSH 는 모르겠지만 POP AD는 바로 찾았다. 0040100A에.

여기서 Ctrl F8을 해주면 주르륵 내려가다가 아래의 00441270 push ebp 에서 멈춘다. 

 

 

저 화면 아래쪽에 pop ad가 또 나오긴 한다. 004412E7에.

 

 

조금 위로 올리면 저 부분이 나온다.

 

 

어라. 저게 정답이 아닌걸까. 

 

코드를 잘 살펴보니 Wrong 메시지를 출력하는 주소코드가 두 개이다.

어쩌면 저 코드 하나만 입력해서 되는게 아닐지도 모른다.

 

Unregistered... 문자열과 Register User 문자열도 매개로 받는걸 보니 이건가 보다.