IT 그리고 정보보안/Knowledge base

윈도우 레지스트리(Registry)

plummmm 2021. 4. 18. 20:49
반응형

윈도우 운영체제의 설정값을 담고 있는 DB이다.

레지스트리가 도입되기 이전, .ini 파일로 운영체제 설정을 지만

텍스트파일이기 때문에 속도문제 등과 같은 여러 단점으로 인해 레지스트리가 도입되었다.

 

레지스트리는 크게 키(key)와 값(value)으로 구분된다.

키는 쉽게 말해 폴더라고 생각하면된다. regedit에서 봤을 때 좌측 폴더들이 키, 우측이 값이다.

 

레지스트리의 키가 폴더라고 했는데, 폴더라고 생각하고 보면 최상위 폴더가 있을 것이다.

그걸 루트키(root key)라고 하는데 총 5가지가 있다.

 

- HKEY_CLASSES_ROOT (HKCR)

  > 윈도우에서 사용하는 각종 파일정보가 담겨있다. 새로운 확장자를 다루거나 COM객체 정보가 등록돼있다.

     

- HKEY_CURRENT_USER (HKCU) 

  > 현재 사용자의 프로파일에 대한 값이 들어있다. 계정에 대한 내용만 있는 것이 아니라, 사용자가 커스텀으로 설정한 부분들

     예를 들어 키보드 레이아웃, 화면색상 등의 정보도 담고 있다.

 

- HKEY_LOCAL-MACHINE (HKLM)

  > 가장 친숙한 루트키일 것이다. 하드웨어, 소프트웨어 관련 설정이 총 망라 돼있는 키이다.

     해당 내용들은 System.dat 파일에 기록된다. 

 

- HKEY_USERS (HKU)

  > 컴퓨터의 모든 사용자에 대한 설정이 들어있다. HKCU가 HKU의 하위키라고 보면된다.

 

- HKEY_CURRENT_CONFIG (HKCC)

  > 현재 사용중인 윈도우의 하드웨어 프로파일이 담겨있다.

 

위 5가지 키들이 루트키 이긴 한데, 저것은 Regedit 상의 얘기이고,

실제로 레지스트리 값들은 레지스트리 하이브(Hive)라는 하드디스크의 저장된 실제 파일에서 로드된 것이다.

즉, os가 구동되고 메모리에 로드되는 키들이 있고 실제 하드디스크에 존재하는 키가 있다.

 

실제 존재하는 키를 마스터키(Master Key) 라고 하고, 여기엔 HKLM, HKU가 있다.

이 마스터키에서 로드되어 메모리에 재구성되는 휘발성 키가 있는데, 그것을 유도키(Derived Key)라고 하고,

나머지 HKCR, HKCU, HKCC 가 여기에 해당한다. 유도키들은 라이브 상태일때만 확인가능한 값들이다. (휘발성)

 

키에 대해서 알아봤고 이번엔 값에 대해 알아보자.

레지스트리 값에는 11가지 종류가 있다. 가장 자주보이는게 REG_DWORD, REG_SZ인데,

표를 통해 한번 숙지한다.

 

[출처 : 위키피디아]

 

키 속에 들어있는 이름/자료를 나타낸다. 폴더 속에 들어있는 파일 정도라고 생각하면 이해가 쉽다.

반응형