ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Basic 06
    Write-Up/CodeEngn 2019. 7. 4. 17:44

    문제: Unpack을 한 후 serial을 찾으시오. 정답인증은 OEP + serial

    Ex)00400000PASSWORD

     

    파일을 다운로드한 후 실행시키면 다음과 같은 화면을 확인할 수 있다. 

     

     

     

    오답을 입력하면 다음과 같은 창이 출력된다. 

     

     

     

    언패킹하라는 것을 보면 패킹이 되어있다는 것이고 PEID를 확인해보면 다음과 같다. 

     

    upx로 패킹되어있으므로 05와 같은 방법으로 언패킹해준다. 

    Basic 05에 사진을 넣지 않았는데 언패킹할 exe파일과 upx폴더는 다음과 같이 존재해야한다. 

     

     

    언패킹하면 다음과 같다. 

     

    언패킹한 파일을 PEID로 다시 확인하면 다음과 같다. 

     

    언패킹한 파일을 Ollydbg에 올리면 다음과 같은 화면을 확인할 수 있다. 

     

     

     

    [풀이 1] back to user 모드 사용

    Ollydbg에 올린 후 F9로 프로그램을 실행하고, 프로그램에 아무 값이나 넣어준 뒤, 체크 후 확인 창이 뜨면 그 상태로 Ollydbg를 일시정지 시키고 Alt + F9를 통해 back to user모드로 변경한다. 그 다음 확인 창을 누르면 다음과 같은 주소로 이동한다. 

     

    내가 입력한 값인 P1ZZ4가 있고, 그 아래에 문자 값이 있다. 

    이 값을 프로그램에 입력하면 다음과 같은 창이 뜬다. 

     

    400

    정답을 맞추려면 추가적으로 *OEP도 알아야한다. 

    찾아가 보면 다음과 같다. 

     

    *OEP란 Original Entry Point의 약어로 프로그램의 실제 시작 위치이다. 

     

     

    [풀이 2] IDA 사용하기

    언패킹 후 IDA에 프로그램을 올린 후 분석하면 쉽게 OEP와 Serial Number을 찾을 수 있다.

    strcmp함수를 잘 따라가보면 찾을 수 있다. 

    'Write-Up > CodeEngn' 카테고리의 다른 글

    Basic 05  (0) 2019.07.04
    Basic 04  (0) 2019.07.04
    Basic 03  (0) 2019.07.04
    Basic 02  (0) 2019.07.04
    Basic 01  (0) 2019.07.04
Designed by Tistory.