Участок программы, ответственный за ввод
loop_password:
mov ax,0 int 16h cmp al,'s' jne loop_password
mov ax,0 int 16h cmp al,'y' jne loop_password
mov ax,0 int 16h cmp al,'s' jne loop_password
jmp quit
stop ENDP
END stop
Участок программы, ответственный за ввод пароля, имеет смысл усложнить. Предоставляем это сделать вам самим.
Описанный выше драйвер эффективен в тех случаях, когда посторонний пользователь не может по тем или иным причинам загрузить операционную систему с дискеты.
Дополнительным средством защиты информации (возможно, наилучшим) может служить шифрование файлов данных. Для этого можно воспользоваться готовыми программами или написать собственные.
Одна из готовых программ, которая может быть использована для шифрования данных - архиватор PKZIP. Эта программа кроме шифрования файлов еще и уплотняет их, что полезно и само по себе. После образования зашифрованного архива программа PKZIP
удаляет исходные файлы. К сожалению, эти файлы можно легко восстановить, например, утилитой Нортона QU. Для того, чтобы удалить эти файлы окончательно, можно в конце рабочего дня запускать утилиту Нортона WIPEINFO, которая прописывает сектора свободных кластеров нулями (при вызове с соответствующими параметрами).
Для удобства шифрования файлов программой PKZIP
мы подготовили две программы (соответственно, для шифрования и дешифрования).
Первая программа запрашивает пароль, не отображая его на экране. Затем она ищет программу PKZIP в каталогах, описанных переменной среды PATH
и запускает ее с соответствующими параметрами. Вторая программа выполняет аналогичные действия с программой PKUNZIP, использующейся для дешифрования.
Программа шифрования всех файлов текущего каталога:
#include <stdio.h> #include <conio.h> #include <process.h>
void main(int argc, char *argv[]) { char passw[80], filebuf[80], parms[100], ch;
_searchenv( "pkzip.exe", "PATH", filebuf ); if(!(*filebuf) ) { printf("PKZIP not found.\n"); exit(-2); }
printf( "Enter password: " ); getpw(passw, 80); sprintf(parms,"-m -s%s %s",passw,argv[1]); execl( filebuf, parms, parms, NULL );
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий