Registry 개념(2)

배병진·2023년 5월 2일
4

Windows

목록 보기
5/11

Registry를 확인하기 위해서 Win+r 입력 후 regedit을 입력하면 볼 수 있으니 참고

Registry 정의

  • Windows 전반에 걸쳐 사용되는 설정, 구성

  • 디스크가 아니라 메모리에 존재하여 휘발성의 특징을 가진다. 즉, 재부팅시 사라진다.

  • Registry는 키(Key)와 값(Values)이라는게 존재

  • Key : 폴더의 개념

  • Values : 파일의 개념, Key안에 들어가있는 DATA값이다.

  • Registry는 하이브(Hive)로 나뉘어 진다.

Hive란?

  • Registry 정보를 가지고 있는 물리적 파일

  • Root Key 아래의 서브키로부터 아래의 모든 서브키를 포함하는 트리 구조를 뜻한다고 함.

  • 운영체제가 시작되거나 사용자가 로그인할 때 지원 파일 집합이 메모리에 로드되는 regestry key, 하위 키 및 값의 논리적 그룹이다.

  • 즉, 사용자가 컴퓨터에 로그온할 때마다 사용자 프로필에 대한 별도의 파일을 사용하여 해당 사용자에 대한 앱 설정, 데스크톱, 환경, 네트워크와 관련된 레지스트리가 포함되어있는 새 하이브가 만들어 지고 Hive File을 통하여 Registry의 정보를 확인 가능하다.

  • Hive는 HKEY로시작하며, Windows API 정의로 이름이 지정되어 있다

하이브 파일 경로

  • c:\windows\system32\config

  • RegBack : 하이브 파일 백업

Registry 루트 키(Root Key)

  • HKEY_CLASSES_ROOT(HKCR)

  • Windows는 이 섹션을 사용하여 파일 형식의 연결을 관리 하며

  • HKLM\Software\Classes에 대한 링크

  • 즉, 마우스 우클릭 하는 경우 나오는 메뉴

HKEY_CURRENT_USER(HKCU)

  • 로그인 한 사용자에 대한 사용자 설정을 보유

  • HKEY_USERS\에 대한 링크

  • HKCU\Software에서 대부분의 소프트웨어에 대한 사용자 수준 설정이 포함되어있다(중요한 경로)

  • 즉, Windows의 특정 사용자에게만 지정된 커스텀 설정이 가능한 항목이다. AD서버의 도메인을 받아온 VM에서 가끔 안에 설치되어있는 프로그램에서 사용자 정보를 받아오지 못할경우 해당 경로에서 사용자 id를 등록해 확인가능하다.

HKEY_LOCAL_MACHINE(HKLM)

  • 시스템 전체 설정에 대한 정보가 저장된다

  • HKLM\Software 키를 사용하여 컴퓨터 설정 확인 가능

  • 즉, 설치된 프로그램과 하드웨어 정보등 많은 Windows의 Setting을 이곳에서 확인 가능하다.

HKEY_USERS(HKU)

  • 시스템의 모든 사용자에 대한 모든 설정을 저장한다.

  • 보통 HKCU를 대신 사용하는데 컴퓨터의 다른 사용자에 대한 설정을 확인 할 경우 HKCU를 사용한다.

  • 즉, 일반적인 사용자에 관한 설정이라고 보면 된다.

HKEY_CURRENT_CONFIG

  • 현재 하드웨어 구성에 대한 모든 정보를 저장

  • HKLM\SYSTEM\CurrentControlSet\HardwareProfiles\Current에 대한 링크

HKEY_PERFORMANCE_DATA

  • Runtime 성능 데이터 정보를 제공하는 부분이다.

Registry 등록(GUI)

  • Regedit을 이용하여 생성할 경우 해당 하이브로 들어가서 설정해주면 된다.
  • windows + r > regedit > 해당 하이브

Registry 등록(CLI)

  • 메모장을 이용하여 ps1, bat파일로 변환 후 실행시켜 주면 된다.

    default 형식

    [하이브 이름\키 이름\서브키 이름]

"값 이름"="값 형태":"값 데이터"
"값 A"="문자열 값 데이터"
"값 B"=hex:"이진 데이터"
"값 C"=dword:"DWORD 값 정수"
"값 D"=hex(7):"다중 문자열 값 데이터"
"값 E"=hex(2):"확장 가능한 문자열 값 데이터"

Registry 생성 예제

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft]

"onehyeokchoi"="cool"
"이진 값"=hex:"01,11,00,10,01,10,11,10"
"QWORD(64비트)":hex(b):64,00,00,00,00,00,00,00"
"DWORD(32비트)":dword:0000032
"다중 문자열 값":hex(7):ad,ag,d4,tg,c3,v3,v4,b5,q1,3r,4d,2d,3f,00,00,00,00,

Registry 키 값 삭제 및 수정 예제

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft]

"onehyeokchoi"="nice"
"이진 값"=hex:"01,11,00,10,01,10,11,10"
"QWORD(64비트)":hex(b):64,00,00,00,00,00,00,00"
"DWORD(32비트)":dword:0000000
"다중 문자열 값":hex(7):-

Registry 키 삭제

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft]

bat 스크립트 이용한 registry 값 등록

기본 형식 : reg (add/delete/query/export/import) "키 값"/v "값 이름" /t "데이터 형식" /d "데이터" /f
/f : 강제 적용
/v : 값 이름

등록

@Echo off
reg add "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main" /v "Start Page" /t 
REG_SZ /d "wonhyeok.co.kr" /f

Registry 삭제

reg delete "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main" /v "wonhyeok.co.kr" /f

Registry 조회

reg query "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main" /v "wonhyeok.co.kr"

Registry 내보내기

reg export "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main" /v "lol.reg"

Registry 가져오기

reg import lol.reg
profile
history and study

0개의 댓글