NT 경로는 Object Manager가 리소스를 참조하는 방식임
예를 들어 HKEY_LOCAL_MACHINE은 \Registry\Machine의 별칭임
NT는 전역 VFS 네임스페이스를 사용하는 점에서 Unix와 유사함
드라이브 문자로 시작하는 경로는 DOS 호환성을 위한 “DOSPath”로, 커널 모드에서도 일부 서브시스템이 여전히 이를 사용함
PowerShell에서는 다양한 리소스를 “드라이브”로 노출하며, hklm:\ 같은 기본 드라이브 외에도 커스텀 드라이브를 만들 수 있음
관련 문서: PowerShell Drive 관리 샘플
Linux/Bash에서는 인증서를 파일 경로로 접근할 수 없지만, PowerShell/Windows에서는 가능함 NtObjectManager PowerShell 모듈을 설치해 ls NtObject:\로 탐색해보길 추천함 모듈 링크
30년이 지나도 Windows가 여전히 80년대식 디렉터리 구조에 묶여 있는 게 놀라움. 플로피 드라이브도 없는데 말임
PnP PowerShell의 PSDrive 프로바이더를 사용하면 SharePoint Online도 드라이브처럼 탐색 가능함 Connect-PnPOnline 문서
Linux에서도 /usr/share/ca-certificates나 /etc/ssl/certs를 통해 인증서를 파일로 접근할 수 있음
다만 Windows Registry만큼 통합되어 있지는 않음
Hacker News 의견
NT 경로는 Object Manager가 리소스를 참조하는 방식임
예를 들어
HKEY_LOCAL_MACHINE은\Registry\Machine의 별칭임NT는 전역 VFS 네임스페이스를 사용하는 점에서 Unix와 유사함
드라이브 문자로 시작하는 경로는 DOS 호환성을 위한 “DOSPath”로, 커널 모드에서도 일부 서브시스템이 여전히 이를 사용함
PowerShell에서는 다양한 리소스를 “드라이브”로 노출하며,
hklm:\같은 기본 드라이브 외에도 커스텀 드라이브를 만들 수 있음관련 문서: PowerShell Drive 관리 샘플
Linux/Bash에서는 인증서를 파일 경로로 접근할 수 없지만, PowerShell/Windows에서는 가능함
NtObjectManager PowerShell 모듈을 설치해
ls NtObject:\로 탐색해보길 추천함모듈 링크
Connect-PnPOnline 문서
/usr/share/ca-certificates나/etc/ssl/certs를 통해 인증서를 파일로 접근할 수 있음다만 Windows Registry만큼 통합되어 있지는 않음
Windows에서도 작동함
ReactOS NT Object Browser 예시
/etc/ca-certificates/extracted/cadir아래에서 PEM 파일들을 직접 볼 수 있음Windows는 파티션을 드라이브 문자 없이도 접근할 수 있음
Linux처럼 디렉터리 아래에 마운트 가능하며, PowerShell의
Add-PartitionAccessPath명령으로 설정 가능함재부팅 후에도 유지됨
설치 프로그램은 SD 카드를 거부하지만, NTFS 마운트 포인트를 사용하면 속일 수 있음
다만 일부 설치 프로그램은 상위 디스크의 여유 공간을 확인해 혼란스러워함
영구 마운트에는 심볼릭 링크가 더 유용함
서로 다른 성능 정책의 VM 디스크를 하나의 경로로 묶을 수 있음
GUI에서 파티션을 만들 때 “드라이브 문자 할당” 대신 “경로로 마운트”를 선택할 수 있음
“€:\” 같은 드라이브 문자는 저주스럽지만 멋진 예시임
NT 커널은 사용자에게 노출된 것보다 훨씬 유연함
내부에는 GUID 매핑 기반의 복잡한 구조가 숨어 있음
예를 들어
{GUID}이름의 바로가기를 만들면 숨겨진 기능으로 연결되기도 함이런 구조 덕분에 Windows는 멀웨어의 온상이 되기도 함
File Explorer는 A~Z 이외의 드라이브 문자를 인식하지 않음
그래서 드라이브 문자를 전부 이모지로 바꾸는 꿈은 불가능함
대신
autorun.inf로 드라이브 아이콘을 이모지로 바꾸는 편이 낫고, 라벨에도 이모지를 넣을 수 있음Win9x 시절
ALT + 255트릭으로 탐색기에서 접근 불가한 폴더를 만들 수 있었음Xbox 360 개발 환경에서는 드라이브 문자가 문자열 형태였음
예:
Game:\foo,Hdd0:\fooXenia 에뮬레이터는 이를 심볼릭 링크 기반 가상 파일 시스템으로 처리함
Xenia 코드 예시
Linux에는 비슷한 개념으로 Abstract Domain Socket이 있음
첫 문자가 NUL(
\0)인 Unix 도메인 소켓으로, 권한 제약을 우회할 수 있음게임 서버에서 각 플레이어의 리소스를 분리하면서도 통신을 유지하기 위해 사용 중임
/proc/net/unix에서 해당 소켓을 찾을 수도 있음이런 기능은 악성코드를 만들기 좋은 환경처럼 들림
숨겨진 마운트나 이상한 드라이브 이름으로 시스템을 교란할 수 있을 듯함
여러 장의 디스크 이미지를 마운트해야 하는 경우, 드라이브 문자가 매우 혼란스러워짐
예를 들어 36개의 DVD ISO를 마운트하면 명령줄 인용부호 지옥을 경험하게 됨
예전 DOS(아마 3.3 버전)에서는 Z 다음 드라이브 문자가 AA였음
작은 RAM 드라이브를 여러 개 만들어 확인했었음