G
Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе
А если сменят компьютер? В любом случае, чтобы защитить прогу от перезаписи нужно привязываться к конкретной машине, а если пользователь захочет сменить машину или железо в машине, то придется обращаться к автору проги.А если сменят диск?
Для определения номера логического диска юзай функцию GetVolumeInformation.И второе а как самому написать код?
Код в студию.Как-то она у меня странно работает: пишу её в начале процедуры - возвращает одно, помещаю перед ней ещё пару строк кода - уже совсем другой результат.
GetVolumeInformation(PChar('C:\'), nil, 0, P, a, a, nil, 0);
f := IntToStr(P^);
GetVolumeInformation(PChar('C:\'), nil, 0, P, a, a, nil, 0);
Label1.Caption := IntToStr(P^);
procedure TForm1.Button1Click(Sender: TObject);
var
VolumeName,
FileSystemName: array[0..MAX_PATH - 1] of Char;
VolumeSerialNo: DWord;
MaxComponentLength,
FileSystemFlags: cardinal;
s:string;
begin
s:=Edit1.Text+':\';//Сюда вводим букву диска
GetVolumeInformation(PChar(s), VolumeName, MAX_PATH, @VolumeSerialNo,
MaxComponentLength, FileSystemFlags,
FileSystemName, MAX_PATH);
Memo1.Lines.Add('VName = ' + VolumeName);
Memo1.Lines.Add('SerialNo = $' + IntToHex(VolumeSerialNo, 8));
Memo1.Lines.Add('CompLen = ' + IntToStr(MaxComponentLength));
Memo1.Lines.Add('Flags = $' + IntToHex(FileSystemFlags, 4));
Memo1.Lines.Add('FSName = ' + FileSystemName);
end;
Обучение наступательной кибербезопасности в игровой форме. Начать игру!