이 프로그램의 등록키는 무엇인가
파일 유형 확인
32bit PE 파일
분석
Segment가 UPX1인 것으로, UPX(The Ultimate Packer for eXecutables)는 오픈 소스 실행 파일 압축 프로그램으로, upx를 이용해서 언패킹할 수 있다.
여기서 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로 줬다.
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 |