
ZI-LR&PZ / LR_1-1
.pdf
МЕТОДИЧНІ ВКАЗІВКИ до лабораторної роботи №1-1
“Читання, очищення та запис секторів диску” за курсом “Захист інформації у комп’ютерних системах та мережах”
1. Ціль роботи Придбання навичок роботи з дисками на низькому рівні.
2.Теми для попереднього пророблення Структура диску.
Структура BOOT-сектора диска. Робота з перериваннями. Функції переривання 13Н.
Читання секторів, запис секторів, перевірка записаної у секторі інформації.
3.Постановка задачі
Необхідно розробити і налагодити програму заміни визначеної ділянки заданого сектора диска та програму очищення (шредінгу) сектору.
4. Індивідуальні завдання
4.1.Виконати зміну інформації у місці мітки boot-сектора за допомогою програми написаною на низькорівневої мові програмування та перевірку інформації, що записана. У якості інформації, що записується, використати особливі ініціали кириличними літерами.
4.2.Повне очищення сектору відповідно до призначеного за варіантом алгоритму шредінгу (див.файл Del-info) :
Індивідуальні завдання Алгоритми визначаються в залежності від номеру у журналі.
№ % 5 |
Назва алгоритму шредингу |
0DoD 5220.22-M
1Стандарт VISR
2ГОСТ Р50739-95
3Алгоритм Брюса Шнейера
4Алгоритм Питера Гутманна
де
№ - номер по журналі
%- операція знаходження залишку від цілочислового розподілу
5.Приклад рішення задачі (завдання 4.1)
Умова завдання.
Визначити місце перебування мітки на диску за допомогою програми diskedit.
Використовуючи 2 функцію 13Н переривання виконати читання 1 сектора з нульової доріжки 0 сторони пристрою А чи В у виділений буфер.
Замінити вихідну інформацію.
Записати отриманий масив за допомогою 3 функції 13Н переривання на теж саме місце.
Приклад виконання завдання

program logdisk; uses dos,crt;
var
i:integer; n_sek,n_dor,n_gol,kol_sek:word; code:word;
buf :array[0..512] of byte; r:registers;
{ запись сектора } procedure out_sek; begin
r.al:=kol_sek; r.ah:=3; r.dl:=0; r.dh:=n_gol; r.cl:=n_sek; r.ch:=n_dor; r.es:=seg( buf ); r.bx:=ofs( buf ); intr($13,r);
code:=r.flags and fcarry; if code=1 then begin writeln('error');halt;end;
end;
{ чтение сектора } procedure in_sek; begin
r.al:=kol_sek; r.ah:=2; r.dl:=0; r.dh:=n_gol; r.cl:=n_sek; r.ch:=n_dor; r.es:=seg( buf ); r.bx:=ofs( buf ); intr($13,r);
code:=r.flags and fcarry; if code=1 then begin writeln('error');halt;end;
end;
begin
clrscr; n_sek :=8; n_gol :=0; n_dor :=1; kol_sek:=1;

for i:=1 to 7 do buf[i]:=13; out_sek;
for i:=1 to 7 do buf[i]:=0; in_sek;
for i:=1 to 7 do write(' ',buf[i],' ');
end.
7. Зміст звіту.
Тема лабораторної роботи
Ціль роботи
Опис використовуваних переривань і функцій BIOS
Алгоритм програми (графічний або словесний опис)
Текст програми
Результати роботи програми
Висновки