Мне надо сделать простую защиту программы, без использования протектора вроде The Enigma Protector. Нужно получить Hardware ID или что-то в этом роде, чтобы нельзя было, введя ключ в программе, потом просто скопировать её на другой диск. Нагуглил эту функцию:
function MyGetHardwareId:integer;
var
SerialNum: dword;
a, b: dword;
Buffer: array [0..255] of char;
str:string;
begin
result:=0;
str:=ExtractFileDrive(application.ExeName)+'\';
if GetVolumeInformation(pchar(str), Buffer, SizeOf(Buffer), @SerialNum, a, b, nil, 0) then Result := serialnum;
end;
Но нет, оказывается эту функцию нельзя использовать на Windows11 - видимо каждый раз ключ генерируется новый, поэтому защита будет думать что программу скопировали (сработает антикряк). Подскажите как это исправить.
купи готовые средства защиты.
для коммерческого подхода - это самое то!
Попробуй привязаться к аппаратным адресам сетевых плат - GetAdaptersInfo
Vit Nhoc
> Но нет, оказывается эту функцию нельзя использовать на Windows11
Эмм... Ни в MSDN ни в поиске про это нет информации.
Сомневаюсь, что это правда.
0iStalker
> Попробуй привязаться к аппаратным адресам сетевых плат - GetAdaptersInfo
В итоге на компе без сетевых карт программа не запускается. VSCode в одной из старых версий этим грешил.
kipar
> В итоге на компе без сетевых карт программа не запускается.
Такое бывает в 21 веке? Программа как попала на такой комп?
0iStalker
у меня дома такой комп. воткнули вайфай-свисток - есть сетевая, вытащили - нет.
skalogryz
> купи готовые средства защиты.
>
> для коммерческого подхода - это самое то!
С ними проблема в ложных срабатываниях антивирусов (если нет подписи кода).
Vit Nhoc
заплати и за подпись
skalogryz
> заплати и за подпись
Сразу чувствуется что во флейме нет ни одного игродела или инди разработчика...
Vit Nhoc
игроделы и инди, это те кто обслуживают твои интересы забесплатно?
ты же понтовался своим заработком, в чём проблема инвестировать в защиту собственного продукта?
skalogryz
> игроделы и инди, это те кто обслуживают твои интересы забесплатно?
> ты же понтовался своим заработком, в чём проблема инвестировать в защиту собственного продукта?
В РФ физлицам подпись кода не делают.
Vit Nhoc
> В РФ физлицам подпись кода не делают.
заведи юрлицо в Казахстане.
Vit Nhoc
> местными образованными интеллигентными непьющими мужчинами
У нас таких нет, все нормальные ребята.
Видел, как видимость защиты делали через "wmic csproduct get UUID".
Для приличия переписал это с использованием GetSystemFirmwareTable.