[[분류: 컴퓨터 바이러스]] [목차] == 개요 == 1998년 [[스페인]]에서 만들어진 [[컴퓨터 바이러스]]. 제작자는 29A라는 바이러스/웜 제작 그룹 소속의 윈터뮤트(Wintermute). 레드코드(RedCode)라는 이름은 원래 '코어 워(Core War)'라는 어셈블리어 프로그래밍 게임에서 유래했다. 코어 워는 1984년 D.G.존스와 A.K.듀드니라는 2명의 프로그래머가 만든 프로그래밍 게임으로, 가상의 컴퓨터를 하나 두고 그 컴퓨터의 제어권을 얻기 위해, 두 개의 프로그램이 서로를 파괴하려 싸운다는 구도의 게임이다. 이 게임의 구조는 다음과 같다. * 2개의 전투 프로그램이 메모리의 임의의 위치에 로드된다. * 각 프로그램은 번갈아가며 자기 차례마다 1개의 명령을 실행한다. * 한 프로그램이 반대쪽 프로그램을 종료시키면 승리한다. == 레드코드 프로그래밍 언어 == 이 게임에서 사용된 언어가 바로 레드코드라는 추상적인 어셈블리계 프로그래밍 언어다. 초창기 버전은 8개의 명령어만을 가지고 있었지만 이후 ICWS-86이라는 룰에서 10개로 늘어났고, ICWS-88이라는 룰에서 11개로 확장되었고 현재는 20개의 명령어가 있다. 레드코드에서 사용되는 명령은 다음과 같다. || 명령어 || 설명 || || DAT || 실행될 경우 자기 자신을 종료한다. || || MOV || A필드의 내용을 B필드로 복사한다. || || ADD || A필드의 내용을 B필드에 추가한다. || || SUB || A필드의 내용을 B필드에서 제거한다. || || MUL || A필드의 내용을 B필드에 곱한다. || || DIV || A필드의 내용을 B필드로 나눈다. [[0으로 나누기]]가 될 경우 프로그램이 종료된다. || || MOD || A필드의 내용을 B필드로 나누며 나머지만 남긴다. 0으로 나누기가 될 경우 프로그램이 종료된다. || || JMP || A필드의 지정된 위치로 이동한다. || || JMZ || B필드가 0일 경우 A필드로 이동한다. || || JMN || B필드가 0이 아닐 경우 A필드로 이동한다. || || DJN || B필드 값을 감소시킨다. B필드가 0이 아닐 경우 A필드로 이동한다. || || SEQ || A필드와 B필드 값이 동일 할 경우 다음 명령을 무시한다. || || SNE || A필드와 B필드 값이 동일하지 않을 경우 다음 명령을 무시한다. || || SLT || A필드가 B필드보다 작을 경우 다음 명령을 무시한다. || || SPL || A필드의 특정 위치에서 새 프로세스를 시작한다. || || NOP || 아무것도 안 한다. || || STP || A필드의 내용을 B필드에서 지정한 메모리에 복사한다. || || LDP || A필드에서 지정한 메모리의 내용을 B필드에 복사한다. || || STS || A필드의 문자를 STDOUT에 쓴다. || || LDS || STDIN에서 문자를 읽어 A필드에 저장한다. || 레드코드 바이러스의 이름과 증상은 레드코드 프로그래밍 언어에서 따온 것이다. 다만 이름과 설정만 따왔을 뿐, 실제로 코어 워를 하는 건 아니다. == 증상 == [youtube(Dpw57FMCCMw)] 실행 장면 감염 파일이 1월 1일에 실행될 경우 증상이 발생하는데, 우선 화면에 커다란 격자를 하나 그린다. 그리고 격자의 랜덤 위치에 두 개의 파란색과 녹색 사각형이 있으며 엔터를 누를 경우 사각형들이 움직이며 격자를 채워나간다. 이 모습이 코어 워에서 두 프로그램이 서로를 종료하기 위해 싸우는 모습을 도식화한 것. 항상 두 플레이어(?)이름은 '엉덩이 큰 가쏘(Big Butt Gasso)'와 힘러 퓨스터(Himmler Fewster)' 다. 둘은 경쟁하다가 랜덤하게 어느 한쪽이 승리하면서 끝나는데, 그 후에는 시스템이 다운된다. 만약 엔터를 치지 않고 그냥 재부팅을 하던가 하면 (다시 감염 파일을 실행하지 않는 이상)아무 일도 없다고 한다. 소스코드에 의하면 엉덩이 큰 가쏘는 친구에게 레드코드를 받고는 자신이 뭔가를 할 수 있을 거라고 믿는 뚱땡이고, 힘러 퓨스터는 바이러스 백신 회사를 다니며 바이러스 제작자를 증오하는 인종차별주의자라고 한다. == 기타 == 코어 워의 창시자인 D.G.존스와 A.K.듀드니는 [[크리퍼 바이러스]]에서 영감을 따왔다고 한다. 당시엔 아직 컴퓨터 바이러스가 대중화되지 않았고 정보 획득도 쉽지 않았던 시기라 둘은 크리퍼 바이러스와 그걸 제거하는 프로그램 리퍼의 존재를 일종의 [[도시전설]]이라고 여겼다는듯 하다.