리버싱을 실습할 때, OllyDbg를 사용한다. OllyDbg는 바이너리 코드 분석을 위한 32비트 무료 디버거이다.
위 사이트에 들어가서, 다운로드 란에서 올리디버거 최신버전을 다운로드 받아준다. 압축을 해제한 뒤, exe 파일을 실행해 올리디버거를 실행한다.
실행파일을 그냥 드래그 해서 프로그램으로 옮겨주면 실행가능하다.
비주얼 스튜디오를 이용해 아무 exe 파일을 만들어주자. 올리디버거를 통해 열어보면, 위와 같은 화면이 나온다.
1) Code Window (빨간 부분) : 기본적으로 disassembly code를 표시하여 각종 comment, label 을 보여주며 , 코드 를 분석하여 loop, jump 위치 등의 정보를 표시
2) Register Window (주황색 부분) : CPU register 값을 실시간으로 표시하며 특정 register들은 수정도 가능함
3) DumpWindow (남색 부분) : 프로세스에서 원하는 memory 주소 위치를 Hex와 ASCII/유니코드 값으로 표시하 고수정도가능함
4) Stack Window (연두색 부분) : ESP register7~ 가리키는 프로세스 stack memory를 실시간으로 표시하고 수정도 가능함
디버거가 멈춘 부분은 EP(Entry Point) 코드로, exe 파일의 실행시작 주소이다. 여기서 EP란 Windows 실행파일의 코드 시작점을 의미하며, 프로그램이 실행될 때 CPU에 의해 가장 먼저 실행되는 코드 시작 위치라고 보면 된다.
1) Address : 프로세스의 가상 메모리내의 주소
2) Instruction : IA32(또는 x86) CPU 명령어
3) Disassembled code : OP code를 보기 쉽게 어셈블리로 변환한 코드
4) comment : 주석
'리버싱(Reversing) > 리버싱 개념' 카테고리의 다른 글
리버싱 핵심원리 8장(abex' crackme #2) (0) | 2020.10.06 |
---|---|
리버싱 핵심원리 13장(PE File Format) (0) | 2020.10.05 |
리버싱 핵심원리 6장(abex’ crackme #1 분석 ) (0) | 2020.10.02 |
리버싱 핵심 원리 10장 (함수 호출 규약) (0) | 2020.09.28 |
리버싱 핵심원리 9장(Process Explorer) 및 Process Explorer 다운로드 (0) | 2020.09.28 |
댓글