목차
6-1 터보-백신 툴 킷 제작 & 소개
6-1-1 제작 동기
6-1-2 특징
6-1-3 ALPHA(알파 버젼)의 제한점들
6-1-4 기억장소상에서 존재하는 바이러스의 진단/치료 원리
6-1-6 이 프로그램 사용전의 주의사항
6-1-7 향후 발전 계획
6-1-8 제작자의 연락처
6-2 터보 백신 툴 킷 소스
6-2-1 에루살렘 바이러스 백신 프로그램 C 소스
6-2-2 터보 백신 툴 킷 헤더 소스
6-1-1 제작 동기
6-1-2 특징
6-1-3 ALPHA(알파 버젼)의 제한점들
6-1-4 기억장소상에서 존재하는 바이러스의 진단/치료 원리
6-1-6 이 프로그램 사용전의 주의사항
6-1-7 향후 발전 계획
6-1-8 제작자의 연락처
6-2 터보 백신 툴 킷 소스
6-2-1 에루살렘 바이러스 백신 프로그램 C 소스
6-2-2 터보 백신 툴 킷 헤더 소스
본문내용
이러
스가 치료 가능 합니다.)
6-1-6 이 프로그램 사용전의 주의사항
1. 어느 정도 바이러스에 대해서 아는 분이 본 내용을 읽는다는 가정하
에 기초적인 설명은 다루지 않았으며, 툴 킷을 이용한 백신제작에
필요한 내용들만을 기술하고 있습니다.
2. 이 툴킷을 이용하여 제작한 백신은 절대 상업적인 목적으로 사용하는
것은 허락하지 않음을 알려 드립니다. 단, 본 툴 킷을 이용하여 제작
한 백신을 통신망등에 공개하건 개인적인 목적으로 사용건은 자유
입니다.
3. 제작자는 본 라이브러리의 제작에 최선의 노력을 경주하여 제작하였
습니다. 본 라이브러리를 이용하여 제작한 백신에 문제가 있을시는
툴킷을 이용하여 백신을 제작한 자신에게 책임이 있음을 알려 드리며
이 라이브러리로 인하여 발생하는 어떠한 문제점에 대해서도 툴 킷
제작자는 책임이 없음을 알려 드립니다.
4. 본 라이브러리의 내용을 수정하는 행위등은 절대로 허락하지 않으며,
압축화일 내에 포함된 소스에 대해서도 어떠한 변형도 불가 합니다.
6-1-7 향후 발전 계획
1. 본 ALPHA(알파) 버젼은 아직 테스트 버젼이라서 부족한 기능이 많이
있지만 차후 버젼에서는 좀더 완벽한 기능과 완벽한 설명서와 함께
만나 뵙도록 하겠습니다.
2. 아직 ALPHA(알파) 버젼에서는 부트 바이러스에 대한 진단/치료 기능
은 다루지 못했지만 차후 버젼에서는 꼭 이들 또한 다루도록 하겠
습니다.
3. 아직 툴킷 라이브러리에 대한 최적화를 하지 않은 관계로 생성 화일
의 크기가 다소 크다는 느낌을 받을수 있지만 차후 버젼업시에는
최적화를 하여 더욱 컴팩트한 모습을 보여드리도록 하겠습니다.
6-1-8 제작자의 연락처
1. 하이텔 ID : HTLim
나우콤 ID : hello
천리안 ID : zpihello
2. 주소 : 151-051 서울특별시 관악구 봉천 1동 692-25 12/1
임 형택
6-2 터보 백신 툴 킷 소스
C언어로 작성된 라이브러리 형태로 제공 된다.
바이러스를 분석할수 있을 정도의 어셈블리어에 대한 기본적인
지식만으로도 사용하실 수 있을 정도로 매우 쉽게 백신을 작성할
수 있다는 장점이 있다.
6-2-1 에루살렘 바이러스 백신 프로그램 C 소스
/* FileName: VI576VAC.C
Discription: Turbo Vaccine Tool Kit 를 이용한
예루살렘 바이러스에 대한 백신 프로그램
Date: 1994/12/02
Programmer: Lim Hyoung-Taek
*/
#include "tvtk.h" /* 헤더 파일 */
main(int argc, char *argv[])
{
VIRINFO_T VI = {
"1994-12-02, My Name", /* Vaccine : 1994-11-30, .... */
"Vienna.576", /* 바이러스 이름 */
{ 7, /* 진단 코드 길이 */
0x8b, 0xf2, 0xb8, 0x0f, 0xff, 0xcd, 0x21 }, /* 진단 코드 */
576, /* 바이러스의 길이 */
{ NO_SCAN, /* 메모리에 있는 바이러스 코드 셋 */
0L, /* 바이러스 상주시의 INT 21H 오프셋 */
0 /* 원래의 INT 21H가 있는 오프셋 */
},
{ NO_SCAN, /* EXE형 파일에 있는 바이러스 코드 셋 */
0L, /* 원래의 SS가 있는 오프셋 */
0L, /* 원래의 SP가 있는 오프셋 */
0L, /* 원래의 IP가 있는 오프셋 */
0L /* 원래의 CS가 있는 오프셋 */
},
{ VT_TAIL,
0x11, /* COM형 파일에 있는 바이러스 코드 셋 */
0x1bfL, /* 원래 화일의 앞부분이 있는 셋 */
3, /* 원래 화일의 앞부분의 바이트 */
}
};
Scan_Virus(argc, argv, &VI); /* 바이러스 검색 함수를 호출한다. 이 함수 하나
로
검색과 치료가 모두 이루어 진다. */
}
6-2-2 터보 백신 툴 킷 헤더 소스
1)
/* FileName: TVTK.H
Discription: 바이러스 검색과 치료를 위한 정보 헤더 화일
Date: 1994/11/30
Programmer: Lim Hyoung-Taek
*/
#include "typedef.h"
#define VT_HEAD 0
#define VT_TAIL 1
#define NO_SCAN -1L
typedef struct {
byte show_string[50];
byte vir_name[50]; /* 바이러스 이름 포인터 */
byte vir_code[50]; /* 파일에 있는 바이러스 코드 포인터
= { 코드 길이, 코드들 ... }; */
word vir_size; /* 바이러스의 길이 */
struct {
long vir_code_off; /* 메모리에 있는 바이러스 코드 오프셋 */
word vir_int21_off; /* 바이러스 상주시의 INT 21H 오프셋 */
word org_int21_off; /* 원래의 INT 21H가 있는 오프셋 */
} mem;
struct {
long vir_code_off; /* 파일에 있는 바이러스 코드 오프셋 */
long org_ss_off; /* 원래의 SS가 있는 오프셋 */
long org_sp_off; /* 원래의 SP가 있는 오프셋 */
long org_ip_off; /* 원래의 IP가 있는 오프셋 */
long org_cs_off; /* 원래의 CS가 있는 오프셋 */
} exe;
struct {
word vir_type;
long vir_code_off; /* 파일에 있는 바이러스 코드 오프셋 */
long org_head_off;
word org_head_nbytes;
} com;
} VIRINFO_T; /* Virus Information */
2)
/* FileName: TYPEDEF.H
Discription: Type definitions
Date: 1994/11/30
Programmer: Lim Hyoung-Taek
*/
#ifndef TYPEDEF_H
#define TYPEDEF_H
typedef unsigned char byte;
typedef unsigned word;
#endif
스가 치료 가능 합니다.)
6-1-6 이 프로그램 사용전의 주의사항
1. 어느 정도 바이러스에 대해서 아는 분이 본 내용을 읽는다는 가정하
에 기초적인 설명은 다루지 않았으며, 툴 킷을 이용한 백신제작에
필요한 내용들만을 기술하고 있습니다.
2. 이 툴킷을 이용하여 제작한 백신은 절대 상업적인 목적으로 사용하는
것은 허락하지 않음을 알려 드립니다. 단, 본 툴 킷을 이용하여 제작
한 백신을 통신망등에 공개하건 개인적인 목적으로 사용건은 자유
입니다.
3. 제작자는 본 라이브러리의 제작에 최선의 노력을 경주하여 제작하였
습니다. 본 라이브러리를 이용하여 제작한 백신에 문제가 있을시는
툴킷을 이용하여 백신을 제작한 자신에게 책임이 있음을 알려 드리며
이 라이브러리로 인하여 발생하는 어떠한 문제점에 대해서도 툴 킷
제작자는 책임이 없음을 알려 드립니다.
4. 본 라이브러리의 내용을 수정하는 행위등은 절대로 허락하지 않으며,
압축화일 내에 포함된 소스에 대해서도 어떠한 변형도 불가 합니다.
6-1-7 향후 발전 계획
1. 본 ALPHA(알파) 버젼은 아직 테스트 버젼이라서 부족한 기능이 많이
있지만 차후 버젼에서는 좀더 완벽한 기능과 완벽한 설명서와 함께
만나 뵙도록 하겠습니다.
2. 아직 ALPHA(알파) 버젼에서는 부트 바이러스에 대한 진단/치료 기능
은 다루지 못했지만 차후 버젼에서는 꼭 이들 또한 다루도록 하겠
습니다.
3. 아직 툴킷 라이브러리에 대한 최적화를 하지 않은 관계로 생성 화일
의 크기가 다소 크다는 느낌을 받을수 있지만 차후 버젼업시에는
최적화를 하여 더욱 컴팩트한 모습을 보여드리도록 하겠습니다.
6-1-8 제작자의 연락처
1. 하이텔 ID : HTLim
나우콤 ID : hello
천리안 ID : zpihello
2. 주소 : 151-051 서울특별시 관악구 봉천 1동 692-25 12/1
임 형택
6-2 터보 백신 툴 킷 소스
C언어로 작성된 라이브러리 형태로 제공 된다.
바이러스를 분석할수 있을 정도의 어셈블리어에 대한 기본적인
지식만으로도 사용하실 수 있을 정도로 매우 쉽게 백신을 작성할
수 있다는 장점이 있다.
6-2-1 에루살렘 바이러스 백신 프로그램 C 소스
/* FileName: VI576VAC.C
Discription: Turbo Vaccine Tool Kit 를 이용한
예루살렘 바이러스에 대한 백신 프로그램
Date: 1994/12/02
Programmer: Lim Hyoung-Taek
*/
#include "tvtk.h" /* 헤더 파일 */
main(int argc, char *argv[])
{
VIRINFO_T VI = {
"1994-12-02, My Name", /* Vaccine : 1994-11-30, .... */
"Vienna.576", /* 바이러스 이름 */
{ 7, /* 진단 코드 길이 */
0x8b, 0xf2, 0xb8, 0x0f, 0xff, 0xcd, 0x21 }, /* 진단 코드 */
576, /* 바이러스의 길이 */
{ NO_SCAN, /* 메모리에 있는 바이러스 코드 셋 */
0L, /* 바이러스 상주시의 INT 21H 오프셋 */
0 /* 원래의 INT 21H가 있는 오프셋 */
},
{ NO_SCAN, /* EXE형 파일에 있는 바이러스 코드 셋 */
0L, /* 원래의 SS가 있는 오프셋 */
0L, /* 원래의 SP가 있는 오프셋 */
0L, /* 원래의 IP가 있는 오프셋 */
0L /* 원래의 CS가 있는 오프셋 */
},
{ VT_TAIL,
0x11, /* COM형 파일에 있는 바이러스 코드 셋 */
0x1bfL, /* 원래 화일의 앞부분이 있는 셋 */
3, /* 원래 화일의 앞부분의 바이트 */
}
};
Scan_Virus(argc, argv, &VI); /* 바이러스 검색 함수를 호출한다. 이 함수 하나
로
검색과 치료가 모두 이루어 진다. */
}
6-2-2 터보 백신 툴 킷 헤더 소스
1)
/* FileName: TVTK.H
Discription: 바이러스 검색과 치료를 위한 정보 헤더 화일
Date: 1994/11/30
Programmer: Lim Hyoung-Taek
*/
#include "typedef.h"
#define VT_HEAD 0
#define VT_TAIL 1
#define NO_SCAN -1L
typedef struct {
byte show_string[50];
byte vir_name[50]; /* 바이러스 이름 포인터 */
byte vir_code[50]; /* 파일에 있는 바이러스 코드 포인터
= { 코드 길이, 코드들 ... }; */
word vir_size; /* 바이러스의 길이 */
struct {
long vir_code_off; /* 메모리에 있는 바이러스 코드 오프셋 */
word vir_int21_off; /* 바이러스 상주시의 INT 21H 오프셋 */
word org_int21_off; /* 원래의 INT 21H가 있는 오프셋 */
} mem;
struct {
long vir_code_off; /* 파일에 있는 바이러스 코드 오프셋 */
long org_ss_off; /* 원래의 SS가 있는 오프셋 */
long org_sp_off; /* 원래의 SP가 있는 오프셋 */
long org_ip_off; /* 원래의 IP가 있는 오프셋 */
long org_cs_off; /* 원래의 CS가 있는 오프셋 */
} exe;
struct {
word vir_type;
long vir_code_off; /* 파일에 있는 바이러스 코드 오프셋 */
long org_head_off;
word org_head_nbytes;
} com;
} VIRINFO_T; /* Virus Information */
2)
/* FileName: TYPEDEF.H
Discription: Type definitions
Date: 1994/11/30
Programmer: Lim Hyoung-Taek
*/
#ifndef TYPEDEF_H
#define TYPEDEF_H
typedef unsigned char byte;
typedef unsigned word;
#endif