본문 바로가기

KISA/KISA - 리버스 코드 엔지니어링2

02. 운영체제의 프로세스 가상주소공간 1. Not enough memory아키텍쳐가 지원하는 메모리 크기 보다 물리 메모리가 클 때32비트 아키텍쳐의 경우 최대로 표현할 수 있는 주소의 용량이 4GB인데 RAM의 크기가 4GB를 넘어갈 경우 넘어서는 용량에 대해선 addressing이 불가능하다.아키텍쳐가 지원하는 메모리 크기 보다 물리 메모리가 작을 때반대로 물리 메모리의 크기가 2GB로 작다고 하면, 아키텍쳐가 표현하고자 하는 값을 메모리가 충족시키지 못한다. 만약 물리 메모리 크기를 넘어서는 주소 값에 접근을 시도할 경우 충돌이 발생할 수 있다. 2. Keeping program secure실행 중인 프로그램이 동일한 물리 메모리 주소에 접근하여 데이터를 읽고 쓰는 경우, 다른 프로세스들이 사용하는 메모리에 접근을 하여 정보가 노출되거.. 2024. 11. 21.
01. 실행파일의 생성 및 실행과정 Von Neumann architecture   폰 노이만 아키텍처 개념에 따라 프로그램의 실행과정을 설명하면 다음과 같다.실행 파일은 평소에 Storage에 존재하며실행 시 Memory에 로드된다. (매핑)CPU는 이를 바탕으로 코드의 실행 흐름을 가진다.결국 프로그램을 실행한다는 것은 CPU에게 특정 일을 시키는 것이라 할 수 있는데, CPU는 0과 1로 이루어진 기계어만 이해할 수 있다.   Compile그렇기 때문에 우리가 C, C++, Java, Python.. 과 같은 High Level Langauge로 작성한 소스코드를 -> 기계어로 변환해야 하며 이를 Compile이라고 한다. Compiler는 소스코드를 기계어로 번역하고 Syntax Check와 같은 과정을 거쳐 Source File을.. 2024. 11. 15.