Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Пример 2. ASSUME CS:CODE, DS:CODE





CODE SEGMENT

ASSUME CS: CODE, DS: CODE

ORG 10OH

BEG:

/открыть файл

MOV AX, 3D02H

LEA DX, PATH

INT 21H

JC _END

PUSHAX

/байт в таблице дескрипторов файлов равен

; номеру блока описания файла

MOVSI, AX

MOV DL, ES: [SI+18H] - • •

XORDH, DH; номер блока в DX

/адрес списка списков ~

MOV АН, 52Н:

INT 21H

/указатель на системную таблицу файлов

LES SI, ES: [BX+4]; в ES: SI

/ищем блок описания файла

CMPDX, ES: [SI+4]

JB YES

SUB DX, ES: [SI+4]

LESSI, ES: [SI] /второй блок

; номер кластера

YES:

MOVAX, 59 /размерблока

MULDL

ADDSI, AX

MOVAX, ES: [SI+6+OBH] /номеркластера

MOVCLAST, AX

/записываем номер по смещению OFSET, вначале сдвиг,

POPВХ

MOVAX, 4200H

XORCX, CX

может быть помечен как неперемещаемый (READONLY). Однако атрибут файла может быть случайно изменен, что приведет к тому, что пакет не будет работать. В качестве примера, однако, я приведу программу, определяющую начальный кластер заданного файла. Для определения начального кластера файла используется функция 52Н. Конечно, начальный кластер файла можно найти, поработав с FAT, но это гораздо сложнее. Данная программа определяет номер начального кластера файла с именем NONAME.COM и записывает его в него же по смещению OFSET.

CODE SEGMENT

ASSUME CS: CODE, DS: CODE

ORG 10OH

BEG:

/открытьфайл

MOV AX, 3D02H

LEA DX, PATH

INT 21H

JC _END

PUSHAX

/байт в таблице дескрипторов файлов равен

; номеру блока описания файла

MOVSI, AX

MOV DL, ES: [SI+18H] - • •

XORDH, DH; номер блока в DX

/адрес списка списков ~

MOV АН, 52Н:

INT 21H

/указатель на системную таблицу файлов

LES SI, ES: [BX+4]; в ES: SI

/ищем блок описания файла

CMPDX, ES: [SI+4]

JB YES

SUB DX, ES: [SI+4]

LESSI, ES: [SI] /второй блок

; номер кластера

YES:

MOVAX, 59 /размерблока

MULDL

ADDSI, AX

MOVAX, ES: [SI+6+OBH] /номеркластера

MOVCLAST, AX

/записываем номер по смещению OFSET, вначале сдвиг,

POPВХ

MOVAX, 4200H

XORCX, CX

ERR D:

WR:

MOV DH, 2

MOV CL, 4

MOV CH, 3

MOV DL, 80H

MOV BX, OFFSET BUF

INT 13H

JC ERR_D

MOV DX, OFFSET MES1

JMP SHORT WR

MOV DX, OFFSET MES2

MOV AH, 9

INT 21H '

RET

MES1 DB 'Метка установлена на жесткий диск.', 13, 10, ' $ '

MES2 DB 'При установке метки на жесткий диск произошла'

DB 'ошибка.', 13, 10, '$ '

BUFDB 512 DUP(?)

DB 4234'

CODEENDS

ENDBEGIN

(а) Установка метки на жестком диске.

CODE SEGMENT

ASSUME CS-.CODE

ORG 100H

BEGIN:

/читаем: головка 2, дорожка 3, сектор 4

MOV AH, OAH

MOV AL, 1

MOV DL, 80H

MOV DH, 2

MOV CH, 3

MOV CL, 4

MOV BX, OFFSET BUFFER

INT 13H

JCNO_M

; проверка последних 4 байт

CMP BYTE PTR ES: [BX]+512, '! '

JNZ NO_M

CMP BYTE PTR ES: [BX]+513, '2 '

JNZ NO M

CMP BYTE PTR ES: [BX]+514, '3'

JNZ NO_M

CMP BYTE PTR ES: [BX]+515, '4 '

JNZ NO_M

MOV DX, OFFSET MES2

JMP SHORT WR

NO_M:

MOV DX, OFFSET MES1

WR:

MOV AH, 9

INT 21H

RET

BUFFER DB 512 DUP(?)

METDB 4 DUP(?)

MES1 DB 'Метка на жестком диске не обнаружена.'

DB 13, 10, '$'

MES2 DB 'Метка на жестком диске обнаружена.', 13, 10, '$'

CODEENDS

ENDBEGIN

(б) Проверка метки на жестком диске.

Информация, необходимая при идентификации пакета, может быть помещена в ВООТ-сектор или PARTITIONTABLE. Однако это ненадежный способ, и прибегать к нему следует лишь в простых ситуациях. Дело в том, что содержимое этих секторов может измениться при переустановке системы. Некоторые же антивирусные программы могут принять постороннюю информацию в секторе за наличие вируса. Пакет может быть привязан к BAD-кластерам, которые проставляются во время установки.

Привязка к винчестеру может сочетаться с проверкой некоторых индивидуальных параметров компьютера. К таковым относятся:

- серийный номер микропроцессора, микросхемы ПЗУ и дата изготовления;

- аппаратная конфигурация данного компьютера;

- содержание ПЗУ (контрольная сумма);

- частотные и временные характеристики отдельных узлов.







Дата добавления: 2014-11-10; просмотров: 894. Нарушение авторских прав; Мы поможем в написании вашей работы!




Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

Классификация ИС по признаку структурированности задач Так как основное назначение ИС – автоматизировать информационные процессы для решения определенных задач, то одна из основных классификаций – это классификация ИС по степени структурированности задач...

Внешняя политика России 1894- 1917 гг. Внешнюю политику Николая II и первый период его царствования определяли, по меньшей мере три важных фактора...

Оценка качества Анализ документации. Имеющийся рецепт, паспорт письменного контроля и номер лекарственной формы соответствуют друг другу. Ингредиенты совместимы, расчеты сделаны верно, паспорт письменного контроля выписан верно. Правильность упаковки и оформления....

Типовые ситуационные задачи. Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической   Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической нагрузке. Из медицинской книжки установлено, что он страдает врожденным пороком сердца....

Типовые ситуационные задачи. Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт. ст. Влияние психоэмоциональных факторов отсутствует. Колебаний АД практически нет. Головной боли нет. Нормализовать...

Эндоскопическая диагностика язвенной болезни желудка, гастрита, опухоли Хронический гастрит - понятие клинико-анатомическое, характеризующееся определенными патоморфологическими изменениями слизистой оболочки желудка - неспецифическим воспалительным процессом...

Studopedia.info - Студопедия - 2014-2026 год . (0.01 сек.) русская версия | украинская версия