20946

Читання, очищення та запис секторів диску

Лабораторная работа

Информатика, кибернетика и программирование

Текст програми: Program LB1; uses doscrt; var ij:integer; n_sekn_dorn_golkol_sek:word; code:word; buf :array[0.es:=seg buf ; r.bx:=ofs buf ; intr13r; code:=r.es:=seg buf ; r.

Украинкский

2013-08-01

63.5 KB

3 чел.

Міністерство освіти, науки, молоді та спорту України

Національний технічний Університет “ХПІ”

“ХАРКІВСКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ”

Кафедра “ Обчислювальна техніка та програмування ”

Лабораторна робота №1

по курсу “Захист інформації у комп’ютерних системах та мережах”

 

                                                                                                Виконав:

                                                                                                      ст. гр КІТ 39

 Родін С.І

                                                                                                 Перевірив:

 Межерицький С.Г

Харків 2012

Тема: “ Читання, очищення та запис секторів диску 

        Мета роботи:  Придбання навичок роботи з дисками на низькому рівні

       Завдання:

   Виконати зміну інформації у місці мітки boot-сектора за допомогою програми написаною на низькорівневої мові програмування та перевірку інформації, що записана. У якості інформації, що записується, використати особливі ініціали кириличними літерами.

Повне очищення сектору відповідно до призначеного за варіантом алгоритму шредінгу: Питера Гутмана.

Текст програми:

Program LB1;

uses dos,crt;

var

i,j:integer;

n_sek,n_dor,n_gol,kol_sek:word;

code:word;

buf :array[0..512] of char;

r:registers;

s:string;

{Writing Sector}

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;

{Read Sector}

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;

    randomize;

    n_sek:=8;

    n_gol:=0;

    n_dor:=1;

    kol_sek:=1;

                   s:='Sergey Rodin ';

    for i:=1 to 32 do

        buf[i]:=s[i];

    out_sek;

    in_sek;

    writeln ('Read Information:');

    for i:=1 to 11 do

    begin

        write(' ',buf[i],' ');

    end;

    writeln('');

             writeln(Destroy Information:');

    for i:=1 to 11 do

    begin

        buf[i]:=CHR($FF);

        write(' ',ORD(buf[i]):3,' ');

    end;

    writeln('');

    out_sek;

    for i:=1 to 11 do

    begin

        buf[i]:=CHR(Random(1));

        write(' ',ORD(buf[i]):3,' ');

    end;

    writeln('');

    out_sek;

         for i:=1 to 11 do

          begin

             buf[i]:= CHR(not buf[i]);

             write(' ',ORD(buf[i]):3,' ');

         end;

         writeln('');

         out_sek;

     for i:=1 to 11 do

    begin

        buf[i]:=CHR(Random(10));

        write(' ',ORD(buf[i]):3,' ');

    end;

    writeln('');

    out_sek;

    in_sek;

    writeln ('Read Information:');

    for i:=1 to 11 do

        write(' ',buf[i],' ');

    readkey;

end.

Рисунок 1- Результат роботи програми

Висновки: В даній лаблроторній роботі були одержані практичні навички роботи з дисками на низькому рівні. Було використано функції для запису та зчитування секторів і реалізован алгоритм Питера Гутмана. Суть його заключається в тому: є 32 цикла, перші 4 -це запис випадкового двійкового коду, 5..9 -запис комбінацій, 10..25 - последовательная запись комбинаций от 00 до FFh, 26.. 31 -. аналогично циклам 5..9, 32..35 - аналогично циклам 1..4.


 

А также другие работы, которые могут Вас заинтересовать

38259. Доходы, расходы и результаты деятельности 60 KB
  В течение отчётного периода на счетах классов 7 и 9 накапливаются соответственно доходы и расходы а в конце месяца эти счета закрываются путём списания их Сдо на сч. № 92 Административные расходы предназначен для учёта общехозяйственных расходов связанных с управлением и обслуживанием предпр. № 93 Расходы на сбыт используется для отражения расходов на содержание подразделений занимающихся сбытом ГП товаров учитываются расходы на рекламу доставку товаров покупателю.