1 (изменено: ypppu, 2015-07-19 12:42:10)

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

Прежнее название темы AHK: Как сделать так, чтобы скрипт запускался только на одном компе?


Как сделать так, чтобы скомпилированный скрипт можно было запускать только на определенном компьютере (со своими уникальными характеристиками) и в то же время чтобы на других компьютерах этот же скрипт не работал?

2

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

Наверно, нужно проверять уникальные значения мат. платы и процессора.

3 (изменено: creature.ws, 2011-12-17 22:34:05)

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

…Которые можно узнать так при помощи этого
Но, как по мне, целесообразнее проверять при старте MAC- адрес сетевой, который можно узнать так (3-е сообщение, второй метод).

4

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

Я обычно проверяю учетку или IP (касаемо локалки), но в основном разрешаю запуск только с сетевой папки. Так обновлять скрипт легче. А чтоб отрубить всех юзеров от скрипта, кидаю в директорию файлик, например "EXIT", скрипт в таймере проверяет его наличие, и если он есть, то завершает свою работу.

5

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

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

6 (изменено: Ed11, 2011-12-18 11:11:51)

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

creature.ws пишет:

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

То есть: на сервере лежит текстовый файл с перечнем железа, скрипт читает его содержимое, сверяет его с информацией о "железе" компьютера, владелец которого хочет запустить скрипт, и затем скрипт завершает или продолжает свою работу в зависимости от результата сверки ?

насчет проверки при старте MAC- адреса сетевой: пользователь может обмануть скрипт, изменив свой реальный MAC- адрес на тот адрес, который прописан в скрипте и для которого запуск скрипта разрешен автором ?

7 (изменено: creature.ws, 2011-12-18 14:10:21)

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

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

Конечно. Если это неприемлемо – рекомендую обратить внимание на систему HASP ключей.

Если без шуток, эффективность защиты программы должна коррелировать с её «ценностью».
Бессмысленно использовать hasp либо опрос сервера авторизации для защиты очередного «Hello World'а»
Аналогично, мало какая защита спасёт от «заинтересовавшихся масс» в случае популярности продукта.

8

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

Про HASP кстати, хорошая идея, я как-то даже пытался с ним возится, но ограничился тогда простым bat-ником в паре с devcon-ом (мне нужно было отследить момент, когда хасп выдергивали из компьютера).
creature.ws, а вашим методом можно узнать уникальные характеристики именно HASP'а? (на MSDN нашел пока только "kind of device is plugged into a USB port", но это не совсем то)

9

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

Метод не мой, я просто разместил ссылки.
Какие именно «уникальные характеристики» вас интересуют?
Между прочим, вы согласны, что HASP≠USB FlashDrive?

10

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

Хм, конечно же это не флешка, если б все так было просто)
"Уникальные характеристики" мне подойдут любые, лишь бы можно было привязаться к одному конкретному хаспу. Серийный номер платы или что-нибудь подобное, я так понял что вы именно такой подход и предложили.
Сейчас я проверяю наличие хаспа командой

devcon.exe find usb\*HASP

Но не уверен, что оно так сможет отличить хаспы одной серии друг от друга. Скоро будет доступна еще одна машина с хаспом, там потестирую, а пока ищу еще варианты, как бы разрешить выполнение скрипта только на одной машине.

11

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

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

Последние 4 поста — беспредметный разговор.

12

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

creature.ws пишет:

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

Последние 4 поста — беспредметный разговор.

HASP совершенно не нужен.
Я рассматриваю механизм реализации самой простой защиты типа привязки к сетевой карте и значениям из реестра Windows. Надо выбрать, к какой информации о компе пользователя лучше всего привязать скомпилированный скрипт и как этот механизм проверки прописать в скрипте.

13

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

AHK: Генерируем ключ по железу
Как сгенерировать ключ по железу и интернету? Пример: некоторые продовцы софта кидают GetKey который генерирует код, они его вписывают в базу данных и скрипт открывается только на компьютере, ключ которого в базе данных.

14 (изменено: to4er, 2015-01-16 00:25:58)

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

АНК: защита скомпилированного скрипта с помощью id материнки
Есть ли способ защитить скрипт от использования на другом компьютере? Например серийника материнки, или еще чего?

15

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

Какую-нибудь строчку из реестра проверять, связанную с железом.
HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System

16

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

Спасибо, в общем скрипт я сделал, на основе параметров реестра, он шифрует ключик, который потом сравнивается с результатом такой же проверки в основном скрипте. Реестр, конечно, хорошо, но его параметры при желании ведь можно редактировать а следовательно вся эта защита будет напрасной. Да и данных о железе там мало - BIOS и модель процессора. Есть ли какие-то переменные, которые могут конкретно выдрать серийник биос, процессора или хотя бы к тому что имеется добавить модель основного монитора?

17

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

Можно использовать серийник логического и жесткого диска.

Эта для жесткого диска:

objWMIService := ComObjGet("winmgmts:\\.\root\cimv2")
colItems := objWMIService.ExecQuery("SELECT * FROM Win32_LogicalDisk")._NewEnum
while colItems[objItem]
{
        MsgBox, % "Drives:`t`t" . objItem.Caption . "`n"
            . "Volume Serial No:`t" . objItem.VolumeSerialNumber
}

Эта для логический дисков:

objWMIService := ComObjGet("winmgmts:\\.\root\cimv2")
colItems := objWMIService.ExecQuery("SELECT * FROM Win32_PhysicalMedia")._NewEnum
while colItems[objItem]
{
        MsgBox, % "Hardware Serial No:`t" . objItem.SerialNumber
}

18

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

Коды вроде не соответствуют заголовкам?
Откуда это берётся? Я и в конф. оборудования посмотрел, и AIDA64 запускал. Они ничего такого не показывают.

19

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

не работает код, тут вообще недопустимый для ahk синтаксис

20

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

Устаревшая версия AHK?

21

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

AHK: Привязка скрипта к компьютеру

Не подскажите как привязать скрипт к компьютеру, чтобы если скрипт попал на другой компютер он не работал, без компиляции (те кто захочет украсть ничего не понимают в ahk), а "в чистом" виде?

22

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

Вариант с mac адресом: http://www.autohotkey.com/board/topic/1 … c-address/.

23

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

Если "те кто захочет" ничего не понимают в АНК, скрипт просто не запустится, т. к. АНК будет отсутствовать, скорей всего.))

24

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

В принципе, может хватить и проверки имени пользователя.

Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

25

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

Переменные и выражения

if (A_UserName!="WhatEverYourNameIs")
{
  msgbox,16,Error,Unexpected error 0x5600025f.`nProgramm whill exit.
  exitapp
}
msgbox,It's fine.
Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

26 (изменено: Foma, 2015-07-17 23:38:10)

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

Были же тут где-то темы по вытягиванию инфы из железа. Номер HD, что-то ещё там можно определить.

27 (изменено: niceice, 2015-07-18 00:16:57)

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

Alectric пишет:

Переменные и выражения

if (A_UserName!="WhatEverYourNameIs")
{
  msgbox,16,Error,Unexpected error 0x5600025f.`nProgramm whill exit.
  exitapp
}
msgbox,It's fine.

Вписываю имя своего компьютера но не допускает

28

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

Прям защита 80 уровня). Если скрипт для личного использования то и нет смысла в инете его распространять с защитой от чужих компов.

29

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

yalanne пишет:

Прям защита 80 уровня). Если скрипт для личного использования то и нет смысла в инете его распространять с защитой от чужих компов.

Да, нет просто легкая защита от дураков которые ничего не понимают даже того что есть комбинацыя ctrl+shift+t. Но та защита с видео не работает...

30

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

Супер-пупер защита. ))
Сначала запускаем такой код:

SetFormat, IntegerFast, H
DriveGet, ss, serial, C:
Clipboard := ss

Затем число из буфера обмена, т.е. серийный номер ж.диска, подставляем в этот фрагмент:

While % AllRightsReserved()
   DllCall(Chr(0x53)Chr(0x6C)Chr(0x65)Chr(0x65)Chr(0x70), UInt, 0xC350)
; Начало полезного кода.
MsgBox Легальная копия.
AllRightsReserved(){
   DriveGet, ss, serial, C:
   Return 0x3E78E736-ss ; вместо 0x.. - свое значение
}

Сообщение "Легальная копия", (т.е. в вашем случае защищенный код) запустится, только если будет подставлено значение из первого кода.

Пару строк

While % AllRightsReserved()
   DllCall(Chr(0x53) Chr(0x6C) Chr(0x65) Chr(0x65) Chr(0x70), UInt, 0xC350)

не обязательно вставлять в начало, лучше "спрятать" в середине своего кода, главное, чтоб до них дошла очередь.

31 (изменено: Alectric, 2015-07-18 08:34:31)

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

Что покажет:

msgbox,% A_UserName

то и надо вписывать. Не имя компьютера, а имя пользователя.

Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

32

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

Объединил четыре однотипные темы.