ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • lena 04강
    > Information Security/Reverse Engineering 2012. 3. 31. 11:31

    lena 강의 04

    @zrungee

    이번에 뜯어볼 파일은

    PixtopiaBook이라는 프로그램.

     

    OllyDbg로 열어서 실행하니

    프로그램을 설치하라는 말이 나온다. 쭉~ 설치해주도록 한다

     

     

    PixtopianBook의 정체가 나타났다.

    Unregistered 버전이니 registered버전으로 변경시켜주는 것이 목적인 듯 하다.

    패치해주어야할 부분 첫번째

     

    두번째

     

    3번째

    Add 가 최대 4명까지밖에 되지 않는다. (Unregistered version이라서)

     

     

    4번째.

    그룹추가가 3그룹까지만 가능하다.

     

     

    마지막 5번째.

    Help>About 에 나타난 Unregisterd version.

     

     

    여기에서 3번째와 4번째(인원 추가와 그룹 추가) 기능은

    BackToUser모드를 이용해서 수정이 가능하다.

     

    먼저 그룹추가 기능.

     

    Add Group 버튼을 눌러 에러창을 띄워 준 뒤,

     

    OllyDbg로 되돌아가 일시정지를 누르고

    Alt + F9를 눌러 BackToUser모드로 한다.

    BackToUser모드를 확인하고

     

     다시 프로그램 창으로 돌아와

    '확인' 을 눌러주면, 

    OllyDbg에 브레이크 포인트가 걸린다.

    이부분에서, 묶여있는 부분이

    위에서 부터 시작되는 것이 보인다.

    위로 올려보자.

     

    MessageBoxA가 보인다.

    이부분에서 F8로 진행시켰을 때, MessageBox가 CALL한 부분을 확인해보자.

     

    발견!!

     

     JL을 JMP로 변경한다.

     

     

     이제,

    트래싱을 풀고

     

     

    AddGroup을 눌러보면 New Group생성이 가능하다.

    패치성공!

     

     

     

     

    같은 방법으로 

    Add 를 눌러, 사용자 추가가 가능하도록 패치하면 된다.

    Add를 눌렀을때 창이 뜬 모습

     

    OllyDbg에서 트래싱한 뒤 Alt+F9로 BackToUser모드

    다시 창에서 확인버튼을 눌러 준 뒤, OllyDbg에 뜬 브레이크 포인트 위치

    마찬가지로 F8로 진행.

    메세지창이 CALL하는 메세지의 모습

     

     

    JL을 JMP로 변경

    트래싱 풀고

     

    New Entry 생성이 가능.

    패치 성공!

     

    정확도를 높이기 위해

    Copy to Executable > All modification > 모두복사 > Save File 로 저장!

     

    다시 파일을 불러와서 실행한다.

     

     

     

     

     

    이번에 패치할 부분들은 UNREGISTERED를 REGISTERED로 변경해주는 작업이다.

     

    OllyDbg의 MemoryMap에서

     

     

    Search 창에서 '(unregistered version'을 찾는다.

     

     

    찾았다!

     

    CPU창으로 되돌아와 HEX값을 '004E4BE6'으로 바로가기한다(Ctrl+G)

    이부분의 바이너리를 수정해줄 것이다.

     

    크기는 보존해 주되, 내용은 변경.

    변경 뒤, 저장

     

    저장 후, 다시 열어보니 패치가 성공했다!

     

     

    이번과 같은 방식으로 나머지 두 부분을 수정하면 된다. 

    이번엔 이부분을 수정해보자.

    마찬가지로 Memory Map > Search 'Unregistered version'을 찾는다.

     

    Dump창에서 찾은 모습

     

    Hex값을 '004D4830'으로 바로가기

     

     

    크기는 고정한 채로, 바이너리값 수정

    + 저장한 뒤 실행

     

    Help > About~~~ 에서 확인해 본 결과 패치 성공!

     

     

     

    마지막으로 이 부분 역시 같은 방식으로 패치해준다.

     

     

    MemoryMap 에서 Search

     

     

     

    'This is unregistered ~~~~~'이므로  'This is an unre'를 검색.

     

     

    찾았다!

    '0048F974'이라는 Hex값을 찾고

      

    이부분을 변경!

    그리고 저장한 뒤 실행하면

     

     

    패치성공!

    출처 - lena 강의 04
    728x90
    반응형

    '> Information Security > Reverse Engineering' 카테고리의 다른 글

    lena 06강  (0) 2012.03.31
    lena 05강  (1) 2012.03.31
    lena 03강  (0) 2012.03.25
    lena 02강  (0) 2012.03.25
    lena 01강  (0) 2012.03.24
Designed by Tistory.