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.


 

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

72765. История Братска 304 KB
  Цель: Закреплять знания детей об истории родного города, о людях его прославивших. Учить узнавать и сравнивать знакомые места на старинных и современных фотографиях. Развивать связную речь, логическое мышление, навыки межличностного общения.
72766. Для чего нужна ВИКИ среда? 110 KB
  В современном мире все большую ценность приобретает информация. Информация становится одним из важнейших ресурсов, обладание которым дает преимущества как и сферах профессиональной деятельности, так и в повседневной жизни. Использование информации, то есть ее сбор, обработка и хранение...
72767. История возникновения моего поселка 69 KB
  Предметом детального изучения в этом году стала улица поселка им. Шмидта, названная в четь революционерки В. Засулич. Актуальность нашей работы заключается в том, что каждый житель нашего города должен не только знать название своей улицы, но и знать историю её создания.
72769. ЗАЧЕМ НУЖНЫ ИНДИКАТОРЫ? 61.5 KB
  Кислотно-щелочные индикаторы или просто индикаторы широко используют в химии в том числе и в школе. Индикаторы используются для определения реакции среды кислая щелочная или нейтральная. А как же быть в том случае если дома у вас нет химических индикаторов а необходимо определить реакцию среды продуктов...
72770. Семь чудес Чечни 217 KB
  Писать о чудесах в начале XXI века задача которая может показаться трудной и неблагодарной. Семью чудесами света так почти дословно пишется во всех научных справочниках считаются творения которые своими техническим или художественным совершенством вызывали восхищение людей прошлых веков.
72771. Определение размеров молекулы растительного масла 183 KB
  Все тела, которые нас окружают, состоят из мельчайших частиц – молекул. Очень интересно узнать, каковы размеры молекул? Как их можно определить? Из-за очень малых размеров молекулы нельзя увидеть невооруженным глазом или с помощью обыкновенного микроскопа.