Autorun.inf

소문자 **`autorun.inf`** 파일은 마이크로소프트 윈도우 운영체제의 자동 실행 및 자동 재생 구성 요소에서 사용할 수 있는 텍스트 파일이다. 이 파일을 이러한 구성 요소에서 검색하고 사용하려면 볼륨의 루트 디렉토리에 있어야 한다. Windows는 대소문자를 구분하지 않는 파일 이름 보기를 제공하므로 autorun.inf 파일은 AutoRun.inf 또는 Autorun.INF 또는 다른 대소문자 조합으로 저장할 수 있다. 자동 실행 구성 요소는 지원 비용을 줄이기 위한 방법으로 윈도우 95에 도입되었다. 자동 실행은 응용 프로그램 CD-ROM이 프로그램을 자동으로 시작할 수 있도록 하여 사용자가 설치 프로세스를 통해 안내받을 수 있게 했다. `autorun.inf` 파일에 설정을 배치함으로써 제조업체는 CD-ROM이 삽입될 때 어떤 작업이 수행될지 결정할 수 있었다. 가장 간단한 autorun.inf 파일은 두 가지 설정만 가지고 있다. 하나는 윈도우 탐색기 (또는 "내 컴퓨터")에서 CD를 나타내는 아이콘을 지정하고, 다른 하나는 실행할 응용 프로그램을 지정하는 것이다. 자동 재생 및 기타 새로운 기능을 지원하기 위해 Windows의 연속 버전에 추가 설정이 추가되었다.
# autorun.inf 파일
`autorun.inf`는 CD-ROM 또는 다른 볼륨 장치 매체의 루트 폴더에 있는 ASCII 텍스트 파일이다(자동 재생 장치 유형 참조). 이 구조는 클래식 Windows .ini 파일과 같으며, "키=값" 쌍으로 정보와 명령을 섹션으로 묶어 포함한다.url-status = live 이러한 키는 다음을 지정한다. * 매체가 삽입될 때 호출할 프로그램의 이름과 위치("자동 실행 작업"). * 탐색기에서 매체를 나타내는 아이콘을 포함하는 파일의 이름(표준 드라이브 아이콘 대신). * 사용자가 드라이브 아이콘을 마우스 오른쪽 버튼으로 클릭할 때 나타나는 메뉴의 명령. * 사용자가 드라이브 아이콘을 더블 클릭할 때 실행되는 기본 명령. * 자동 재생 감지 루틴 또는 검색 매개변수를 변경하는 설정. * 드라이버 존재 여부를 나타내는 설정.
## 악용
Autorun.inf는 사용자 모르게 악성 프로그램을 자동으로 실행하는 데 사용되어왔다. 이 기능은 윈도우 7에서 제거되었으며, 윈도우 XP 및 비스타용 패치는 2009년 8월 25일에 출시되었고 2011년 2월 8일 마이크로소프트 자동 업데이트에 포함되었다.
## Inf 처리
매체에 autorun.inf 파일이 단순히 존재한다고 해서 Windows가 자동으로 읽거나 설정을 사용하는 것은 아니다. inf 파일이 처리되는 방식은 사용 중인 Windows 버전, 볼륨 드라이브 유형 및 특정 레지스트리 설정에 따라 달라진다. 레지스트리 설정이 자동 실행을 허용한다고 가정하면 다음 autorun.inf 처리가 발생한다. * 윈도우 XP 이전 Windows 버전 : 모든 드라이브 유형에서 autorun.inf는 즉시 자동으로 읽히고 구문 분석되며 지침이 따른다.url-status = dead : "자동 실행 작업"은 `open` 또는 `shellexecute` 키에 지정된 응용 프로그램이다. 자동 실행 작업이 지정되면 사용자 상호 작용 없이 즉시 실행된다. * 서비스 팩 2 이전의 윈도우 XP : 자동 재생 도입. : autorun.inf 파일이 발견되지 않으면 DRIVE_CDROM 유형의 드라이브가 자동 재생을 호출한다. : DRIVE_REMOVABLE 유형의 드라이브는 autorun.inf 파일을 사용하지 않는다. 발견된 모든 이동식 매체는 자동 재생으로 처리된다. : 다른 모든 처리는 이전과 동일하다. * 윈도우 XP 서비스 팩 2 이상 (비스타 포함) : DRIVE_FIXED 유형의 드라이브는 이제 자동 재생으로 처리된다. 지정된 자동 실행 작업은 자동 재생 대화 상자 내에서 선택 사항으로 나타나며, 선택적 `action` 키에 지정된 텍스트와 함께 표시된다.url-status = live : DRIVE_REMOVABLE 유형의 드라이브는 이제 autorun.inf를 사용하지만 자동 재생으로 계속 처리된다. 지정된 자동 실행 작업은 자동 재생 대화 상자 내에서 옵션으로 나타나려면 필수 `action` 키와 쌍을 이루어야 한다. 그렇지 않으면 자동 실행 작업은 생략된다. : 다른 모든 처리는 이전과 동일하다. * 비스타 및 이후 버전 : 자동 실행 작업은 더 이상 어떤 드라이브 유형에서도 자동으로 그리고 자동으로 실행되지 않는다. 모든 볼륨은 자동 재생으로 처리되며, 기본적으로 사용자에게 적절한 대화 상자를 제공한다. * 윈도우 7, 윈도우 8, 윈도우 8.1, 윈도우 10 : DRIVE_CDROM을 제외한 모든 드라이브 유형의 경우, [autorun] 섹션에서 사용할 수 있는 유일한 키는 `label` 및 `icon`이다. 이 섹션의 다른 모든 키는 무시된다. 따라서 CD 및 DVD 미디어 유형만 자동 실행 작업을 지정하거나 더블 클릭 및 마우스 오른쪽 버튼 동작에 영향을 줄 수 있다.url-status = live : 이 동작으로 자동 실행 기능을 변경하는 Windows XP 이상용 패치 `KB971029`가 있다.url-status = dead
# 간단한 예시
이 간단한 autorun.inf 파일은 자동 실행이 활성화될 때 실행할 응용 프로그램으로 `setup.exe`를 지정한다. `setup.exe` 자체 내에 저장된 첫 번째 아이콘이 탐색기에서 드라이브를 나타낸다. [autorun] open=setup.exe icon=setup.exe,0 label=My install CD
# 섹션
다음은 유효한 autorun.inf에서 허용되는 섹션 및 키이다. RISC에서 실행되는 Windows NT 4와 같은 시스템을 위한 아키텍처 특정 섹션 유형도 존재한다. 그러나 이들은 오래되었으므로 여기서는 설명하지 않는다.
## `autorun`
`autorun` 섹션에는 기본 자동 실행 명령이 포함된다. autorun.inf 파일은 유효하려면 이 섹션을 포함해야 한다. 허용되는 키는 다음과 같다. ; ` action=text ` ; ` action=@[filepath\]filename,-resourceID ` :: 윈도우 XP SP2 이상; DRIVE_REMOVABLE 및 DRIVE_FIXED 유형의 드라이브 : `open` 또는 `shellexecute` 키에 지정된 프로그램을 나타내는 데 자동 재생 대화 상자에서 사용되는 텍스트를 지정한다. 텍스트는 텍스트 또는 리소스 참조로 표현된다. `icon`은 텍스트 옆에 표시된다. 이 항목은 항상 자동 재생 대화 상자에서 첫 번째이며 항상 기본적으로 선택된다. : 다음 유형의 드라이브에 (action) 키가 나타나지 않으면: :; DRIVE_REMOVABLE :: 자동 재생 대화 상자가 나타나지만 추가 메뉴 항목은 없다. 본질적으로 자동 실행 작업은 생략된다. 이로 인해 이 유형의 드라이브에 대한 action 키가 필수가 된다. :; DRIVE_FIXED :: 자동 재생 대화 상자에서 기본 텍스트가 생성되고 사용된다. : 다른 모든 드라이브 유형에서는 이 키는 무시된다. ; ` icon=iconfilename[,index] ` : 아이콘을 포함하는 파일 리소스의 이름. 이 아이콘은 윈도우 탐색기에서 표준 드라이브 아이콘을 대체한다. 이 파일은 `open` 키로 지정된 파일과 같은 디렉토리에 있어야 한다. ; ` label=text ` : 윈도우 탐색기에서 드라이브를 나타내는 텍스트 레이블을 지정한다. ; ` open=[exepath\]exefile [param1 [param2 ...]] ` : 사용자가 디스크를 드라이브에 삽입할 때 자동 실행이 시작하는 응용 프로그램의 경로, 파일 이름 및 선택적 매개변수를 지정한다. 자동 실행에 의해 호출되는 함수는 `CreateProcess`이다. 응용 프로그램 이름에 공백이 포함된 경우 경로는 이중 따옴표로 묶어야 한다(예: open=""spread sheets.exe""). ; ` shellexecute=[filepath\]filename [param1 [param2 ...]] ` :: 윈도우 2000, 윈도우 미 또는 이후 : open과 유사하지만 파일 연결 정보를 사용하여 응용 프로그램을 실행한다. 따라서 파일 이름은 실행 파일 또는 데이터 파일일 수 있다. 자동 실행에 의해 호출되는 함수는 `ShellExecuteEx`이다. ; ` UseAutoPlay=1 ` :: 윈도우 XP 또는 이후; DRIVE_CDROM 유형의 드라이브 : CD-ROM에 자동 실행 대신 자동 재생을 사용한다. CD-ROM 삽입 시 수행되는 작업은 사용 중인 Windows 버전에 따라 달라진다. : XP 이전 Windows 버전에서는 이 키가 아무런 영향을 미치지 않으며 `open` 또는 `shellexecute`에 지정된 작업이 수행된다. : 윈도우 XP 이상에서는 사용자에게 자동 재생 대화 상자가 표시되며 `open` 또는 `shellexecute`에 지정된 모든 작업은 무시된다. ; ` shell\verb\command=[exepath\]exefile [param1 [param2 ...]] ` : 드라이브의 바로 가기 메뉴에 사용자 지정 명령을 추가한다. verb는 공백이 없는 문자열이다. verb는 명시적으로 다른 텍스트로 변경되지 않는 한 바로 가기 메뉴에 나타나는 텍스트이기도 하다. 예시는 아래를 참조한다. ; ` shell\verb=menu text ` : 위의 verb에 대해 바로 가기 메뉴에 표시되는 텍스트를 선택적으로 지정한다. 메뉴의 단축키를 선택하려면 앰퍼샌드(&)를 사용한다. 예시는 아래를 참조한다. ; ` shell=verb ` : `shell\verb`로 참조되는 메뉴 명령을 바로 가기 메뉴의 기본 명령으로 정의한다. 기본 명령은 드라이브 아이콘을 두 번 클릭할 때 실행되는 명령이다. 누락된 경우 기본 메뉴 항목은 "자동 재생"이며, 이는 `open` 항목에 지정된 응용 프로그램을 시작한다. : 예시:

> shell\readme\command=notepad readme.txt shell\readme=Read &Me; shell=readme

## `Content`
`Content` 섹션은 자동 재생이 미디어를 검사하지 않고도 자동 재생에 콘텐츠의 유형과 의도를 전달할 수 있도록 한다. 유효한 키는 `MusicFiles`, `PictureFiles`, `VideoFiles`이다. 각 키는 참 또는 거짓 값을 나타내도록 설정할 수 있으며 값은 대소문자를 구분하지 않는다. ; true 또는 (1, y, yes, t) : 해당 콘텐츠 유형과 관련된 핸들러를 표시한다. ; false 또는 (0, n, no, f) : 해당 콘텐츠 유형과 관련된 핸들러를 표시하지 않는다. 예시: [Content] MusicFiles=Y PictureFiles=0 VideoFiles=false
## `ExclusiveContentPaths`
자동 재생의 콘텐츠 검색을 나열된 폴더 및 해당 하위 폴더로만 제한한다. 폴더 이름은 선행 슬래시 사용 여부에 관계없이 항상 절대 경로(미디어의 루트 디렉토리에서 시작하는 경로)로 간주된다. 예시: [ExclusiveContentPaths] \pictures \music more music\special
## `IgnoreContentPaths`
자동 재생의 콘텐츠 검색 시스템은 나열된 폴더나 해당 하위 폴더를 스캔하지 않는다. `IgnoreContentPaths`는 `ExclusiveContentPaths`보다 우선하므로 [IgnoreContentPaths] 섹션에 주어진 경로가 [ExclusiveContentPaths] 섹션에 주어진 경로의 하위 폴더인 경우에도 여전히 무시된다. 예시: [IgnoreContentPaths] pictures \music more music\special
## `DeviceInstall`
: 윈도우 XP만 해당 이 섹션은 드라이버 파일의 위치를 나타내는 데 사용된다. 이는 CD-ROM 전체 내용을 긴 시간 동안 검색하는 것을 방지한다. Windows XP는 이 섹션이 없으면 다음을 완전히 검색한다. * A 또는 B 드라이브의 플로피 디스크 * 크기가 1GB 미만인 CD/DVD 미디어. 이 섹션이 없는 경우. 다른 모든 미디어는 Windows XP가 해당 미디어에 저장된 드라이버를 자동 감지하도록 이 섹션을 포함해야 한다. 이 섹션은 자동 실행이나 자동 재생과 함께 사용되지 않으며 드라이버 설치 단계에서만 참조된다. 유효한 유일한 키는 다음과 같다. DriverPath=directorypath 이는 Windows가 드라이버 파일을 검색할 경로를 나열한다. 해당 경로의 모든 하위 디렉토리도 검색된다. 여러 키 항목이 허용된다. [DeviceInstall] 섹션에 `DriverPath` 항목이 없거나 `DriverPath` 항목에 값이 없으면, 드라이버 파일 검색 중에 해당 드라이브는 건너뛴다. 예시: [DeviceInstall] DriverPath=drivers\video DriverPath=drivers\audio [autorun] open=setup.exe icon=setup.exe,0 label=My install CD