상세 컨텐츠

본문 제목

CodeEngn Basic RCE L05

REVERSING/Reversing Study

by koharin 2021. 5. 3. 02:47

본문

728x90
반응형

이 프로그램의 등록키는 무엇인가


파일 유형 확인

32bit PE 파일

 

분석

Segment가 UPX1인 것으로, UPX(The Ultimate Packer for eXecutables)는 오픈 소스 실행 파일 압축 프로그램으로, upx를 이용해서 언패킹할 수 있다.

upx.github.io/

 

UPX: the Ultimate Packer for eXecutables - Homepage

Welcome UPX is a free, portable, extendable, high-performance executable packer for several executable formats. Please also see the Wikipedia entry for some more background info. Blog Posts 23 Jan 2020 » UPX 3.96 released 26 Aug 2018 » UPX 3.95 released

upx.github.io

여기서 Download latest release에 들어가서 upx-3.96-win64.zip 윈도우용을 다운받았다.

압축해제하고, 여기서 upx.exe만 사용하면 upx 명령어를 통해 원하는 동작을 할 수 있다.

upx.exe -d 명령어를 통해 05.exe 파일을 언패킹했다.

언패킹을 통해 win32/pe 포맷의 파일을 얻을 수 있다.

 

win32 pe 파일을 다시 IDA로 열어보니 아까와 다르게 함수들을 볼 수 있었다.

 

 

x32dbg로 실행해보면, 다음과 같이 MessageBox가 뜬다.

Name/Serial을 입력하는건데, Serial은 디폴트로 입력되어있으니 Name만 알면 되는건가?

저 문자열이 언제 뜨는지 알기 위해 EntryPoint에서 우클릭 -> 다음을 찾기 -> 현재 구역 -> 문자열 참조 를 가면 다음과 같이 문자열들을 볼 수 있다.

 

Congrats! You cracked this CrackMe! 이 부분이 옳은 Name을 입력했을 때 얻는 출력일테니 해당 문자열을 더블클릭해서 어셈블리 코드로 가본다.

Name과 Serial 모두 입력했으면, Registered User와 GFX-754-IER-954 을 입력한 값과 비교한다. 즉, 이것이 등록을 위한 Name/Serial에 해당하는 키이다.

 

Binary Ninja에서도 위의 Strings를 보면 Unregistered... 부분의 Serial이 Key인줄 알았는데 아니었다.

 

등록키이므로 Serial 값을 Key로 줬다.

 

 

728x90
반응형

'REVERSING > Reversing Study' 카테고리의 다른 글

CodeEngn Basic RCE L08  (0) 2021.05.09
CodeEngn Basic RCE L06  (0) 2021.05.09
CodeEngn Basic RCE L04  (0) 2021.05.03
CodeEngn Basic RCE L03  (0) 2021.05.03
CodeEngn Basic RCE L02  (0) 2021.05.02

관련글 더보기