Аппаратные и программные средства защиты информации. Андрианов В.П. - 14 стр.

UptoLike

Составители: 

14
WriteInteger('MaxRun', N)
end;
Free
end;
if N>0 then
begin
Application.CreateForm(TForm1, Form1);
Form1.Label2.Caption := IntToStr(N-1);
Application.Run;
end else
ShowMessage('Исчерпано максимальное количество запусков пробной версии
программы')
end.
При использовании защит, основанных на контроле даты выполнения или
контроле количества запусков программы, более перспективным является
хранение контрольных параметров в замаскированной форме в файлах,
выбранных самим разработчиком и хранимых в произвольном месте (например,
среди вспомогательных файлов самого приложения). При подобном подходе
актуальной становится маскировка обращений к файлам, в которых хранятся
текущие значения контрольных параметров. Общеизвестно, что при любом
изменении содержимого файла операционная система автоматически
корректирует внешние характеристики файла, такие, как длина, время и дата
создания, которые хранятся в файловой системе.
Изменение даты и времени файла
Использование процедуры FileSetDate(Handle: Integer; newDate: TDateTime);
Handle – указатель (дескриптор) обрабатываемого файла, может быть определен с
помощью
- функции API-Windows FileOpen, например
var Handle: Integer;
. . . . . . . . .
Handle := FileOpen(filename, fmOpenReadWrite);
FileSetDate(Handle, Datetimetofiledate(newtime));
FileClose(Handle);
- свойства Handle класса F
var TheFile: file;
T ileRec, например
. . . . . . . . .
AssignFile(TheFile, FileName);
Reset(TheFile);
FileSetDate(TFileRec(TheFile).Handle, DateTimeToFileDate(newDate));
Close(TheFile);
Использование процедуры SetFileTime
procedure ChangeDate(FileName: string);
var i: TDate;
Handle: Integer;
f: TFileTime;
s: TSystemTime;
begin
Handle := CreateFile(PChar(FileName), $0100, 0, nil, OPEN_EXISTING,
FILE_FLAG_BACKUP_SEMANTICS, 0);
                                                                                14
    WriteInteger('MaxRun', N)
   end;
   Free
 end;
 if N>0 then
 begin
   Application.CreateForm(TForm1, Form1);
   Form1.Label2.Caption := IntToStr(N-1);
   Application.Run;
 end else
   ShowMessage('Исчерпано максимальное количество запусков пробной версии
программы')
end.

      При использовании защит, основанных на контроле даты выполнения или
контроле количества запусков программы, более перспективным является
хранение контрольных параметров в замаскированной форме в файлах,
выбранных самим разработчиком и хранимых в произвольном месте (например,
среди вспомогательных файлов самого приложения). При подобном подходе
актуальной становится маскировка обращений к файлам, в которых хранятся
текущие значения контрольных параметров. Общеизвестно, что при любом
изменении содержимого файла операционная система автоматически
корректирует внешние характеристики файла, такие, как длина, время и дата
создания, которые хранятся в файловой системе.

       Изменение даты и времени файла

Использование процедуры FileSetDate(Handle: Integer; newDate: TDateTime);

Handle – указатель (дескриптор) обрабатываемого файла, может быть определен с
помощью
   - функции API-Windows FileOpen, например
        var Handle: Integer;
        . . . . . . . . .
        Handle := FileOpen(filename, fmOpenReadWrite);
        FileSetDate(Handle, Datetimetofiledate(newtime));
        FileClose(Handle);

- свойства Handle класса TFileRec, например
        var TheFile: file;
        . . . . . . . . .
        AssignFile(TheFile, FileName);
        Reset(TheFile);
        FileSetDate(TFileRec(TheFile).Handle, DateTimeToFileDate(newDate));
        Close(TheFile);

Использование процедуры SetFileTime

procedure ChangeDate(FileName: string);
var i: TDate;
    Handle: Integer;
    f: TFileTime;
    s: TSystemTime;
begin
 Handle := CreateFile(PChar(FileName), $0100, 0, nil, OPEN_EXISTING,
  FILE_FLAG_BACKUP_SEMANTICS, 0);