prefetch-file
Windows Prefetch 파일을 파싱하여 응용 프로그램 실행 기록을 조회합니다. Prefetch 파일은 Windows XP 이상에서 응용 프로그램의 시작 성능을 최적화하기 위해 생성되며, C:\Windows\Prefetch 디렉터리에 .pf 확장자로 저장됩니다.
명령어 속성
| 항목 | 설명 |
|---|---|
| 명령어 유형 | 드라이버 쿼리 |
| 필요 권한 | 클러스터 관리자 |
| 라이선스 사용량 | 집계함 |
| 병렬 실행 | 미지원 |
| 분산 실행 | 미지원 |
문법
옵션
zippath=STR- ZIP 파일 경로. 분석 대상 파일이 ZIP 아카이브 안에 있는 경우 ZIP 파일의 경로를 지정합니다.
zipcharset=STR- ZIP 엔트리 이름의 문자집합 (기본값:
utf-8)
대상
FILE_PATH- Prefetch 파일 경로. 와일드카드(
*)를 사용하여 여러 파일을 한 번에 조회할 수 있습니다.zippath옵션과 함께 사용하는 경우 ZIP 파일 내부의 경로를 지정합니다.
출력 필드
| 필드 | 타입 | 설명 |
|---|---|---|
| _file | 문자열 | 원본 Prefetch 파일 이름 |
| version | 32비트 정수 | Prefetch 파일 버전. Windows XP: 17, Windows Vista/7: 23, Windows 8.1: 26, Windows 10: 30 |
| file_size | 64비트 정수 | Prefetch 파일 크기 (바이트) |
| executable_name | 문자열 | 실행 파일 이름 |
| hash | 문자열 | 실행 파일 경로의 해시 값 (16진수 문자열) |
| last_run_time | 날짜 | 마지막 실행 시각 |
| prev_run_times | 배열 | 이전 실행 시각 목록. Windows 8.1 이상에서만 제공되며, 최대 8개의 실행 시각을 포함합니다. 이전 버전에서는 null을 반환합니다. |
| run_count | 32비트 정수 | 실행 횟수 |
| loaded_files | 배열 | 실행 시 로드된 파일 경로 목록 |
| directories | 배열 | 볼륨 정보 목록. 각 항목은 path (볼륨 디바이스 경로), creation_date (볼륨 생성 시각), directory_strings (디렉터리 문자열 목록) 필드를 포함하는 맵입니다. |
오류 코드
파싱 오류
해당 사항 없음
런타임 오류
| 오류 코드 | 메시지 | 설명 | 후처리 동작 |
|---|---|---|---|
| - | cannot read prefetch file [FILE_PATH] | 파일을 읽거나 파싱하는 도중 오류가 발생한 경우 | 쿼리 중단 |
설명
prefetch-file 명령어는 Windows Prefetch 파일을 파싱하여 응용 프로그램의 실행 기록을 조회합니다. 하나의 Prefetch 파일에서 하나의 레코드가 출력됩니다.
Windows 8.1 이상(버전 26, 30)의 Prefetch 파일은 MAM 압축 형식으로 저장되며, 명령어가 자동으로 LZ Xpress 압축을 해제한 후 파싱합니다. Windows XP(버전 17), Windows Vista/7(버전 23) 등 이전 버전의 비압축 Prefetch 파일도 지원합니다.
loaded_files 필드에는 응용 프로그램 실행 시 로드된 DLL, 폰트 파일 등의 경로가 포함됩니다. directories 필드에는 볼륨별 디렉터리 정보가 배열 형태로 저장됩니다.
이 명령어는 4.0.2511.0 버전부터 클러스터 관리자 권한이 필요하며, 접근 가능한 파일 경로가 제한됩니다. 자세한 내용은 파일 접근 제한을 참고하세요.
사용 예
각 사용 예의 파일 경로는 ALLOWED_FILE_SCAN_PATHS 설정에 포함되어 있다고 가정합니다.
-
단일 Prefetch 파일 조회
prefetch-file C:\Windows\Prefetch\NOTEPAD.EXE-D8414F97.pf지정한 Prefetch 파일에서 실행 기록을 조회합니다.
-
와일드카드로 모든 Prefetch 파일 조회
prefetch-file C:\Windows\Prefetch\*.pfPrefetch디렉터리에서 모든 Prefetch 파일을 조회합니다. -
ZIP 아카이브 내부의 Prefetch 파일 조회
prefetch-file zippath=D:\evidence\artifacts.zip Prefetch\*.pfZIP 아카이브 내부의 Prefetch 파일을 조회합니다.
-
실행 횟수 기준으로 정렬
prefetch-file C:\Windows\Prefetch\*.pf | sort -run_count모든 Prefetch 파일을 실행 횟수 기준 내림차순으로 정렬합니다.
-
특정 실행 파일의 로드된 파일 목록 조회
prefetch-file C:\Windows\Prefetch\*.pf | search executable_name == "CMD.EXE" | explode loaded_filesCMD.EXE실행 시 로드된 파일 목록을 각 항목별로 펼쳐서 조회합니다.
호환성
prefetch-file 명령어는 소나 4.0 이전 버전부터 제공되었습니다. 4.0.2511.0 버전부터 클러스터 관리자 권한이 필요합니다.