시리얼 키를 맟춰야 되는것 같다. 그냥 Resister now 를 클릭하니까 에러 메세지가 나온다

 

 

메세지 내용을 보아 시리얼 키를 찾는것이 목적인거 같다.

Olly DBG로 열고난 후에, Search for > All intermodular calls을 이용해서 사용되는 API를 검색을 해보았지만

뭔가가 이상함을 알 수 있었다.

 

 

아무것도 없다. 그래서 에러 메세지를 기반으로 검색을 해보았지만

뭔가 이상하다.

 

 

패킹으로 실행 압축이 되어있는거 같다 그래서 PEID를 이용해서 패킹의 여부를 확인 해보았다.

 

패킹이란?

실행압축이라는 의미를 가지며 그 의미인 즉슨 파일 내부에 압축해제코드를 포함하고 있어서

실행될 때 메모리단에서 압축해제 후 실행시키는 기술을 의미한다.

패킹을 사용하는 이유는 코드분석으로 인한 악의적인 용도로 사용하는것을 방지하는 것에 목적을 둔다.

 

 

UPX를 이용해서 패킹이 되어있다. 따라서 UPX를 이용해서 언패킹을 진행해 보았다.

 

 

UPX를 다운로드 한 뒤에 (반드시 UPX가 설치된 경로로 이동한 다음 확인해야 한다.)

Cmd 에서 UPX에 대한 정보를 확인 할 수 있다.

그럼 여기서 -d 와 -k를 이용해서 언패킹을 해보았다.

 

 

해당 파일의 용량이 증가한걸로 봐서 언패킹이 진행된거 같다. 

Olly DBG로 열어보았다.

 

 

메세지 창의 내용을 기반으로 검색을 하기 위해서 Search for -> reference text strings를 보았더니 이제는 아까전과 달리 아스키 코드의 값을 확인 할 수 있었다. 그리고 에러 메세지와 성공메세지를 띄우는 문자열을 확인 할 수 있었다.

 

 

인증로직이 눈에 보인다. 

1. 이름을 입력하지 않았을 경우 Enter a Name이라는 메세지를 보여준다. 

2. 시리얼 값을 입력하지 않았을 경우 Enter a Serial이라는 메세지를 보여준다.

3. 이름과 시리얼 값이 모두 일치하는지 비교한다.

- 일치할 경우 Congrates! You cracked this CrakMe라는 메세지를 보여준다.

- 불일치의 경우  Worng Serial, try again이라는 메세지를 보여준다.

 

해당 프로그램의 이름과 시리얼 값은 이미 인증로직에서 확인 할 수 있듯이

Name = Registered User

Serial = GFX-754-IER-954이다.

 

 

성공했다는 메세지 창을 보여준다.

'CTF > Reversing' 카테고리의 다른 글

Code Engn Basic RCE level 7  (0) 2020.12.03
Code Engn Basic RCE level 6  (0) 2020.12.02
Code Engn Basic RCE level4  (0) 2020.08.16
Code Engn Basic RCE level3  (0) 2020.08.12
Code Engn Basic RCE Level2  (0) 2020.08.12

+ Recent posts