맨위로가기

ANSI.SYS

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

ANSI.SYS는 MS-DOS 운영 체제에서 사용된 장치 드라이버로, 텍스트 색상 변경, 커서 이동, 화면 지우기 등 다양한 기능을 제공한다. 이 드라이버는 CONFIG.SYS 파일 설정을 통해 사용 가능하며, ANSI 이스케이프 시퀀스를 통해 기능을 제어한다. ANSI.SYS는 키보드 재매핑 기능을 제공하지만, "ANSI 폭탄"과 같은 멀웨어의 위험이 있어, 이를 방지하기 위한 다양한 보안 대책이 존재한다.

더 읽어볼만한 페이지

  • 도스용 드라이버 - HIMEM.SYS
    HIMEM.SYS는 MS-DOS 및 윈도우 환경에서 확장 메모리를 관리하는 장치 드라이버로, A20 라인 제어, HMA 할당, 인터럽트 관리 등의 기능을 제공하며 다양한 스위치 옵션을 통해 메모리 관리 방식 등을 설정할 수 있다.
  • 도스용 파일 - COMMAND.COM
    COMMAND.COM은 MS-DOS 운영체제에서 명령줄 인터페이스를 제공하는 명령어 해석기로, 파일 관리 및 프로그램 실행 등의 작업을 수행하며, 윈도우 9x에서 MS-DOS 호환성을 위해, FreeDOS에서는 핵심 구성 요소로 사용된다.
  • 도스용 파일 - MSDOS.SYS
    MSDOS.SYS는 MS-DOS 운영 체제의 핵심 시스템 파일로, 부팅 과정에서 시스템 초기화 및 하드웨어 설정을 관리하며, 윈도우 9x 시리즈 등장 이후에는 윈도우 부팅 옵션을 설정하는 텍스트 파일로 기능이 변화되었다.
  • 도스 기술 - EXE
    EXE 파일 형식은 운영 체제에 따라 다양한 종류가 있는 실행 파일의 한 형태로, DOS MZ 실행 파일에서 PE, PE32+까지 발전해 왔으며, 코드, 데이터, 스택을 별도 관리하고 재배치 항목을 통해 실행 환경에 유연하게 대응하는 특징을 가진다.
  • 도스 기술 - COM 파일
    COM 파일은 CP/M 및 MS-DOS 운영체제에서 사용된 실행 파일 형식으로, 메타데이터 없이 코드와 데이터로 구성되어 64KB 크기 제한을 가지며, 단순한 구조로 극소의 실행 파일을 만들 수 있지만 보안 취약점도 존재한다.
ANSI.SYS
개요
ANSI 탈출 코드 로고
ANSI 탈출 코드 로고
유형장치 드라이버
파일 확장자.ANS
.ANSI
개발자미국 국립 표준 협회(ANSI)
출시일1970년대 후반
운영체제도스, 윈도우
상세 정보
설명ANSI.SYS는 도스 운영체제에서 화면 디스플레이를 제어하는 데 사용되는 장치 드라이버이다. ANSI 이스케이프 코드를 해석하여 텍스트 색상, 커서 위치 등을 변경할 수 있다.
기능텍스트 색상 및 배경색 변경
커서 위치 제어
화면 지우기
텍스트 스타일 변경 (볼드체, 이탤릭체 등)
사용법ANSI.SYS를 사용하려면 CONFIG.SYS 파일에 `DEVICE=ANSI.SYS` 또는 `DEVICEHIGH=ANSI.SYS`를 추가해야 한다.
호환성ANSI.SYS는 대부분의 도스 버전과 호환되지만, 일부 프로그램에서는 ANSI 이스케이프 코드를 제대로 해석하지 못할 수 있다.
대체 드라이버ANSI.SYS의 대체 드라이버로는 NANSI.SYS와 ANSIPLUS.EXE 등이 있다.

2. 지원 운영 체제

ANSI.SYS는 다음 마이크로소프트 운영 체제에 포함되어 있다.



ANSI.SYS는 장치 드라이버를 지원하는 운영 체제의 첫 번째 버전인 MS-DOS 2.0에 등장했다. 이후 모든 MS-DOS 버전에서 지원되었다. 또한, IBM PC DOSDR-DOS와 같은 마이크로소프트 이외의 DOS 시스템에도 존재한다.

3. 사용법

DOS에서 를 사용하려면 CONFIG.SYS (또는 Windows NT 기반 윈도우 버전에서는 ) 파일에 다음 줄을 추가한다.

:''drive:''\''path''\ANSI.SYS ''options'' DEVICE

여기서 ''drive:''와 ''path''는 파일이 있는 디렉토리의 드라이브 문자와 경로이며, ''options''는 동작을 제어하는 선택적 스위치이다. 는 /를 통해 상위 메모리에 로드할 수도 있다.


  • : 표준 기능 대신 확장 키보드 BIOS 기능(INT 16h) 사용 이 옵션은 F11 및 F12 키가 작동하도록 한다.
  • : 강제로 라인 수 설정
  • : 화면 읽기 프로그램을 지원하도록 라인 스크롤 조정
  • 또는 : 화면 크기 설정
  • : 표준 코드와 독립적으로 확장 키 코드의 재정의 지원

4. 기능

ANSI.SYS는 화면 모드 설정, 색상 및 커서 제어, 키보드 키 재정의 등의 기능을 제공하는 장치 드라이버이다.

이 드라이버를 사용하면 VGA 호환 텍스트 모드에서 16가지 전경색과 8가지 배경색을 사용하고, 텍스트를 깜빡이게 하거나, 커서 위치를 변경하고, 화면을 지울 수 있다. 또한, 표준 80x25 텍스트 모드 외에 다양한 그래픽 모드(예: 320x200 그래픽 모드)로 비디오 모드를 변경할 수 있다. 그러나 ANSI.SYS는 개별 픽셀을 제어할 수는 없다.

표준 `ANSI.SYS`는 이스케이프 시퀀스를 BIOS 호출에 매핑하여 동작이 느린 경우가 많았다. 그래서 비디오 메모리와 직접 상호 작용하는 NANSI.SYS와 같은 타사 대체 드라이버가 개발되었다. `COMMAND.COM`은 ANSI.SYS가 사용 중인지 확인하고, `CLS` 명령이 BIOS 호출 대신 이스케이프 시퀀스를 사용하도록 변경했다.

ANSI.SYS는 MS-DOS 2.0 이후 모든 MS-DOS 버전과 IBM PC DOS, DR-DOS 등 다양한 DOS 시스템에서 지원되었다.

ANSI.SYS는 커서 및 색상 제어 기능을 사용하는 일부 소프트웨어를 실행하는 데 필요했으며, `COMMAND.COM` 프롬프트에서 색상 코드를 활성화하는 데도 사용되었다. 이러한 기능은 BBS에서 ANSI.SYS를 사용하여 텍스트 그래픽을 ASCII 아트보다 정교하게 표현하고, 온라인 게임 등에서 커서를 제어하는 데 활용되었다.

대부분의 Windows 버전은 ANSI 이스케이프 코드를 제대로 지원하지 않았지만, Windows 10부터는 Win32 콘솔에서 지원이 내장되었다. 단, `SetConsoleMode` 함수를 통해 `ENABLE_VIRTUAL_TERMINAL_PROCESSING` 플래그를 설정해야 활성화된다.[1]

ANSI.SYS는 키보드의 키를 재정의하여 단축키나 매크로처럼 작동하게 하는 기능이 있었으나, "ANSI 폭탄"이라는 멀웨어로 악용될 위험이 있어, 많은 MS-DOS용 백신 소프트웨어가 키 재정의를 감시했다.

4. 1. ANSI 이스케이프 시퀀스

ESC [ ?n h
ESC [ =n h
ESC [ >n h화면 모드 설정ESC [ n l
ESC [ ?n l
ESC [ =n l
ESC [ >n l화면 모드 재설정ESC [ n q지원 활성화(n=1) 또는 비활성화(n=0)ESC [ L라인 삽입ESC [ M라인 삭제ESC $ ) 1키보드 입력 모드를 한국어(한글)로 전환ESC ( 2키보드 입력 모드를 영어로 전환ESC [ +콘솔 출력 활성화ESC [ -콘솔 출력 비활성화ESC [ a;b;... p키 재정의 설정


화면 모드

화면 모드
모드설명모드설명
040 × 25 흑백140 × 25 컬러
280 × 25 흑백380 × 25 컬러
4320 × 200 컬러5320 × 200 흑백
6640 × 200 흑백14640 x 200 컬러 (16색 그래픽)
13320 x 200 컬러 (그래픽)19320 x 200 컬러 (256색 그래픽)
15640 x 350 흑백 (2색 그래픽)16640 x 350 컬러 (16색 그래픽)
17640 x 480 흑백 (2색 그래픽)18640 x 480 컬러 (16색 그래픽)
7줄 끝에서 자동 줄 바꿈
114640 x 480 컬러 (16색 그래픽)115640 x 475 컬러 (16색 그래픽)



일부 DOS 구현에서 7보다 높은 비디오 모드는 문서화되지 않았다.

4. 2. ANSI.SYS 특정 이스케이프 시퀀스

wikitext

ANSI.SYS에 특화된 이스케이프 시퀀스는 다음과 같다.

이스케이프 시퀀스기능
CSI = n h화면 모드 설정
CSI = n l화면 모드 초기화
CSI code ; param [ ; param ] p키 재정의



화면 모드
모드설명모드설명
040 × 25 흑백140 × 25 컬러
280 × 25 흑백380 × 25 컬러
4320 × 200 컬러5320 × 200 흑백
6640 × 200 흑백14640 x 200 컬러 (16색 그래픽)
13320 x 200 컬러 (그래픽)19320 x 200 컬러 (256색 그래픽)
15640 x 350 모노크롬 (2색 그래픽)16640 x 350 컬러 (16색 그래픽)
17640 x 480 흑백 (2색 그래픽)18640 x 480 컬러 (16색 그래픽)
7줄 끝에서 자동 줄 바꿈


4. 3. 화면 모드

ANSI.SYS는 화면 모드를 설정하거나 초기화하는 기능을 제공한다.

화면 모드는 다음 표와 같이 다양한 해상도와 색상 모드를 지원한다.

화면 모드
모드설명모드설명
040 × 25 흑백140 × 25 컬러
280 × 25 흑백380 × 25 컬러
4320 × 200 컬러5320 × 200 흑백
6640 × 200 흑백14640 x 200 컬러 (16색 그래픽)
13320 x 200 컬러 (그래픽)19320 x 200 컬러 (256색 그래픽)
15640 x 350 흑백 (2색 그래픽)16640 x 350 컬러 (16색 그래픽)
17640 x 480 흑백 (2색 그래픽)18640 x 480 컬러 (16색 그래픽)
7줄 끝에서 자동 줄 바꿈



이 드라이버를 통해 VGA 호환 텍스트 모드에서 사용 가능한 16가지 텍스트 전경색과 8가지 배경색을 활용하고, 텍스트를 깜빡이게 할 수 있다. 또한 화면에서 커서의 위치를 변경하거나 화면을 지울 수 있다. ANSI.SYS는 표준 80×25 텍스트 모드에서 여러 다른 그래픽 모드(예: 텍스트가 픽셀로 그려지는 320×200 그래픽 모드)로 비디오 모드를 변경할 수 있지만, 개별 픽셀을 켜고 끌 수는 없다.

4. 4. 키보드 재매핑과 ANSI 폭탄

ANSI.SYS의 흥미로운 (잘못된) 기능 중 하나는 단축키 또는 복잡한 명령에 대한 매크로를 수행하기 위해 키보드의 모든 키를 다시 매핑하는 기능이다. 특수 이스케이프 시퀀스를 사용하면 사용자는 문자 코드 매핑이 있는 모든 키 입력을 정의하여 임의의 키 입력 시퀀스를 시뮬레이션할 수 있다. 이것은 악의적인 키보드 재매핑으로 장식된 텍스트 파일로 간단한 트로이 목마를 만드는 데 사용되었으며, 이를 "ANSI 폭탄"이라고 한다.

재정의 기능은 (ANSI.SYS에 국한되지 않고, 이 종류의 고기능 터미널 제어 기능 일반에 해당되는 것이지만) 편리한 반면, 악의적인 시퀀스를 심어놓은, 속칭 "ANSI 폭탄"이라고 불리는 일종의 멀웨어로 악용될 위험도 있는 기능이다. 많은 MS-DOS용 백신 소프트웨어는, 예를 들어, 펑션 키 F3이 `DEL *.*`나 `FORMAT C:`으로 바뀌거나, (NO를 의미하는) N 키가 `Y`로 바뀌는 등, 위험한 개조가 이루어지지 않았는지 확인한다.

이에 사용자를 보호하기 위해 여러 제품이 출시되었다.

ANSI.SYS는 BIOS 콜로 구현되었기 때문에, 동작이 매우 느린 경우도 있었다. 후속 소프트웨어 중에는 BIOS를 우회하고, 직접 비디오 메모리에 매핑하여 콘솔 기능을 스스로 제공하는 것도 있었다 ("MS-DOS용"이지만, 소위 "MS-DOS 범용"이 아닌 "IBM PC 전용" 프로그램이 전체 화면 표시를 수행하는 방법과 같다). 대체로 이러한 후속 소프트웨어는 키 재배치 기능을 삭제하여 "ANSI 폭탄"에 의한 위협을 제거했다.

5. 기타

`ANSI.SYS`는 커서 및 색상 관리 기능을 사용하는 일부 소프트웨어를 실행하는 데 필요했다. 또한, COMMAND.COM 프롬프트 내에서 복잡한 컬러 코드를 구현하기 위해 사용되기도 했다. 이보다 훨씬 두드러진 `ANSI.SYS`의 사용법은 전자 게시판에서 나타났다.

ANSI 이스케이프 시퀀스는 전자 게시판에서 아스키 아트보다 정교한 텍스트 그래픽을 전송하거나, 많은 온라인 게임에서 사용된 방식으로 커서를 제어하는 등의 용도로 사용되었다.



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com