학사 나부랭이
Operating System - Registry 본문
Registry
윈도우의 설정, 정보를 담고 있는 데이터 베이스예요. OS가 시작되거나 사용자가 로그인할 때 메모리에 적재되어요. 그리고 제어판 설정, 파일 연결, 시스템 정체, 설치된 소프트웨어 등을 변경하면 그 변경 사항들이 레지스트리에 저장되죠.
원래 이러한 구성 설정을 담는 곳은 각 프로그램의 ini 파일이었는데 이 파일이 시스템의 여러 곳에 퍼져 있어서 관리가 힘들어서 레지스트리라는 개념이 도입되었어요.
+)잠깐! ini(INItialization) 파일은 컴퓨터의 프로그램이나 OS의 설정에 대한 파일의 de facto standard, 텍스트로 이루어져있어요.
레지스트리는 키와 값으로 구성되어있어요.
먼저 키는 폴더와 비슷한데 값과 서브키를 가질 수 있고 이 서브키는 또 서브키를 가질 수 있어요. 이 때 파일 경로와 유사한 구문을 가지게되죠.
예를 들어 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows는 HKEY_LOCAL_MACHINE 키의 Software 서브키의 Microsoft 서브키의 Windows라는 서브키를 가리켜요.(힘드네요;;)
그리고 레지스트리 값은 키 안에 들어있는 이름이나 자료예요. 많은 키들이 값을 제각각 참조하죠. 이런 레지스트리 값을 찾아 이용하는 윈도우 API 명령어는 부모 키를 정의하는 핸들과 값 이름을 키 경로에서 별도로 가져와요.
+)잠깐! API(Application Programming Interface)는 응용 프로그램이 사용할 수 있도록 OS나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스예요. 주로 파일 제어, 창 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제공해요.
이런 레지스트리 정보가 저장된 파일은 시스템 폴더의 config 폴더에서 찾을 수 있는데 이런 파일을 하이브라고 해요.
Hive 레지스트리는 수많은 논리를 구분하는 하이브로 나눌 수 있어요. 하이브는 HKEY로 시작하고 윈도우 API 정의로 이름이 지정되어있어요. 각각 사용자마다 그들에 대한 하이브가 생성되고 이를 사용자 프로필 하이브라고 해요.아래는 각각 하이브의 이름, 경로, 설명이에요. 디지털 포렌식 때 나왔는데 그냥 중복되더라도 작성해봤어요.
하이브 이름 | 레지스트리 경로 | 설명 |
SOFTWARE | HKEY_LOCAL_MACHINE\SOFTWARE | 윈도우, 소프트웨어 전역 설정 정보 |
SYSTEM | HKEY_LOCAL_MACHINE\SYSTEM | 시스템 전역 설정 정보 |
SECURITY | HKEY_LOCAL_MACHINE\SECURITY | 권한, 인증 도메인 등의 보안 관련 정보 (접근 시 SYSTEM 권한 필요) |
SAM | HKEY_LOCAL_MACHINE\SAM | 사용자 별 암호화된 비밀번호 저장소 (접근 시 SYSTEM 권한 필요) |
\NTUSER.DAT | HKEY_CURRENT_USER | 각 윈도우 계정의 HKEY_CURRENT_USER 키 |
'Dot-Gabi > Operating System' 카테고리의 다른 글
Operating System - DLL (0) | 2021.05.30 |
---|---|
Operating System - Boot loader (0) | 2021.05.14 |
Operating System - Memory management (0) | 2021.04.06 |
Operating System - Compile to execute (0) | 2021.04.06 |
Operating System - Memory (0) | 2021.04.02 |