[컴][리버스] 초보자를 위한 리버스 엔지니어링 reverse engineering 1

reverse engineering NTS 리버스 엔지니어링 기초, 초보자를 위한 강의
[http://tuts4you.com/download.php?view.1671, Single Byte Patching NTS CrackMe 1] 를 통해 crack 하는 방법을 배워보자. 이것을 다운받고, "SingleBytePatching.htm" 를 실행하면 tutorial 이 뜬다. 그것을 보고 따라하면 된다. 아래 내용은 그 내용을 바탕으로 작성한 내용이다. 이 crackme 의 미션(to do)는 single byte patch, 즉 한 byte 만 수정해서 crack 을 완성하는 과제이다.


Olly debugger 올리 디버거 다운받기

  1. olly debugger download, 올리 디버거 다운 받기 : http://www.ollydbg.de/odbg110.zip
  2. 올리 디버거를 설치한 폴더에 ini 교체 : ARTeam Ollydbg.ini


올리 디버거 사용법

  • execute till user code : alt+f9
    내가 작성한 코드 시작 직전에 멈춰준다. 처음에 exe load 하면 대체로 ntdll 을 연다. 그래서 user code 까지 가야할 필요가 있다.
  • restart : ctrl + f2(view >> restart)
    load 한 실행 file 을 재실행 시킨다. reload 의 개념과 같다.
  • step over : f8(view >> step over)
    어셈블러 코드 Assembler code 를 한 단계식 실행 시킨다.
  • breakpoint toggle : f2(context menu >> breakpoint >> toggle)
    수정하길 원하는 assembler line 을 클릭하고, breakpoint 를 설정한다.
  • edit assembler  : space(context menu >> Assemble)
    수정하길 원하는 assembler line 을 클릭하고, space 를 누르면 assebler 를 edit 할 수 있다.
  • binary 수정 : ctrl+E(context menu >> binary >> edit)
    바이너리를 수정하려면 ctrl+E(context menu >> binary >> edit) 를 하면 된다. JNZ 는 75 이고, JZ 는 74 이다.
  • operator 명령어
    • JNZ
    • JZ
  • 수정한 내용 저장하기
    1. 수정한 부분을 선택 >> context menu >> copy to executable >> selection
    2. 그러면 수정한 부분이 반영된 exe file 에 대한 창이 하나 뜬다.
    3. 여기서 >> context menu >> save file 을 하면 된다.

댓글 없음:

댓글 쓰기