1

Тема: AHK: Привязка скрипта к железу

Всем доброго дня. Решил сделать такую защиту своей разработки от нелегального копирования (в целом больше защита от дурака, но все-таки лучше, чем вообще ничего...). AHK файл преобразован в exe при помощи mpress. Хочу привязать к ID процессора.
Теоретически хочу так: для активации программы пользователь запускает генератор ключа, который считывает ID процессора, шифрует его, выводит на экран пользователю и этот шифрованный ключ пользователь передает мне. На своем компьютере я расшифровываю переданный мне ключ, преобразуя его обратно в ID процессора. И снова зашифровываю другим алгоритмом (этот же алгоритм шифрования будет использоваться в основной программе).
Зашифрованный мною ключ в виде самораспаковывающего архива (где указан путь распаковки) с текстовым файлом передаю пользователю.
В коде написанной мною программы будет прописано считывание ID процессора, потом чтение этого файла, его расшифровка и сопоставление с ID процессора. При совпадении - программа будет работать, если совпадения нет - будет просить регистрацию.
Я не знаю, можно сделать это, использую AHK, может быть нужно использовать стороннее ПО для шифрования, тогда какое? Может кто подскажет, как это все можно реализовать?
Интересует именно привязка к ID процессора, находил решение, где используется привязка по MAC адресу, мне оно не нравится, MAC подменить легко можно.
Можно конечно вписывать ID процессора в основной код программы, но тогда нужно каждому пользователю делать индивидуальный файл с программой, что не очень удобно.

2

Re: AHK: Привязка скрипта к железу

http://forum.script-coding.com/viewtopic.php?id=15338

3

Re: AHK: Привязка скрипта к железу

vitek19841210, думаю, идея рабочая, если пользователей всего несколько человек. А если их будет много, и они лет через 5 купят себе новые компьютеры? Им всем придётся просить Вас перепривязать программу к новому железу?

4

Re: AHK: Привязка скрипта к железу

ypppu пишет:

vitek19841210, думаю, идея рабочая, если пользователей всего несколько человек. А если их будет много, и они лет через 5 купят себе новые компьютеры? Им всем придётся просить Вас перепривязать программу к новому железу?

Да, придется просить. Но мой проект такого плана, что его приходится периодически обновлять. Так что если я его перестану поддерживать - тогда и активация повторная будет бессмысленна!

5

Re: AHK: Привязка скрипта к железу

Если немного подумать, можно решить проблему с перепривязкой.

Win10x64, AHK v1.1.33.09 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

6 (изменено: vitek19841210, 2022-02-04 01:10:27)

Re: AHK: Привязка скрипта к железу

В целом, вчера хорошо погуглив, нашел рабочие варианты реализации такой идеи.
Тут http://forum.script-coding.com/viewtopic.php?id=9043 про шифрование
Тут http://forum.script-coding.com/viewtopic.php?id=6566 про вытягивание инфы из железа
Рабочий вариант из этого собрать получится. Единственное, что не могу найти команду AHK, чтобы определить id процессора, даже модель не показывает, все строки пересмотрел из 2 темы. Может кто подскажет команду для этого и думаю тему можно закрывать.

7

Re: AHK: Привязка скрипта к железу

MsgBox, % ComObjGet("winmgmts:").InstancesOf("Win32_Processor").ItemIndex(0).ProcessorId

Правда, я не думаю, что это значение уникальное. Лучше использовать серийник системного диска (смотрите DriveGet).

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

8

Re: AHK: Привязка скрипта к железу

Спасибо, это пригодится! Серийник диска использовать буду тоже. Интересно, но на Vmware команда ProcessorId выдала отличающийся результат.

9 (изменено: __Михаил__, 2022-02-04 17:43:08)

Re: AHK: Привязка скрипта к железу

Проверять код на виртуалке особого смысла нет, там как минимум реестр отличается от обычной системы. Если знать что именно отличается, можно думаю защиту от неё даже сделать.
Ещё инфа о процессоре в реестре, ветка: HKLM\Hardware\Description\System\CentralProcessor. Там же рядом есть о материнской плате инфа. Может быть тоже пригодиться.

Win10x64, AHK v1.1.33.09 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

10

Re: AHK: Привязка скрипта к железу

vitek19841210 пишет:

Спасибо, это пригодится! Серийник диска использовать буду тоже. Интересно, но на Vmware команда ProcessorId выдала отличающийся результат.

vitek19841210, всё что вы делаете рассчитано на ленивых или обладающих минимумом знаний в программировании.
Продвинутый пользователь заглянет в память, где весь ваш код как на ладони и сделает что захочет.
Поэтому не стоит так глубоко заморачиваться.

11 (изменено: vitek19841210, 2022-02-05 05:55:24)

Re: AHK: Привязка скрипта к железу

__Михаил__ - спасибо, пригодится
Foma - да, тут защита от дурака. Для меня вполне будет достаточно.
Сам я еще нашел определение модели процессора через командную строку: run, cmd.exe /c wmic path Win32_Processor get Name. Может кому тоже пригодится.
Спасибо всем за ответы. Цели своей я добился. Осталось теперь грамотно код прописать в основной скрипт.