Как написать компьютерный вирус
мых первым контроллером
DH = максимальный номер головки
CL = максимальный номер сектора
CH = максимальный номер дорожки
( см. функцию 02h )
ES : DI = адрес таблицы параметров дис-
ковода
При ошибке :
CF = 1
AH = байт состояния .
*
Функция не работает на IBM XT для дисководов !!!
ПРИЛОЖЕНИЕ 2
Формат загрузочной записи для MS DOS
различных версий
Формат BOOT - записи для версий MS DOS до 4.0
________________________________________________
|Смещение |Размер | Содержимое |
| ( HEX ) |( DEC )| |
|---------|-------|------------------------------|
|00h |03 |Команда EB xx 90 перехода на |
| | |программу начальной загрузки |
|---------|-------|------------------------------|
|03h |08 |Название фирмы - производителя|
| | |и номер операционной системы |
|---------|-------|------------------------------|
|0Bh |13 |Блок параметров BIOS ( BPB ) |
|---------|-------|------------------------------|
|18h |02 |Количество секторов на дорожке|
|---------|-------|------------------------------|
|1Ah |02 |Количество поверхностей диска |
|---------|-------|------------------------------|
|1Ch |02 |Количество скрытых секторов, |
| | |которые иногда используются |
| | |для разбиения диска на разделы|
|---------|-------|------------------------------|
|1Eh |480 |Программа начальной загрузки, |
| | |называемая загрузочной записью|
| | |(Boot Record). |
|---------|-------|------------------------------|
|1FEh |02 |Код : 55 AA |
|_________|_______|______________________________|
Формат BOOT - записи для версии MS DOS 4.0
________________________________________________
|Смещение |Размер | Содержимое |
| ( HEX ) |( DEC )| |
|---------|-------|------------------------------|
|00h |03 |Команда EB xx 90 перехода на |
| | |программу начальной загрузки |
|---------|-------|------------------------------|
|03h |08 |Название фирмы - производителя|
| | |и номер операционной системы |
|---------|-------|------------------------------|
|0Bh |25 |Расширенный блок параметров |
| | |BIOS ( EBPB ) |
|---------|-------|------------------------------|
|24h |01 |Физический номер дисковода |
| | |( 00h - для дискетного диско- |
| | |вода, 80h - для винчестера ) |
|---------|-------|------------------------------|
|25h |01 |Зарезервировано |
|---------|-------|------------------------------|
|26h |01 |Символ " ) " - признак расши- |
| | |ренной загрузочной записи |
| | |MS DOS 4.0 |
|_________|_______|______________________________|
|27h |04 |Серийный номер диска,создается|
| | |во время его форматирования |
|---------|-------|------------------------------|
|2Bh |11 |Метка ( Volume Label ) диска, |
| | |задается во время его форма- |
| | |тирования |
|---------|-------|------------------------------|
|36h |08 |Обычно содержит запись типа |
| | |" FAT 12 " или аналогичную |
|_________|_______|______________________________|
|3Eh |448 |Программа начальной загрузки, |
| | |называемая загрузочной записью|
| | |(Boot Record). |
|---------|-------|------------------------------|
|1FEh |02 |Код : 55 AA |
|_________|_______|______________________________|
Формат Master Boot Record ( MBR ) - главной
загрузочной записи жесткого диска
________________________________________________
|Смещение |Размер | Содержимое |
| ( HEX ) |( DEC )| |
|---------|-------|------------------------------|
|00h |446 |Программа, называемая |
| | |главной загрузочной записью |
| | |(MBR, или Master Boot Record).|
|---------|-------|------------------------------|
|1BEh |16 |Элемент таблицы разделов диска|
|---------|-------|------------------------------|
|1CEh |16 |Элемент таблицы разделов диска|
|---------|-------|------------------------------|
|1DEh |16 |Элемент таблицы разделов диска|
|---------|-------|------------------------------|
|1EEh |16 |Элемент таблицы разделов диска|
|---------|-------|------------------------------|
|1FEh |02 |Код : 55 AA |
|_________|_______|______________________________|
Формат BPB для версий MS DOS до 4.0
________________________________________________
|Смещение |Размер | Содержимое |
| ( HEX ) |( DEC )| |
|---------|-------|------------------------------|
|00h |02 |Количество байтов |
| | |в одном секторе диска |
|---------|-------|------------------------------|
|02h |01 |Количество секторов |
| | |в одном кластере |
|---------|-------|------------------------------|
|03h |02 |Количество зарезервированных |
| | |секторов |
|---------|-------|------------------------------|
|05h |01 |Количество копий FAT |
|---------|-------|------------------------------|
|06h |02 |Максимальное количество дес- |
| | |крипторов файлов, содержащихся|
| | |в корневом каталоге диска |
|---------|-------|------------------------------|
|08h |02 |Общее количество секторов на |
| | |носителе данных в разделе DOS |
|_________|_______|______________________________|
|0Ah |01 |Байт - описатель среды носи- |
| | |теля данных |
|---------|-------|------------------------------|
|0Bh |02 |Количество секторов,занимаемых|
| | |одной копией FAT |
|_________|_______|______________________________|
Формат EBPB
________________________________________________
|Смещение |Размер | Содержимое |
| ( HEX ) |( DEC )| |
|---------|-------|------------------------------|
|00h |02 |Количество байтов |
| | |в одном секторе диска |
|---------|-------|------------------------------|
|02h |01 |Количество секторов |
| | |в одном кластере |
|---------|-------|------------------------------|
|03h |02 |Количество зарезервированных |
| | |секторов |
|---------|-------|------------------------------|
|05h |01 |Количество копий FAT |
|---------|-------|------------------------------|
|06h |02 |Максимальное количество дес- |
| | |крипторов файлов, содержащихся|
| | |в корневом каталоге диска |
|---------|-------|------------------------------|
|08h |02 |Общее количество секторов на |
| | |носителе данных в разделе DOS |
|_________|_______|______________________________|
|0Ah |01 |Байт - описатель среды носи- |
| | |теля данных |
|---------|-------|------------------------------|
|0Bh |02 |Количество секторов,занимаемых|
| | |одной копией FAT |
|_________|_______|______________________________|
|0Dh |02 |Количество секторов |
| | |на дорожке |
|---------|-------|------------------------------|
|0Fh |02 |Количество головок накопителя |
|---------|-------|------------------------------|
|11h |02 |Количество скрытых секторов |
| | |для раздела,который по размеру|
| | |меньше 32 - х Мегабайт |
|---------|-------|------------------------------|
|13h |02 |Количество скрытых секторов |
| | |для раздела,который по размеру|
| | |превышает 32 Мегабайта |
| | |( Используется только в |
| | |MS DOS 4.0 ) |
|---------|-------|------------------------------|
|15h |04 |Общее количество секторов на |
| | |логическом диске для раздела, |
| | |который по размеру превышает |
| | |32 Мегабайта |
|_________|_______|______________________________|
Параметры дискет различных типов
( В таблицу не вошли данные о совсем старых диске-
тах с объемом 320 Kb, 180 Kb, 120 Kb и других ) :
________________________________________________
|Диаметр | | | | | |
|диска | 3.5" | 3.5" | 3.5" | 5.25" | 5.25 " |
|----------|------|------|------|-------|--------|
|Емкость | | | | | |
|диска, Kb | 2880 | 1440 | 720 | 1200 | 360 |
|----------|------|------|------|-------|--------|
|Media | | | | | |
|Descryptor| F0h | F0h | F9h | F9h | FDh |
|----------|------|------|------|-------|--------|
|Количество| | | | | |
|сторон | 2 | 2 | 2 | 2 | 2 |
|----------|------|------|------|-------|--------|
|Количество| | | | | |
|дорожек | 80 | 80 | 80 | 80 | 40 |
|на стороне| | | | | |
|----------|------|------|------|-------|--------|
|Количество| | | | | |
|секторов | 36 | 18 | 9 | 15 | 9 |
|на дорожке| | | | | |
|----------|------|------|------|-------|--------|
|Размер | | | | | |
|сектора | 512 | 512 | 512 | 512 | 512 |
|----------|------|------|------|-------|--------|
|Количество| | | | | |
|секторов | 2 | 1 | 2 | 1 | 2 |
|в кластере| | | | | |
|----------|------|------|------|-------|--------|
|Длина FAT | | | | | |
|в секторах| 9 | 9 | 3 | 7 | 2 |
|----------|------|------|------|-------|--------|
|Количество| | | | | |
|копий FAT | 2 | 2 | 2 | 2 | 2 |
|----------|------|------|------|-------|--------|
|Длина | | | | | |
|корневого | | | | | |
|каталога | 15 | 14 | 7 | 14 | 7 |
|в секторах| | | | | |