G
15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby
За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.
На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.
Запись на курс до 25 апреля. Получить промодоступ ...
А если сменят компьютер? В любом случае, чтобы защитить прогу от перезаписи нужно привязываться к конкретной машине, а если пользователь захочет сменить машину или железо в машине, то придется обращаться к автору проги.А если сменят диск?
Для определения номера логического диска юзай функцию 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;
Обучение наступательной кибербезопасности в игровой форме. Начать игру!