Window XP를 쓰는 이유 : ASLR이 없기 때문임.
Assembly : 기계어와 1대 1 대응. 프로그래밍 언어 중 가장 기계어와 가까움 (저급 언어)
OllyDbg
code 영역 : 코드가 기계어와 어셈블리 명령으로 보임.
Register 영역 : Register를 볼 수 있음.
Dump 영역 : 메모리를 볼 수 있음.
Stack 영역 : 현재 Stack 메모리의 값을 확인할 수 있음.
;(세미콜론) : 주석을 달 수 있음.
F8 : Step Over 한 줄씩 내려가지만 함수를 다 돌리고 넘어감..
F7 : Step Into 한 줄씩 내려가지만 함수 안으로 진입함.
원하는 위치 클릭 + F4 : 원하는 위치로 한 번에 이동.
F2 : Break Point 설정 / 해제.
F9 : 쭉 실행하다가 Break Point를 만나면 멈춤.
Ctrl+G : 원하는 주소의 메모리를 볼 수 있음.
Release 모드 설정 : main 함수를 호출하는 패턴을 확인하기 위함.
Project -> Setting -> C/C++ Optimizations Default : 최적화 옵션을 Default로 지정.
Stub code : main 함수 실행하기 전, 준비 코드.
콘솔 창을 모니터링 하면서 main 함수를 찾을 수 있음.
함수 프롤로그, 에필로그 : 함수의 시작과 끝.
MOV [Destination], [Source] : Source의 값을 Destination으로 복사함.
MOVS : 문자열을 복사할 때 사용. ESI가 가르키는 주소에 있는 데이터를 EDI가 가리키는 주소로 복사함.
ADD [Destination], [Source] : Destination = Destination + Source
SUB [Destination], [Source] : Destination = Destination - Source
PTR : 자료형을 재정의 해줌. (자료를 다룰 때 사용, 혼자 쓰이지 않음)
XOR [Destination], [Source] : Destination = Destination ^ Source
Data Expression
BYTE : 1byte
WORD : 2byte
DWORD : 4byte
QWORD : 8byte
'Reversing&Write up > Study' 카테고리의 다른 글
[HandRay] while문, for문 패턴, WinMain API? (0) | 2018.01.15 |
---|---|
[HandRay] if문 패턴, switch-case문 패턴 (0) | 2018.01.14 |
[HandRay] 함수 호출 패턴, 구조체 패턴, 코드 패치 (0) | 2018.01.13 |
[HandRay] Main 함수 parameter, pointer 패턴 (0) | 2018.01.12 |
[HandRay] 핸드레이와 레지스터 (0) | 2018.01.09 |