Операционная система MS DOS (том 2)



         

Ограничение доступа при загрузке MS-DOS - часть 6


exit(-1); }

int getpw( char *buf, int size) {

int i; char ch;

for(i=0; i<size; ) { ch = getch(); if(ch == 0) ch=getch(); putch('.'); *buf = ch; if(*buf == 0xd) break; i++; buf++;

} *buf = 0; }

Программа дешифрования:

#include <stdio.h> #include <conio.h> #include <process.h>

void main(int argc, char *argv[]) { char passw[80], filebuf[80], parms[100], ch;

_searchenv( "pkunzip.exe", "PATH", filebuf ); if(!(*filebuf) ) { printf("PKUNZIP not found.\n"); exit(-2); }

printf( "Enter password: " ); getpw(passw, 80); sprintf(parms,"-s%s %s",passw,argv[1]); execl( filebuf, parms, parms, NULL );

exit(-1); }

int getpw( char *buf, int size) {

int i; char ch;

for(i=0; i<size; ) { ch = getch(); if(ch == 0) ch=getch(); putch('.'); *buf = ch; if(*buf == 0xd) break; i++; buf++;

} *buf = 0;

}

В качестве параметра программам надо задать имя образуемого архива (можно без расширения). Если это имя не указывать, используется имя (NULL)

- на эту строку указывает неинициализированный параметр argv[1].




Содержание  Назад  Вперед