이메일을 적으시면 보안관련 소식을 받을수 있습니다.
이메일:

 

 

 

 

 

 

 

머릿말:

더보기

 최근들어 리버스 엔지니어링(역공학)에 관심을 많으신분들이 늘어났습니다.
하지만 역공학은 해보고 싶은데 어떻게 준비해야될지 모르시는 분들을 위해 어떻게 준비해나가야 하는지를 서술할 예정입니다.

 물론 제가 실력이 뛰어난 편이 아니기 때문에 잘못된 정보 혹은 더 좋은 설명 방식이 있으시면 적극적으로 리플 혹은 메일을 보내주시면. 참고 하여 고치겠습니다.
(메일은 머릿말 아래 '더보기'를 누르시면 있습니다.)

--------------------------------------------------------------------------------------------------------
리버스 엔지니어링을 준비하기 이전에 선행 이해도가 필요합니다. 

  1. 기본적인 프로그래밍 지식 (절차 지향, 객체 지향 언어)
  2. PE구조, ELF구조
  3. 분석 방법론
  4. 알고리즘
  5. 어셈블리어 이해
  6. 운영체제
  7. 악성코드
  8. API 함수
  9. etc.

 반드시 위의 목록들을 모두 알고 있어야만 역분석을 할 수 있다는것은 아닙니다. 얼마나 많은 지식을 이해하고 알고 있는지에 따라 개개인의 분석 방법이 달라지고, 분석 시간과 분석 정확성이 결정되는 부분이라 생각합니다.

 하지만 여기서 몇가지 꼭 집어서 알고 있어야 하는 내용은 기본적인 프로그래밍 지식, 어셈블리어 이해, 분석 방법론 정도 입니다.

 프로그래밍 지식 : 
    사실 처음 역분석을 시작하면 프로그래밍 하는 일이 많지 않습니다. 오히려 없는 경우도 있으며, 단순히 눈치껏 어
   셈블리 코드 값을 보면서 끼워 맞춰도 CrackMe 문제 한두개는 해결할 수 있습니다. 물론 그 이상의 분석방법역시 
   한계가 있으므로 C언어 혹은 그 이상의 고급언어들의 프로그래밍 지식을 미리 준비해 두시는것이 좋습니다.
    이미 나와 있는 책들로 충분히 준비 하실 수 있습니다.

  어셈블리어 이해 :
    다른 언어를 이용한 프로그래밍이 어셈블리 언어로 바꾸어 놓기 때문에 어셈블리 언어를 이용하여 프로그래밍할
   정도의 실력까지는 요구하지 않습니다. 하지만 이 어셈블리 언어를 보고 이해할 수 있는 수준까지는 되어야 합니다.
   약 40개의 어셈블리 명령어와 조건 점프 명령어를 참조 하면, 분석에 크게 지장이 없습니다.
    어셈블리 명령어:(스크롤이 길어 '더보기'로 해두었습니다.)

더보기

    검색 포털 사이트에서 '어셈블리 명령어'로 검색하시면 더 많은 어셈블리어 명령어에 대한 정보를 쉽게 얻으실 수
   있습니다.

  분석 방법론 :
    분석 방법론이라 함은 상당히 범위가 넓습니다. 그중 ollydbg같은 디버거를 이용하는 방법, Wireshark와 같은 네트
   워크 모니터링 툴을 이용한 패킷 분석 방법, Filemon 같은 시스템 모니터링 툴을 이용한 프로그램 행동양식 분석 방
   법 등 이 있습니다.
    이중 많은 분들이 공부하고 계시는 것중 하나가 ollydbg 툴 사용방법이 아닐까 합니다. (대부분 분석 자료들은 이
   툴을 이용하고 있습니다.)

    ollydbg : http://www.ollydbg.de
    Wireshark : http://www.wireshark.org
    Filemon : http://technet.microsoft.com/en-us/sysinternals/bb896642.aspx
   

--------------------------------------------------------------------------------------------------------
 CrackMe 문제를 풀면서 위 목록들을 조금씩 공부해 나가는것도 좋은 방법입니다. 
 이전 문제 파일들에 대한 풀이 자료들이 이미 충분할 만큼 나와 있으며, 쉽게 따라 할 수 있는 자료들도 존재 하고 있기때문에 문제를 하나씩 풀어보면서 부족한 지식을 보충하는 방법과 검색을 활용을 하면 좋은 청취율을 얻으실 수 있습니다. 
 
 역공학을 위한 분석 대상들을 얻기 위해 아래 링크에서 문제 파일을 얻을 수 있습니다.

   심플스 : http://simples.kr
   crackstore : http://www.crackstore.com
   
 문제 파일들에 대한 풀이는 검색을 통해 자료를 얻으실 수 있습니다.



신고
****************************************************************************************************

본 포스팅의 저작권은 보안인닷컴과 작성자에 있으며 상업적 이용을 배제하며 콘텐츠 이용시에는 반드시 출처와 링크를 이용해 주시기 바랍니다. 무단도용은 저작권법에 저촉을 받습니다..

****************************************************************************************************

Posted by John_G

댓글을 달아 주세요

  1. Favicon of http://extraman.tistory.com BlogIcon ^________________^ 2009.04.21 09:02 신고  댓글주소  수정/삭제  댓글쓰기

    또한명의 실력자가 오셨군여..사이다님..방가~
    JohnG님이라고 해야하나...
    잘읽었슴당...

  2. Favicon of http://www.sis.pe.kr BlogIcon 엔시스 2009.04.21 13:26 신고  댓글주소  수정/삭제  댓글쓰기

    앞으로 많은 좋은글 기대합니다..퐈이팅!!

  3. Favicon of http://www.facebook.com/dgjsdn99 BlogIcon Name 2013.02.18 15:57 신고  댓글주소  수정/삭제  댓글쓰기

    어셈 단어 뜻이 어려워요 피연산자는뭐지....ㅜㅠ인터럽트 인에이블 프로시져 등등 으아 돌겠내요 ㄷㄷ 저런 단어들 잘 이해하는 방법 없을까요