본문 바로가기

reversing55

PE File Format PE 파일은 windows 운영체제에서 사용되는 실행파일 형식 PE 파일은 32비트 형태의 실행 파일을 의미함, PE32라고도함 64비트 형태의 실행파일은 PE+, PE32+ 라고 사용함 종류 주요 확장자 실행 계열 EXE, SCR 라이브러리 계열 DLL, OCX, CPL, DRV 드라이버 계열 SYS, VXD 오브젝트 파일 계열 OBJ 2022. 4. 25.
Hook ? (훅 이란 ?) 중간에서 오고가는 정보를 엿보거나 가로채기 위해 초소를 설치하는 일을 훅(hook)을 건다 라고 하고, 실제로 정보를 엿보고 조작하는 행위를 후킹(hooking)한다라고 얘기합니다. 컴퓨터 분야에서도 후킹이 광범위하게 사용되고 있습니다. 실제로 'OS - 애플리케이션 - 사용자' 사이에 오고가는 정보를 전부 엿보고 조작할 수 있습니다. windows 운영체제는 GUI(Graphic User Interface)를 제공하고, 이는 Event Driven 방식으로 동작합니다. .키보드/마우스를 이용하여메뉴 선택, 버튼 선택, 마우스 이동, 창 크기 변경, 창위치 이동 등의 작업은모두 이벤트(Event)입니다. 이런 이벤트가 발생할 때 OS는 미리 정의된 메시지를 해당 응용 프로그램으로 통보합니다. 응용 프로그.. 2022. 2. 24.
함수호출 규약(Calling Convention) Calling Convention은 우리말로 '함수 호출 규약' 이라고 합니다. '함수를 호출할 때 어떤 식으로 전달하는가?'에 대한 일종의 약속입니다. 함수 호출전에 파라미터를 스택을 통해서 전달한다는 것을 알고 있습니다. 스택이란 프로세스에 정의된 메모리 공간이며 아래 방향(주소가 줄어드는 방향)으로 자랍니다. 또한 PE헤더에 그 크기가 명시되어 있습니다. 즉 프로세스가 실행될 때 스택 메모리의 크기가 결정됩니다. 스택에 저장된 값은 임시로 사용하는 값이기 때문에 더 이상 사용하지 않는다고 하더라도 값을 지우거나 하면 불필요하게 CPU자원을 소모합니다. 어차피 다음 번에 스택에 다른 값을 입력할 때 저절로 덮어쓰는데다가 스택 메모리는 이미 고정되어 있기 때문에 메모리 해제를 할 수도 없고 할 필요도 .. 2021. 11. 9.
스택 프레임 스택 프레임이란 ESP(스택 포인터)가 아닌 - EBP(베이스 포인터) 레지스터를 사용하여 스택내의 로컬 변수, 파라미터, 복귀 주소에 접근하는 기법 2021. 11. 8.
스택 프로세스에서 스택 메모리의 역할은 아래와 같습니다. 1. 함수내의 로컬 변수 임시 저장 2. 함수 호출 시 파라미터 전달 3. 복귀 주소(return address)저장 위와 같은 역할을 수행하기에는 스택의 FIFO(First In Last Out) 구조가 아주 유용합니다. 스택의 특징 프로세서에서 스택 포인터(ESP)의 초기 값은 Stack Bottom쪽에 가깝습니다. PUSH 명령에 의해서 Stack에 값이 추가되면 스택 포인터는 Stack포인터는 Stack Top향해(위쪽으로) 움직이고, POP명령에 의해 스택에서 값이 제거되면 스택 포인터는 Stack Bottom을 향해(아래쪽으로) 움직입니다. 즉 높은 주소에서 낮은 주소 방향으로 스택이 자라납니다. 아래에서 윗 방향으로 스택이 자랍니다. 이러한.. 2021. 11. 4.
CPU 레지스터 레지스터란 cpu내부에 존재하는 다목적 저장 공간입니다. 우리가 일반적으로 일반적으로 메모리라고 얘기하는 RAM(Random Access Memory)과는 조금 성격이 다릅니다. CPU가 RAM에 있는 데이터를 엑세스(Access)하기 위해서는 물리적으로 먼 길을 돌아가야 하기 때문에 시간이 오래 걸립니다. 하지만 레지스터는 CPU와 한 몸이기 때문에 고속으로 데이터를 처리할 수 있습니다. 1. 범용 레지스터 범용 레지스터(General Purpose Registers)는 이름처럼 범용적으로 사용되는 레지스터들입니다.('막'쓰는 '막'레지스터들이라고 생각하면 됩니다.) IA-32에서 각각의 범용 레지스터들의 크기는 32비트(4바이트)입니다. 보통은 상수/주소 등을 저장할 때 주로 사용되며, 특정 어셈블리.. 2021. 11. 4.
반응형