Windows 레지스트리(Registry) 는 Windows 응용 프로그램과 Windows 운영 체제의 구성, 값 및 속성 모음으로 단일 저장소에 계층적으로 구성되고 저장됩니다.
새 프로그램이 Windows(Windows) 시스템 에 설치될 때마다 크기, 버전, 저장소 위치 등과 같은 속성과 함께 Windows 레지스트리(Windows Registry) 에 항목이 만들어집니다 .
이 정보는 데이터베이스에 저장되어 있기 때문에 운영 체제는 사용된 리소스를 알고 있을 뿐만 아니라 특정 리소스나 파일이 함께 사용되는 경우 발생할 수 있는 충돌을 알고 있기 때문에 다른 응용 프로그램에서도 이 정보의 이점을 얻을 수 있습니다. 존재하다.
Windows 레지스트리(Windows Registry) 란 무엇이며 어떻게 작동(How) 합니까?
Windows 레지스트리(Windows Registry) 는 Windows 작동 방식의 핵심입니다 . 중앙 레지스트리의 이러한 접근 방식을 사용하는 유일한 운영 체제입니다. 시각화하자면 운영 체제의 모든 부분은 부팅 순서부터 파일 이름을 바꾸는 것과 같은 간단한 작업에 이르기까지 Windows 레지스트리 와 상호 작용해야 합니다.(Windows Registry)
간단히 말해서(Simply) 레지스트리의 항목이 카드 카탈로그에 저장된 카드 더미와 같은 라이브러리 카드 카탈로그와 유사한 데이터베이스입니다. 레지스트리 키는 카드이고 레지스트리 값은 해당 카드에 기록된 중요한 정보입니다. Windows 운영 체제 는 레지스트리를 사용하여 시스템과 소프트웨어를 제어하고 관리하는 데 사용되는 많은 정보를 저장합니다. 이는 PC 하드웨어 정보에서 사용자 기본 설정 및 파일 형식에 이르기까지 무엇이든 될 수 있습니다. Windows 시스템에 대해 수행하는 (Windows)거의(Almost) 모든 형태의 구성 에는 레지스트리 편집이 포함됩니다.
Windows 레지스트리의 역사
Windows 의 초기 버전 에서 응용 프로그램 개발자는 실행 파일과 함께 별도의 .ini 파일 확장명을 포함해야 했습니다. 이 .ini 파일에는 주어진 실행 프로그램이 제대로 작동하는 데 필요한 모든 설정, 속성 및 구성이 포함되어 있습니다. 그러나 이는 특정 정보의 중복으로 인해 매우 비효율적이며 실행 프로그램에 대한 보안 위협이 되었습니다. 그 결과, 표준화되고 중앙 집중화된 안전한 기술의 새로운 구현이 분명히 필요했습니다.
Windows 3.1 의 도래와 함께 이러한 수요의 베어본 버전은 Windows 레지스트리(Windows Registry) 라고 하는 모든 응용 프로그램 및 시스템에 공통적인 중앙 데이터베이스로 충족되었습니다 .
그러나 이 도구는 응용 프로그램이 실행 파일의 특정 구성 정보만 저장할 수 있었기 때문에 매우 제한적이었습니다. 수년에 걸쳐 Windows 95와 Windows NT 는 이러한 기반 위에서 더욱 발전하여 최신 버전의 Windows 레지스트리(Windows Registry) 에서 핵심 기능으로 중앙 집중화를 도입 했습니다.
즉, Windows 레지스트리(Windows Registry) 에 정보를 저장하는 것은 소프트웨어 개발자를 위한 옵션입니다. 따라서 소프트웨어 응용 프로그램 개발자가 휴대용 응용 프로그램을 만드는 경우 레지스트리에 정보를 추가할 필요가 없으며 구성, 속성 및 값이 있는 로컬 저장소를 만들고 성공적으로 배송할 수 있습니다.
다른 운영 체제에 대한 Windows 레지스트리(Windows Registry) 의 관련성
Windows 는 중앙 레지스트리의 이러한 접근 방식을 사용하는 유일한 운영 체제입니다. 시각화하려면 운영 체제의 모든 부분이 부팅 순서에서 파일 이름 변경에 이르기까지 Windows 레지스트리 와 상호 작용해야 합니다.(Windows Registry)
iOS, Mac OS(Mac OS) , Android 및 Linux 와 같은 다른 모든 운영 체제 는 운영 체제를 구성하고 운영 체제 동작을 수정하는 방법으로 텍스트 파일을 계속 사용합니다.
대부분의 Linux 변형에서 구성 파일은 .txt 형식으로 저장되며 모든 (.txt).txt 파일이 중요한 시스템 파일로 간주 되기 때문에 텍스트 파일로 작업해야 할 때 문제가 됩니다 . 따라서 이러한 운영 체제에서 텍스트 파일을 열려고 하면 볼 수 없습니다. 이러한 운영 체제는 네트워크 카드, 방화벽, 운영 체제, 그래픽 사용자 인터페이스, 비디오 카드 인터페이스 등의 구성과 같은 모든 시스템 파일이 ASCII 형식으로(ASCII format.) 저장되기 때문에 보안 조치로 이를 숨기려고 합니다 .
이 문제를 피하기 위해 macOS와 iOS 모두 .plist 확장자(.plist extension) 를 구현하여 텍스트 파일 확장자에 완전히 다른 접근 방식을 배포했습니다. 이 확장자 는 모든 시스템과 응용 프로그램 구성 정보를 포함하지만 여전히 단일 레지스트리를 갖는 이점이 있습니다. 파일 확장자의 단순한 변경보다 중요합니다.
Windows 레지스트리(Windows Registry) 의 이점은 무엇입니까 ?
운영 체제의 모든(Every) 부분은 Windows 레지스트리(Windows Registry) 와 지속적으로 통신 하므로 매우 빠른 저장소에 저장해야 합니다. 따라서(Hence) 이 데이터베이스는 매우 빠른 읽기 및 쓰기와 효율적인 저장을 위해 설계되었습니다.
레지스트리 데이터베이스를 열어 크기를 확인하면 일반적으로 15 – 20MB 사이에서 움직이므로 항상 사용할 수 있는 가장 빠른 저장소인 RAM ( Random Access Memory )에 항상 로드할 수 있습니다. 운영 체제.
레지스트리는 항상 메모리에 로드되어야 하므로 레지스트리 크기가 크면 다른 모든 응용 프로그램이 원활하게 실행되거나 전혀 실행될 수 있는 충분한 공간이 남지 않습니다. 이것은 운영 체제의 성능에 해로울 수 있으므로 Windows 레지스트리(Windows Registry) 는 고효율이라는 핵심 목표로 설계되었습니다.
동일한 장치와 상호 작용하는 여러 사용자가 있고 공통적으로 사용하는 응용 프로그램이 여러 개인 경우 동일한 응용 프로그램을 두 번 또는 여러 번 다시 설치하면 비용이 많이 드는 스토리지를 낭비하게 됩니다. Windows 레지스트리는 응용 프로그램 구성이 다양한 사용자 간에 공유되는 이러한 시나리오에서 탁월합니다.
이것은 사용되는 총 스토리지를 줄일 뿐만 아니라 사용자가 하나의 상호 작용 포트에서 애플리케이션 구성을 변경할 수 있는 액세스 권한을 제공합니다. 이것은 또한 사용자가 모든 로컬 저장소 .ini(.ini) 파일 로 수동으로 이동할 필요가 없기 때문에 시간을 절약 합니다.
다중 사용자(Multi-User) 시나리오는 엔터프라이즈 설정에서 매우 일반적입니다. 여기에서는 사용자 권한 액세스가 강력하게 필요합니다. 모든 정보나 리소스를 모든 사람과 공유할 수 있는 것은 아니기 때문에 개인 정보 기반 사용자 액세스의 필요성은 중앙 집중식 Windows 레지스트리를 통해 쉽게 구현되었습니다. 여기에서 네트워크 관리자는 수행한 작업에 따라 보류하거나 허용할 수 있는 권한을 보유합니다. 이것은 네트워크에 있는 여러 장치의 모든 레지스트리에 대한 원격 액세스와 동시에 업데이트를 수행할 수 있기 때문에 단일 데이터베이스를 다용도로 만들 뿐만 아니라 견고하게 만들었습니다.
Windows 레지스트리는 어떻게 작동합니까?
더러워지기 전에 Windows 레지스트리(Windows Registry) 의 기본 요소를 살펴보겠습니다 .
Windows 레지스트리(Windows Registry) 는 다양한 유형 의 파일이 저장된 폴더와 같은 컨테이너 개체인 레지스트리 키(Registry Key) 와 파일과 같은 컨테이너가 아닌 개체인 레지스트리 값(Registry Values) 이라는 두 가지 기본 요소로 구성 됩니다. 어떤 형식이든 될 수 있습니다.
또한 알아야 할 사항: (You should also know:) Windows 레지스트리 키의 모든 권한 또는 소유권을 가져오는 방법(How to Take Full Control or Ownership of Windows Registry Keys)
Windows 레지스트리에 액세스하는 방법은 무엇입니까?
레지스트리 편집기(Registry Editor) 도구 를 사용하여 Windows 레지스트리(Windows Registry) 에 액세스하고 구성할 수 있습니다 . Microsoft 에는 (Microsoft)Windows 운영 체제(Windows Operating System) 의 모든 버전과 함께 무료 레지스트리 편집 유틸리티가 포함되어 있습니다 .
이 레지스트리 편집기 는 (Registry Editor)명령 프롬프트 에 "Regedit"를 입력하거나 (Command Prompt)시작(Start) 메뉴 의 검색 또는 실행 상자에 "Regedit"를 입력하여 액세스할 수 있습니다 . 이 편집기는 Windows 레지스트리에 액세스하기 위한 포털이며 레지스트리를 탐색하고 변경하는 데 도움이 됩니다. 레지스트리는 Windows 설치 디렉터리에 있는 다양한 데이터베이스 파일에서 사용하는 포괄적인 용어입니다.
레지스트리 편집기를 편집하는 것이 안전한가요?(Is it Safe to edit Registry Editor?)
당신이 무엇을 하고 있는지 모른다면 레지스트리(Registry) 구성을 조작하는 것은 위험합니다. 레지스트리(Registry) 를 편집할 때마다 올바른 지침을 따르고 변경 지시를 받은 항목만 변경해야 합니다.
고의로 또는 실수로 Windows 레지스트리(Windows Registry) 에서 항목을 삭제하면 시스템 구성이 변경되어 Blue Screen of Death 가 발생 하거나 Windows 가 부팅되지 않을 수 있습니다.
따라서 일반적으로 Windows 레지스트리(backup Windows Registry) 를 변경하기 전에 백업하는 것이 좋습니다. 레지스트리(Registry) 설정을 다시 정상 으로 변경해야 하는 경우 사용할 수 있는 시스템 복원 지점 ( (create a system restore point)레지스트리(Registry) 를 자동으로 백업함 )을 생성할 수도 있습니다. 그러나 당신이 말한 대로만 한다면 문제가 되지 않을 것입니다. Windows 레지스트리(restore Windows Registry then this tutorial) 를 복원하는 방법을 알아야 하는 경우 이 자습서에서는 복원 방법을 쉽게 설명합니다.
Windows 레지스트리(Windows Registry) 의 구조를 살펴보겠습니다.
운영 체제의 액세스만을 위해 존재하는 액세스할 수 없는 저장소 위치에 사용자가 있습니다.
이 키 는 시스템 부팅 단계에서 (Keys)RAM 에 로드되며 특정 시간 간격 또는 특정 시스템 수준 이벤트 또는 이벤트가 발생할 때 지속적으로 통신됩니다.
이러한 레지스트리 키의 특정 부분은 하드 디스크에 저장됩니다. 하드 디스크에 저장된 이러한 키를 하이브라고 합니다. 레지스트리의 이 섹션에는 레지스트리 키, 레지스트리 하위 키 및 레지스트리 값이 포함됩니다. 사용자에게 부여된 권한 수준에 따라 해당 키의 특정 부분에 액세스할 수 있습니다.
HKEY 로 시작하는 레지스트리 계층 구조의 정점에 있는 키는 하이브로 간주됩니다.
Editor 에서 벌통은 모든 키가 확장되지 않고 표시될 때 화면 왼쪽에 있습니다. 폴더로 나타나는 레지스트리 키입니다.
Windows 레지스트리 키와 해당 하위 키의 구조를 살펴보겠습니다.
키 이름의 예 – “HKEY_LOCAL_MACHINESYSTEMInputBreakloc_0804”
여기서 "loc_0804"는 하위 키를 나타냅니다. "Break"은 HKEY_LOCAL_MACHINE(HKEY_LOCAL_MACHINE) 루트 키 의 하위 키 "SYSTEM"을 참조하는 하위 키 "Input"을 나타냅니다 .
Windows 레지스트리의 일반적인 루트 키(Common Root Keys in Windows Registry)
다음 키는 최상위 키 내에 더 많은 키를 포함하는 고유한 개별 하이브입니다.
나. HKEY_CLASSES_ROOT
이것은 파일 확장자 연결 정보, 프로그램 식별자(programmatic identifier) ( ProgID ), 인터페이스 ID(Interface ID) ( IID ) 데이터 및 클래스 ID(CLSID) 로 구성된 (Class ID (CLSID))Windows 레지스트리(Windows Registry) 의 레지스트리 하이브입니다 .
이 레지스트리 하이브 HKEY_CLASSES_ROOT 는 Windows 운영 체제에서 발생하는 모든 작업이나 이벤트의 게이트웨이입니다. 다운로드(Downloads) 폴더 에 있는 일부 mp3 파일에 액세스하려고 한다고 가정 합니다. (Suppose)운영 체제는 이를 통해 쿼리를 실행하여 필요한 조치를 취합니다.
HKEY_CLASSES_ROOT 하이브에 액세스하는 순간 이렇게 방대한 확장 파일 목록을 보고 압도되기 쉽습니다. 그러나 이들은 Windows가 유동적으로 작동하도록 하는 바로 그 레지스트리 키입니다.
다음은 HKEY_CLASSES_ROOT 하이브 레지스트리 키 의 몇 가지 예입니다.
HKEY_CLASSES_ROOT\.otf
HKEY_CLASSES_ROOT\.htc
HKEY_CLASSES_ROOT\.img
HKEY_CLASSES_ROOT\.mhtml
HKEY_CLASSES_ROOT\.png
HKEY_CLASSES_ROOT\.dll
파일을 두 번 클릭하고 열 때마다 시스템은 HKEY_CLASSES_ROOT(HKEY_CLASSES_ROOT) 를 통해 쿼리를 보냅니다. 여기서 이러한 파일이 요청될 때 수행할 작업에 대한 지침이 명확하게 제공됩니다. 따라서 시스템은 요청된 이미지를 표시하는 사진 뷰어를 엽니다.
HKEY_CLASSES_ROOT\.jpg 키 에 저장된 키를 호출합니다 . HKEY_CLASSES_ROOT 하이브 는 HKEY_LOCAL_MACHINE 하이브( HKEY_LOCAL_MACHINE\Software\Classes )와 HKEY_CURRENT_USER 하이브( HKEY_CURRENT_USER\Software\Classes ) 모두에서 발견되는 집합적 데이터 입니다. 따라서 레지스트리 키가 두 위치에 있으면 충돌이 발생합니다. 따라서 HKEY_CURRENT_USER\Software\ClassesHKEY_ CLASSES_ ROOT 에서 사용됩니다 . 화면 왼쪽에 있는 HKEY_CLASSES 키를 열어 액세스할 수 있습니다 .
ii. HKEY_LOCAL_MACHINE
이것은 로컬 컴퓨터와 관련된 모든 설정을 저장하는 여러 레지스트리 하이브 중 하나입니다. 이것은 저장된 정보를 사용자나 프로그램이 편집할 수 없는 전역 키입니다. 이 하위 키의 전역 특성 으로 인해(Due) 이 저장소에 저장된 모든 정보는 RAM 에서 지속적으로 실행되는 가상 컨테이너의 형태입니다. 소프트웨어 사용자가 설치한 구성 정보의 대부분과 Windows 운영 체제 자체는 HKEY_LOCAL_MACHINE 에 있습니다. 현재 감지된 모든 하드웨어는 HKEY_LOCAL_MACHINE 하이브에 저장됩니다.
또한 방법: (Also know how to:) 레지스트리를 통해 검색할 때 Regedit.exe 충돌 수정(Fix Regedit.exe Crashes when searching through Registry)
이 레지스트리 키는 7개의 하위 키로 더 나뉩니다.(This registry key is further divided into 7 sub-keys:)
1. SAM ( 보안 계정 관리자(Security Accounts Manager) ) – 사용자의 비밀번호를 보안 형식(LM 해시 및 NTLM 해시)으로 저장하는 레지스트리 키 파일입니다. 해시 함수는 사용자의 계정 정보를 보호하기 위해 사용되는 암호화의 한 형태입니다.
시스템 C:WINDOWSsystem32config에 있는 잠긴 파일로 운영 체제가 실행 중일 때 이동하거나 복사할 수 없습니다.
Windows 는 보안 계정 관리자 레지스트리 키 파일을 사용하여 사용자가 (Security Accounts Manager)Windows 계정 에 로그인하는 동안 사용자를 인증 합니다. 사용자가 로그인할 때마다 Windows 는 일련의 해시 알고리즘을 사용하여 입력된 암호의 해시를 계산합니다. 입력한 비밀번호의 해시가 SAM 레지스트리 파일(SAM registry file) 내의 비밀번호 해시와 같으면 사용자는 자신의 계정에 액세스할 수 있습니다. 이것은 또한 대부분의 해커가 공격을 수행하는 동안 표적으로 삼는 파일입니다.
2. 보안(2. Security) (관리자 외에는 액세스할 수 없음) - 이 레지스트리 키는 현재 시스템에 로그인한 관리 사용자의 계정에 로컬입니다. 시스템이 조직에서 관리되는 경우 사용자에게 관리 액세스 권한이 명시적으로 부여되지 않은 경우 사용자는 이 파일에 액세스할 수 없습니다. 관리자 권한 없이 이 파일을 열면 공백이 됩니다. 이제 시스템이 관리 네트워크에 연결된 경우 이 키는 조직에서 설정하고 적극적으로 관리하는 로컬 시스템 보안 프로필로 기본 설정됩니다. 이 키는 SAM 에 연결되어 있어 인증 성공 시 사용자의 권한 수준에 따라 다양한 로컬 및 그룹 정책(group policies) 이 적용됩니다.
3. 시스템(3. System) (중요한 부팅 프로세스 및 기타 커널 기능) – 이 하위 키는 컴퓨터 이름, 현재 마운트된 하드웨어 장치, 파일 시스템 및 특정 이벤트에서 수행할 수 있는 자동화된 작업의 종류와 같은 전체 시스템과 관련된 중요한 정보를 포함합니다. CPU 과열 로 인한 죽음 의 블루 스크린(Blue screen of death) , 컴퓨터가 자동으로 이러한 이벤트를 받기 시작하는 논리적 절차가 있습니다. 이 파일은 충분한 관리 권한이 있는 사용자만 액세스할 수 있습니다. 시스템이 부팅될 때 모든 로그가 동적으로 저장되고 읽히는 곳입니다. 제어 세트로 알려진 대체 구성과 같은 다양한 시스템 매개변수.
4. 소프트웨어(4. Software ) 플러그 앤 플레이 드라이버와 같은 모든 타사 소프트웨어 구성이 여기에 저장됩니다. (Third-party)이 하위 키는 다양한 응용 프로그램 및 시스템 설치 프로그램에서 변경할 수 있는 기존 하드웨어 프로필에 연결된 소프트웨어 및 Windows 설정을 포함합니다. (Windows)소프트웨어(Software) 개발자는 소프트웨어를 사용할 때 사용자가 액세스하는 정보를 제한하거나 허용합니다. 이는 사용되는 시스템 인증서를 포함하는 응용 프로그램 및 시스템 서비스에 대한 일반 사용 정책을 시행하는 "정책" 하위 키를 사용하여 설정할 수 있습니다. 특정 시스템이나 서비스를 인증, 승인 또는 허용하지 않습니다.
(5. Hardware)5. 시스템 부팅 시 동적으로 생성되는 하위 키인 하드웨어
6. 구성 요소(6. Components ) 시스템 전체 장치별 구성 요소 구성 정보는 여기에서 찾을 수 있습니다.
7. BCD.dat (시스템 파티션의 oot 폴더에 있음)는 시스템이 (7. BCD.dat )RAM 에 레지스트리를 로드하여 시스템 부팅 시퀀스 동안 읽고 실행을 시작하는 중요한 파일입니다 .
iii. HKEY_CURRENT_CONFIG
이 하위 키가 존재하는 주된 이유는 비디오와 네트워크 설정을 저장하기 위한 것입니다. 그것은 해상도, 재생률, 종횡비 등과 같은 비디오 카드와 관련된 모든 정보와 네트워크가 될 수 있습니다.
또한 Windows 레지스트리(Windows Registry) 의 일부인 레지스트리 하이브이며 현재 사용 중인 하드웨어 프로필에 대한 정보를 저장합니다. HKEY_CURRENT_CONFIG 는 실제로 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\HardwareProfiles\CurrentregistryHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\HardwareProfiles 키 아래에 나열된 현재 활성 하드웨어 프로필에 대한 포인터 입니다.
따라서 HKEY_ CURRENT_CONFIG 는 현재 사용자의 하드웨어 프로필 구성을 보고 수정하는 데 도움이 됩니다. 이 구성은 모두 동일하기 때문에 위에 나열된 세 위치 중 하나에서 관리자로 수행할 수 있습니다.
iv. HKEY_CURRENT_USER
현재 로그인한 사용자와 관련된 Windows 및 소프트웨어에 대한 구성 정보와 저장소 설정이 포함된 레지스트리 하이브의 일부입니다 . 예를 들어 레지스트리 키의 다양한 레지스트리 값은 키보드 레이아웃, 설치된 프린터, 바탕 화면 배경 무늬, 디스플레이 설정, 매핑된 네트워크 드라이브 등과 같은 HKEY_CURRENT_USER 하이브 컨트롤 사용자 수준 설정에 있습니다.(HKEY_CURRENT_USER)
제어판(Control Panel) 의 다양한 애플릿 내에서 구성하는 많은 설정 은 HKEY_CURRENT_USER 레지스트리 하이브 에 저장됩니다 . HKEY_CURRENT_USER 하이브는 사용자별로 다르기 때문에 동일한 컴퓨터에서 하이브에 포함된 키와 값은 사용자마다 다릅니다. 이는 전역적인 대부분의 다른 레지스트리 하이브와 달리 Windows 의 모든 사용자에게 동일한 정보를 유지합니다 .
레지스트리 편집기의 화면 왼쪽을 클릭하면 HKEY_CURRENT_USER 에 액세스할 수 있습니다. 보안 조치로서 HKEY_CURRENT_USER(HKEY_CURRENT_USER) 에 저장된 정보 는 보안 식별자로 HKEY_USERS 하이브 아래에 위치한 키에 대한 포인터일 뿐입니다 . 두 영역 중 하나에 대한 변경 사항은 즉시 적용됩니다.
v. HKEY_USERS
여기에는 각 사용자 프로필 의 HKEY_CURRENT_USER 키에 해당하는 하위 키가 포함됩니다. (HKEY_CURRENT_USER)이것은 또한 Windows 레지스트리(Windows Registry) 에 있는 많은 레지스트리 하이브 중 하나입니다 .
모든 사용자별 구성 데이터는 HKEY_USERS(HKEY_USERS) 아래에 종류 정보가 저장되는 장치를 적극적으로 사용하는 모든 사람에 대해 여기에 기록됩니다 . 특정 사용자에 해당하는 시스템에 저장된 모든 사용자별 정보는 HKEY_USERS 하이브에 저장되며 (HKEY_USERS)보안 식별자 또는(security identifier or the SID) 사용자 가 수행한 모든 구성 변경을 기록하는 SID를 사용하여 사용자를 고유하게 식별할 수 있습니다 .
시스템 관리자가 부여한 권한에 따라 계정이 HKEY_USERS(HKEY_USERS) 하이브에 존재하는 이러한 모든 활성 사용자는 프린터, 로컬 네트워크, 로컬 스토리지 드라이브, 바탕 화면 배경 등과 같은 공유 리소스에 액세스할 수 있습니다. 그들의 계정에는 특정 레지스트리가 있습니다 현재 사용자의 SID 아래에 저장된 키 및 해당 레지스트리 값 .
법의학 정보 측면에서 각 SID 는 사용자 계정으로 수행되는 모든 이벤트 및 작업에 대한 로그를 작성하기 때문에 모든 사용자에 대한 엄청난 양의 데이터를 저장합니다. 여기에는 사용자 이름(Name) , 사용자가 컴퓨터에 로그온한 횟수, 마지막 로그인 날짜 및 시간, 마지막 암호가 변경된 날짜 및 시간, 실패한 로그인 횟수 등이 포함됩니다. 또한 Windows 가 로드되어 로그인 프롬프트에 표시되는 경우에 대한 레지스트리 정보도 포함되어 있습니다.
권장 사항: (Recommended:) 레지스트리 편집기가 작동을 멈췄습니다 .(Fix The Registry editor has stopped working)
기본 사용자에 대한 레지스트리 키는 프로필 내의 ntuser.dat 파일에 저장되며, 기본 사용자에 대한 설정을 추가하려면 regedit를 사용하여 이것을 하이브로서 로드해야 합니다.
Windows 레지스트리에서 찾을 것으로 예상되는 데이터 유형(Types of data we can expect to find in the Windows Registry)
위에서 논의한 모든 키와 하위 키는 구성, 값 및 속성이 다음 데이터 유형에 저장되며 일반적으로 전체 Windows 레지스트리를 구성하는 다음 데이터 유형의 조합입니다.
- 전 세계 대부분의 쓰기 시스템에서 표현되는 텍스트의 일관된 인코딩, 표현 및 처리를 위한 컴퓨팅 산업 표준 인 유니코드(Unicode which) 와 같은 문자열 값 .
- 바이너리 데이터
- 부호 없는 정수
- 심볼릭 링크
- 다중 문자열 값
- 리소스(Resource) 목록( 플러그 앤(Plug) 플레이 하드웨어(Play) )
- 리소스(Resource) 설명자( 플러그 앤(Plug) 플레이 하드웨어(Play) )
- 64비트 정수
결론(Conclusion)
Windows 레지스트리(Windows Registry) 는 시스템 및 응용 프로그램 구성을 저장하기 위해 파일 확장자로 텍스트 파일을 사용함으로써 발생하는 보안 위험을 최소화했을 뿐만 아니라 응용 프로그램 개발자가 수행해야 하는 구성 또는 .ini 파일의 수를 줄이는 혁명이었습니다. 소프트웨어 제품과 함께 배송해야 했습니다. 시스템과 시스템에서 실행되는 소프트웨어 모두에서 자주 액세스하는 데이터를 저장하는 중앙 집중식 리포지토리의 이점은 매우 분명합니다.
한 곳에서 다양한 사용자 정의 및 설정에 액세스할 수 있을 뿐만 아니라 사용 용이성도 Windows를 다양한 소프트웨어 개발자가 데스크톱 응용 프로그램용으로 선호하는 플랫폼으로 만들었습니다. 이것은 Windows의 사용 가능한 데스크톱 소프트웨어 응용 프로그램의 엄청난 양을 Apple의 macOS와 비교하면 매우 분명합니다. 요약하자면, 우리는 Windows 레지스트리(Windows Registry) 의 작동 방식, 파일 구조, 다양한 레지스트리 키 구성의 중요성, 레지스트리 편집기를 사용하여 완전한 효과를 내는 방법에 대해 논의했습니다.
What is the Windows Registry & How it Works?
Windows Registry іs a collection of configurations, values, аnd properties of windows applіcations as well as the windows operating system which is organizеd and stоred in a hierarchical manner in a singular repository.
Whenever a new program gets installed in the Windows system, an entry is made in the Windows Registry with its attributes such as size, version, location in the storage, etc.
Because, this information has been stored in the database, not only the operating system is aware of the resources utilized, other applications can also benefit from this information since they are aware of any conflicts that may arise if certain resources or files were to co-exist.
What is the Windows Registry & How it Works?
The Windows Registry is really the heart of the way Windows works. It is the only operating system that uses this approach of a central registry. If we were to visualize, every part of the operating system has to interact with the Windows Registry right from the booting sequence to something as simple as renaming the file’s name.
Simply put, it is just a database similar to that of a library card catalog, where the entries in the registry are like a stack of cards stored in the card catalog. A registry key would be a card and a registry value would be the important information written on that card. The Windows operating system uses the registry to store a bunch of information that’s used to control and manage our system and software. This can be anything from PC hardware information to user preferences and file types. Almost any form of configuration that we do to a Windows system involves editing the registry.
History of Windows Registry
In the initial versions of Windows, application developers had to include in a separate .ini file extension along with the executable file. This .ini file contained all the settings, properties and configuration required for the given executable program to function properly. However, this proved very inefficient due to the redundancy of certain information and it also posed a security threat to the executable program. As a result, a new implementation of standardized, centralized as well as secure technology was an apparent necessity.
With the advent of Windows 3.1, a bare-bones version of this demand was met with a central database common to all the applications and system called the Windows Registry.
This tool, however, was very limited, since the applications could only store certain configuration information of an executable. Over the years, Windows 95 and Windows NT further developed on this foundation, introduced centralization as the core feature in the newer version of Windows Registry.
That said, storing information in Windows Registry is an option for software developers. So, if a software application developer were to create a portable application, he is not required to add information to the registry, local storage with the configuration, properties, and values can be created and successfully shipped.
The relevance of Windows Registry with respect to other operating systems
Windows is the only operating system that uses this approach of a central registry. If we were to visualize, every part of the operating system has to interact with the Windows Registry right from the booting sequence to the renaming of a file name.
All other operating systems such as iOS, Mac OS, Android, and Linux continue to use text files as a way of configuring the operating system and modifying the operating system behavior.
In most of the Linux variants, the configuration files are saved in the .txt format, this becomes an issue when we have to work with the text files since all the .txt files are considered as critical system files. So if we try to open the text files in these operating systems, we wouldn’t be able to view it. These operating systems try to hide it as a security measure since all the system files such as configurations of the network card, firewall, operating system, graphical user interface, video cards interface, etc. are saved in the ASCII format.
To circumvent this issue both macOS, as well as iOS, deployed a completely different approach to the text file extension by implementing .plist extension, which contains all of the system as well as application configuration information but still the benefits of having a singular registry far outweigh the simple change of file extension.
What are the benefits of the Windows Registry?
Because Every part of the operating system continuously communicates with the Windows Registry, it must be stored in very fast storage. Hence, this database was designed for extremely fast reads and writes as well as efficient storage.
If we were to open and check the size of the registry database, it would typically hover between 15 – 20 megabytes which make it small enough to be always loaded into the RAM (Random Access Memory) that co-incidentally is the fastest storage available for the operating system.
Since the registry needs to be loaded in memory at all times, if the size of the registry is large it won’t leave enough room for all other applications to run smoothly or run at all. This would be detrimental to the performance of the operating system, hence the Windows Registry is designed with a core objective of being highly efficient.
If there are multiple users interacting with the same device and there are a number of applications that they use are common, the reinstallation of the same applications twice or multiple times would be a waste of rather expensive storage. Windows registry excels in these scenarios where the application configuration is shared among various users.
This not only reduces the total storage used but also gives its users access to make changes to the application’s configuration from one single interaction port. This also saves time since the user doesn’t have to manually go to every local storage .ini file.
Multi-User scenarios are very common in enterprise setups, here, there is a strong need for user privilege access. Since not all the information or resources can be shared with everyone, the need for privacy-based user access was easily implemented through the centralized windows registry. Here the network administrator reserves the right to withhold or allow based on the work undertaken. This made the singular database versatile as well made it robust since the updates can be undertaken simultaneously with remote access to all of the registries of multiple devices in the network.
How does Windows Registry Works?
Let’s explore the basics elements of the Windows Registry before we start getting our hands dirty.
The Windows Registry is made up of two basic elements called the Registry Key which is a container object or simply put they are like a folder that has various types of files stored in them and Registry Values which are non-container objects that are like files that could be of any format.
You should also know: How to Take Full Control or Ownership of Windows Registry Keys
How to access the Windows Registry?
We can access and configure the Windows Registry using a Registry Editor tool, Microsoft includes a free registry editing utility along with every version of its Windows Operating System.
This Registry Editor can be accessed by typing “Regedit” in the Command Prompt or by simply typing “Regedit” in the search or run box from the Start menu. This editor is the portal to access the Windows registry, and it helps us to explore and make changes to the registry. The registry is the umbrella term used by various database files located within the directory of the Windows installation.
Is it Safe to edit Registry Editor?
If you don’t know what you’re doing then it is dangerous to play around Registry configuration. Whenever you edit the Registry, make sure you follow the correct instructions and only change what you’re instructed to change.
If you knowingly or accidentally delete something in the Windows Registry then it could alter your system’s configuration which could either lead to Blue Screen of Death or Windows won’t boot.
So it is generally recommended to backup Windows Registry before making any changes to it. You can also create a system restore point (which automatically backup the Registry) that can be used if you ever need to alter the Registry settings back to normal. But if you only what you’re told then it shouldn’t be any problem. In case you need to know how to restore Windows Registry then this tutorial explains how to do so easily.
Let’s explore the structure of the Windows Registry
There is a user in an inaccessible storage location that exists for only the operating system’s access.
These Keys are loaded on to the RAM during the system boot stage and are constantly being communicated within a certain interval of time or when a certain system-level event or events take place.
A certain portion of these registry keys gets stored in the hard disk. These keys that are stored in the hard disk are called hives. This section of the registry contains registry keys, registry subkeys, and registry values. Depending on the level of the privilege a user has been granted, he would be to access certain parts of these keys.
The keys that are at the peak of the hierarchy in the registry that begins with HKEY are considered to be hives.
In the Editor, the hives are located on the left side of the screen when all the keys are viewed without expanding. These are the registry keys that appear as folders.
Let’s explore the structure of the windows registry key and its subkeys:
Example of a key name – “HKEY_LOCAL_MACHINE\SYSTEM\Input\Break\loc_0804”
Here the “loc_0804” refers to the subkey “Break” refers to the subkey “Input” which refers to the subkey “SYSTEM” of the HKEY_LOCAL_MACHINE root key.
Common Root Keys in Windows Registry
Each of the following keys is its own individual hive, which comprises more keys within the top-level key.
i. HKEY_CLASSES_ROOT
This is the registry hive of the Windows Registry which consists of file extension association information, programmatic identifier (ProgID), Interface ID (IID) data, and Class ID (CLSID).
This registry hive HKEY_CLASSES_ROOT is the gateway for any action or event to take place in the Windows operating system. Suppose we want to access some mp3 files in the Downloads folder. The operating system runs its query through this to take the required actions.
The moment you access the HKEY_CLASSES_ROOT hive, it is really easy to get overwhelmed looking at such a massive list of extension files. However, these are the very registry keys that make windows function fluidly
Following are some of the examples of HKEY_CLASSES_ROOT hive registry keys,
HKEY_CLASSES_ROOT\.otf
HKEY_CLASSES_ROOT\.htc
HKEY_CLASSES_ROOT\.img
HKEY_CLASSES_ROOT\.mhtml
HKEY_CLASSES_ROOT\.png
HKEY_CLASSES_ROOT\.dll
Whenever we double-click and open a file lets say a photo, the system sends the query through the HKEY_CLASSES_ROOT where the instructions on what to do when such a file is requested are clearly given. So the system ends up opening a photo viewer displaying the requested image.
In the above example, the registry makes a call to the keys stored in the HKEY_CLASSES_ROOT\.jpg key. The HKEY_CLASSES_ROOT hive is a collective data found in both the HKEY_LOCAL_MACHINE hive (HKEY_LOCAL_MACHINE\Software\Classes) as well as the HKEY_CURRENT_USER hive (HKEY_CURRENT_USER\Software\Classes). So when the registry key exists in two locations it creates conflicts. So the data found in HKEY_CURRENT_USER\Software\Classes is used in HKEY_ CLASSES_ ROOT. It can be accessed by opening the HKEY_CLASSES key on the left side of the screen.
ii. HKEY_LOCAL_MACHINE
This is one of the several registry hives that stores all the settings that are specific to the local computer. This is a global key where the information stored cannot be edited by any user or program. Due to the global nature of this subkey, all the information stored in this storage is in the form of a virtual container running on the RAM continuously. The majority of the configuration information for the software users have installed and the Windows operating system itself is occupied in HKEY_LOCAL_MACHINE. All of the currently detected hardware is stored in the HKEY_LOCAL_MACHINE hive.
Also know how to: Fix Regedit.exe Crashes when searching through Registry
This registry key is further divided into 7 sub-keys:
1. SAM (Security Accounts Manager) – It is a registry key file that stores users’ passwords in a secured format (in LM hash and NTLM hash). A hash function is a form of encryption used to protect the users’ account information.
It is a locked file that is located in the system at C:\WINDOWS\system32\config, which cannot be moved or copied when the operating system is running.
Windows uses the Security Accounts Manager registry key file to authenticate users while they log into their Windows accounts. Whenever a user logs in, Windows uses a series of hash algorithms to calculate a hash for the password that has been entered. If the entered password’s hash is equal to the password hash inside the SAM registry file, users will be allowed to access their account. This also a file that most of the hackers target while performing an attack.
2. Security (not accessible except by administrator) – This registry key is local to the account of the administrative user who is logged in to the current system. If the system is managed by any organization the users cannot access this file unless administrative access has been explicitly given to a user. If we were to open this file without administrative privilege it would be blank. Now, if our system is connected to an administrative network, this key will default to the local system security profile established and actively managed by the organization. This key is linked to the SAM, so upon successful authentication, depending on the privilege level of the user, a variety of local and group policies are applied.
3. System (critical boot process and other kernel functions) – This subkey contains important information related to the entire system such as computer name, currently mounted hardware devices, filesystem and what kind of automated actions can be taken in a certain event, say there is Blue screen of death due to CPU overheating, there is a logical procedure that the computer will automatically start taking in such an event. This file is only accessible by users with sufficient administrative privileges. When the system boots this is where all the logs get dynamically get saved and read upon. Various system parameters such as alternative configurations which are known as control sets.
4. Software All the Third-party software configurations such as plug and play drivers are stored here. This subkey contains software and Windows settings linked to the preexisting hardware profile that can be changed by various applications and system installers. Software developers get to limit or allow what information gets accessed by the users when their software is being used, this can be set using the “Policies” subkey that enforces the general usage policies on applications and system services that include the system certificates that is used to authenticate, authorize or disallow certain systems or services.
5. Hardware which is a subkey that is created dynamically during the system boot
6. Components system-wide device-specific component configuration information can be found here
7. BCD.dat (in the \boot folder in the system partition) which is a critical file that the system reads and starts executing during the system boot sequence by loading the registry to the RAM.
iii. HKEY_CURRENT_CONFIG
The main reason for the existence of this subkey is to store video as well as network settings. That could be all the information pertaining to the video card such as the resolution, refresh rate, aspect ratio, etc. as well as the network
It is also a registry hive, part of the Windows Registry, and which stores information about the hardware profile currently being used. HKEY_CURRENT_CONFIG is actually a pointer to the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\HardwareProfiles\Currentregistry key, This is simply a pointer to the currently active hardware profile listed under the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\HardwareProfiles key.
So HKEY_ CURRENT_CONFIG helps us to view and modify the configuration of the current user’s hardware profile, which we can do as an administrator in any of the three locations as listed above since they are all the same.
iv. HKEY_CURRENT_USER
Part of the registry hives that contains store settings as well as configuration information for Windows and software that are specific to the currently logged-in user. For example, a variety of registry values in the registry keys are located in the HKEY_CURRENT_USER hive control user-level settings such as the keyboard layout, printers installed, desktop wallpaper, display settings, mapped network drives, and more.
Many of the settings you configure within various applets in the Control Panel are stored in the HKEY_CURRENT_USER registry hive. Because the HKEY_CURRENT_USER hive is user-specific, on the same computer, the keys and values contained in it will differ from user to user. This is unlike most other registry hives that are global, meaning they retain the same information across all users in Windows.
Clicking on the left side of the screen on the registry editor will give us access to HKEY_CURRENT_USER. As a security measure, the information stored on HKEY_CURRENT_USER is just a pointer to key positioned under the HKEY_USERS hive as our security identifier. Changes made to either of the areas will take effect immediately.
v. HKEY_USERS
This contains subkeys corresponding to the HKEY_CURRENT_USER keys for each user profile. This is also one of many registry hives that we have in the Windows Registry.
All the user-specific configuration data is logged here, for everyone who is actively using the device that kind information is stored under HKEY_USERS. All the user-specific information stored on the system that corresponds to a particular user is stored under the HKEY_USERS hive, we can uniquely identify the users utilizing the security identifier or the SID that logs all the configuration changes made by the user.
All of these active users whose account exist in the HKEY_USERS hive depending on the privilege granted by the system administrator would be able to access the shared resources such as printers, local network, local storage drives, desktop background, etc. Their account has certain registry keys and corresponding registry values stored under the current user’s SID.
In terms of forensic information each SID stores a huge amount of data on every user as it makes a log of every event and action get undertaken under the user’s account. This includes the User’s Name, the number of times the user logged onto the computer, the date and time of the last login, the date and time the last password was changed, number of failed logins, and so on. Additionally, it also contains the registry information for when Windows loads and sits at the login prompt.
Recommended: Fix The Registry editor has stopped working
The registry keys for the default user are stored in the file ntuser.dat within the profile, that we would have to load this as a hive using regedit to add settings for the default user.
Types of data we can expect to find in the Windows Registry
All of the above-discussed keys and subkeys will have the configurations, values, and properties saved in any of the following data types, usually, it is a combination of the following data types that makes up our entire windows registry.
- String values such as Unicode which is a computing industry standard for the consistent encoding, representation, and handling of text expressed in most of the world’s writing systems.
- Binary data
- Unsigned integers
- Symbolic links
- Multi-string values
- Resource list (Plug and Play hardware)
- Resource descriptor (Plug and Play hardware)
- 64-bit integers
Conclusion
Windows Registry has been nothing less of a revolution, which not only minimized the security risk that came by using text files as a file extension to save the system and application configuration but it also reduced the number of configuration or .ini files that the application developers had to ship with their software product. The benefits of having a centralized repository to store frequently accessed data by both the system as well as the software that runs on the system are very evident.
The ease of use as well as the access to various customizations and settings in one central place has also made windows the preferred platform for desktop applications by various software developers. This is very evident if you compare the sheer volume of available desktop software applications of windows to Apple’s macOS. To summarize, we discussed how the Windows Registry works and its file structure and the significance of various registry key configurations as well as to use the registry editor to the complete effect.