간단한 Hello World! 코드를 OllDbg라는 디버거를 이용해 리버싱 하는 방법을 알아봅니다.
컴퓨터에서 메모리에 데이터를 저장하는 방식을 의미하는 바이트 오더링(Byte Ordering)의 리틀 엔디언 표기법과 빅 엔디언 표기법을 공부합니다.
리버싱을 잘 하려면 어셈블리 명령어를 알아야 합니다. 하지만 이런 어셈블리 명령어의 대부분은 레지스터를 조작하거나 내용을 검사하는 것입니다. 기본적으로 알아야할 IA-32 Register에 대한 내용을 공부합니다.
로컬 변수 저장, 함수 파라미터 전달, 복귀 주소 저장 등의 다양한 용도로 사용되는 스택(Stack)에 대한 내용입니다.
간단한 crackme 프로그램을 크랙해봅시다.
스택 프레임(Stack Frame)에 대해 공부합니다.