개인노트
[리버싱] 2.디버거 본문
디버깅을 시작하기 위해서는 전문적인 디버거를 사용해야한다. 디버거는 여러가지 종류가 있지만 여기서는 OllyDbg를 사용하기로 한다.
OllyDbg는 한눈에 보기 쉬운 인터페이스 구조와 여러가지 Plugin을 사용할 수 있는 Win32 디버거이며 무료로 제공되고 가겹고 빨라 많이 사용된다.
디버깅을 하기 위해서 올리디버거(OllyDbg)라는 프로그램을 다운로드 한다.
왼쪽의 Files 밑에 Odbg200.zip을 다운로드 받고 압축을 해제한 후
ollydbg.exe를 실행한다.
HellowWorld.exe를 받았다면 올리디버거를 통해 열어준다.
<그림 2-1>
1. Close Window : Disassembler Code를 표시하며 Comment, label을 보여주며 코드를 분석하여 loop, jump 등 정보를 표시한다.
2. Register Window : CPU Register 값을 실시간으로 표시하며 register 값은 수정이 가능하다.
3. Dump Window : Memory 주소 위치를 Hex와 ASCII/유니코드 값으로 표시하며 수정 또한 가능하다.
4. Stack Window : ESP Register가 가리키는 프로세스 Stack Memory를 실시간으로 표시하고 수정도 가능하다.
[ EP ]
<그림 2-1>의 Close Window에서 회색 부분은 디버거가 멈춘 곳이고 EP(Entry Point)라고 하며 Helloword.exe의 실행 시작 주소이다.
EP(Entry Point) 란 ?
Windows 실행 파일(exe, dll, sys...)의 코드 시작점을 의미한다. 프로그램이 실행 될 때 CPU에 의해 가장 먼저 실행되는 코드 시작 위치이다.
1. Address : 프로세스의 가상메모리(Virtual Address) 주소
2. Instruction : IA32 or x86 CPU명령어
3. Disassembled Code : OP code를 보기 쉽게 어셈블리어로 변환한 코드
4. Comment : 디버거에서 자체적으로 추가한 주석
'Reversing' 카테고리의 다른 글
[리버싱] 3.OllDbg 기본 명령어 (0) | 2017.07.02 |
---|---|
[리버싱] 1.시작 (0) | 2017.07.01 |