리버싱2 [Reversing]색션 객체, VAD트리, User mode Mem, Mem 관리 API ■ 색션 객체 - OS가 관리하는 특별한 메모리 - 하나 이상의 공간에 매핑 될 수 있음(App간에 공유메모리 설정이 쉬워진다) - 시스템은 색션객체를 이용하여 커널모드 프로세스와 유저모드 프로세스 간에 메모리를 공유할 수 있음 - Win32에서는 “메모리 맵 파일”이라고 부름 • Pagefile-Backed : 정보를 일시적으로 저장하고 프로세스 간이나 App 간, 커널과의 데이터 공유를 위해서 사용됨. • File-Backed : 하드 드라이브의 물리 파일을 매핑함 이 섹션은 매핑되면서 매핑 대상의 파일의 내용을 포함하며, 매핑된 메모리 내용이 변경되면 파일의 내용도 그대로 변경됨. 이는 메모리 영역의 포인터만을 이용해서 직접 파일의 내용에 접근이 가능함을 의미함 ■ VAD 트리(Virtual Add.. 2010. 4. 29. [Reversing]compiler, JavaVM, Mem Structure ■compiler : 소스파일을 이용해서 그에 대응되는 기계어 코드 파일을 만들어 냄. 플랫폼에 종속적임 C, C++ → 컴파일러 → 목적코드 ■목적코드 : 인간보다 기계가 이해하기 쉽다. 역으로 말하면 인간이 읽고 이해하기 힘들다. ■Java Virtual machine : java와 같은 하이레벨 언어는 목적코드 대신에 바이트코드를 생성함. 이 바이트 코드를 해석해서 의미대로 작업을 수행함.(어느 시점에서는 바이트 코드를 CPU가 실행할 수 있는 목적코드로 변환해야 함)(플랫폼에 종속적이지 않다.) Java compiler → bytecode → virtual machine → object code → CPU ■원시소스가 exe실행 파일이 되는 과정 ■메모리 구조와 각 영역의 역할 2010. 4. 22. 이전 1 다음