Windows Memory Layout
Computer Science/OS
메모리 레이아웃메모리 레이아웃이란 프로세스 가상 메모리의 구성을 말한다. 프로그램을 실행하면 운영체제는 프로세스에게 사용 가능한 메모리 공간을 할당해 주는데 이 공간을 가상 메모리라고 한다. 운영체제는 프로그램의 정보를 참조하여 프로그램에 저장된 데이터가 적절한 영역에 저장되게 한다. 프로세스가 사용할 가상 메모리를 용도별로 구획하고, 프로세스가 사용하는 데이터를 적절한 구획에 저장한다. 유사한 데이터를 모아놓기 때문에 운영체제는 각 구획에 적절한 권한을 부여할 수 있고, 개발자는 프로세스의 메모리를 더 직관적으로 이해할 수 있다. 소프트웨어 리버스 엔지니어링의 핵심은 바이너리를 분석하여 바이너리의 동작을 이해하는 것이다. 바이너리의 동작은 메모리와 굉장히 밀접한 관련이 있으므로 바이너리의 동작을 자세히..