Reversing (13) 썸네일형 리스트형 05. 스택, 스택프레임 1. 스택(Stack) 스택의 구조나 부가적인걸 설명하기에 앞서서 스택의 기본을 설명하겠습니다. 스택은 일단 후입선출구조(FILO)로 마지막에 들어간게 제일 먼저 꺼내지는 특징을 지니고 있다.그리고 높은주소에서 낮은주소로 성장한다. 그림으로 살펴보면 대략 이런식으로 생겼다. 저 안에 들어있는건 신경쓸 필요없다.중요한 부분은 높은주소에서 낮은주소로 성장한다는 것, 그리고 저 옆의 esp라는 것이다.높은주소에서 낮은주소는 그렇다치자. 그럼 esp는 무엇일까? ESP(Extend Stack Pointer) 즉, 말 그대로 스택 포인터다. 스택이 현재 어디에 있는지를 가리키는 역할을 하는 레지스터다.그럼 저 esp는 어디에 쓰일까? 이 그림을 보자. 스택에 메인함수,3,2,function1(),1이 들어있다.현.. 04. 함수 호출 규약 04. 함수 호출 규약 일단 함수 호출 규약에는 3가지 방식이 있다.시작하기에 앞서 함수 호출 규약을 알아보기위해 사용한 코드이다. 12345678910111213141516171819202122232425#include int __cdecl test1(int a1, int a2, int a3) { int result = a1 + a2 + a3; return result;} int __stdcall test2(int a1, int a2, int a3) { int result = a1 + a2 + a3; return result;} int __fastcall test3(int a1, int a2, int a3) { int result = a1 + a2 + a3; return result;} int main.. 03. 패킹 & 언패킹 보호되어 있는 글입니다. 02. IAT & EAT IAT(Import Address Table) 프로그램에서 사용되는 라이브러리에서 어떠한 함수들을 사용하고 있는지 함수 명 함수시작 주소등에 관한 정보를 담고있는 테이블 1. IMAGE_IMPORT_DESCRIPTOR 구조체 typedef struct _IMAGE_IMPORT_DESCRIPTOR{ union { DWORD Characteristics; DWORD OriginalFirstThunk; }; DWORD TimeDataStamp; DWORD ForwarderChain; DWORD Name; DWORD FirstThunk; } IMAGE_IMPORT_DESCRIPTOR; OriginalFirstThunk : INT(Import Name Table)의 RVA 값INT는 IMAGE_THUNK_DATA.. 01. PE File Format PE(Portable Executable) 파일 이름 그대로 옮겨다니면서 실행시킬 수 있는 파일을 말한다.초기 목적은 Microsoft사에서 윈도우와 기타 다른 운영체제(리눅스, Mac)와 이식성을 좋게 하기 위해서 만든 파일구조이다. 하지만 현재는 윈도우 운영체제 간 이식성이 좋은 파일로 사용된다. 종류? 실행 계열 : EXE, SCR 드라이버 계열 : SYS, VXD라이브러리 계열 : DLL, OCX, CPL, DRV오브젝트 파일 계열 : OBJ PE 파일의 종류에 대해 더 깊게 살펴보자 EXE : 그렇다. 윈도우를 쓰는 사람에겐 굉장히 익숙한 실행파일 바로 그것SCR : 화면 보호기 확장자. 윈도우에서 오랜시간 동작 X 시 나오는 화면 보호기 바로 그 파일의 확장자.SYS : 시스템 파일 확장자. .. 이전 1 2 다음