Страница: 1 |
Страница: 1 |
Вопрос: приковать к батарее
Добавлено: 25.10.10 10:39
Автор вопроса: gekko | Web-сайт:
Вратце, стоит задача сделать у проги привязку к железу.
Т.е. чтоб программа запустилась, собрала информацию о железе, отправила на сервер. при следующем запуске, при авторизации на сервере, программа проверяет, та ли это машина.
Вопрос в том, к чему привязаться наиболее грамотно и как?
Ответы
Всего ответов: 14
Номер ответа: 1
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #1
Добавлено: 25.10.10 11:35
к серийнику харда и системо-важным-и-врядле-в-будущем-изменяемым- GUID'ам в реестре
Номер ответа: 2
Автор ответа:
gekko
Вопросов: 39
Ответов: 127
Web-сайт:
Профиль | | #2
Добавлено: 25.10.10 11:49
а как заполучить серийник харда? (не логического диска, а именно железки)
и какие GUID'ы можно использовать? т.е. какие из них уникальны и неизменны для конкретного компа?
Номер ответа: 3
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #3
Добавлено: 25.10.10 12:03
1. http://lmgtfy.com/?q=get+hard+disk+serial+.net
2. сам ищи
Номер ответа: 4
Автор ответа:
gekko
Вопросов: 39
Ответов: 127
Web-сайт:
Профиль | | #4
Добавлено: 25.10.10 12:11
первая ссылка просто очень)))
Номер ответа: 5
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #5
Добавлено: 25.10.10 13:13
ага, развивает мозги
Номер ответа: 6
Автор ответа:
gekko
Вопросов: 39
Ответов: 127
Web-сайт:
Профиль | | #6
Добавлено: 25.10.10 13:40
нет, но настроение поднимает.
- - -
Еще вопрос МОЖНО ли получить серийник харда средствами VB? Т.е. не серийник присвоенный логическому диску (GetVolumeInformation) а именно железкин номер?
Паралельно спросил на sql ру, так там, кроме отсылания в гугл(), уверяют что никак нельзя ни серийник харда ни CPU.
Я всё больше думаю что это возможно.
Номер ответа: 7
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #7
Добавлено: 25.10.10 16:30
действительно, не развивает, а жаль.
>> http://lmgtfy.com/?q=get+hard+disk+serial+.net
4я ссылка
Номер ответа: 8
Автор ответа:
Just
Вопросов: 4
Ответов: 330
Профиль | | #8
Добавлено: 25.10.10 19:36
я както делал dll'ку для себя, если устроит - пользуйся
http://zalil.ru/29867066
вот функции (использовать как обычную АПИ, сама dll'ка должна быть или в папке с прогой или с виндой):
Номер ответа: 9
Автор ответа:
gekko
Вопросов: 39
Ответов: 127
Web-сайт:
Профиль | | #9
Добавлено: 25.10.10 20:59
Just, спасибо огромное! вот это действительно выручил.
AgentFire,столько сарказма, а ссылка по делу. спасибо.
Номер ответа: 10
Автор ответа:
Just
Вопросов: 4
Ответов: 330
Профиль | | #10
Добавлено: 25.10.10 22:16
gekko, сейчас понял что не скинул тебе дешифратор серийника )
так что вот тут все есть и немного переделал длл'ку
http://zalil.ru/29868375
(CompInf_Decode.dll должна быть у тебя)
ps в функции CompInf_GetPCI может после переустановки системы меняться значения
Номер ответа: 11
Автор ответа:
gekko
Вопросов: 39
Ответов: 127
Web-сайт:
Профиль | | #11
Добавлено: 25.10.10 23:27
Just, немного не понял какие требуются функциям входные параметры. Т.е. CompInf_GetDisksInfo это вообще самое оно)) а вот скажем
Private Declare Function CompInf_ProtectString Lib "CompInf.dll" (ByVal sString As Variant) As Variant
Private Declare Function CompInf_ProtectSN Lib "CompInf.dll" (ByVal sString As Variant) As Variant
или
Private Declare Sub CompInf_SaveSerial Lib "CompInf.dll" (ByVal sString As Variant, ByVal sPath As Variant)
Private Declare Function CompInf_LoadSerial Lib "CompInf.dll" (ByVal sPath As Variant) As Variant
чего-то не разобрался..
Номер ответа: 12
Автор ответа:
Just
Вопросов: 4
Ответов: 330
Профиль | | #12
Добавлено: 26.10.10 00:14
эммм..ну чтож... по-порядку...
CompInf_ProtectSN - шифрует всю инфу о железе и затем полученный результат отправляется разработчику (скажем через мыло)
CompInf_ProtectString - этим шифруется уже зашифрованная инфа о железе
короче здесь проверяется уже ключ который разработчик выслал в ответ
CompInf_GetAllSN - все данные о железе в одной строке (типа отсылает разработчику в шифрованнлм виде а далее разработчик дешифрует и смотрит что конкретно там программа нашла или если это повторное письмо с просьбой восстановить ключ проверяется степень идентичности а дальше уже сам решаешь высылать если скажем винтв не совпал а остальное совпало)
CompInf_GetPCI - тут прикольный алгоритм... ) наугад берутся данные о железе и в каждой винде буду разные данные, но зато винду уже не перепутаешь )
CompInf_GetDateBIOS - соб-но биос
CompInf_GetDisksInfo - винт
CompInf_GetMACAddress - мак-адрес
CompInf_GetCRC - проверить контрольную сумму любого файла, хоть dll проверить хоть exe на предмет влома (если изменить файл - сумма изменится)
CompInf_SaveSerial - сохранить ключ на винт в файл
CompInf_LoadSerial - загрузить
CompInf_DeProtectSN - а вот этой функцией какраз дешифруешь данные о железе и смотришь каков улов )
все это можно подменить, обмануть и тд и тп
так что смотри как защитить от взлома
если будешь проверять значения типа: if a = a then - считай что прога взломанна, на саммом деле использовать длл не самая лучшая мысль для защиты проги и алгоритм надо писать не шуточный чтоб не ломанули легко
в общем главное верить что тебе повезет и не начнут ломать прогу )
Номер ответа: 13
Автор ответа:
Just
Вопросов: 4
Ответов: 330
Профиль | | #13
Добавлено: 26.10.10 00:27
вот примеры:
Номер ответа: 14
Автор ответа:
gekko
Вопросов: 39
Ответов: 127
Web-сайт:
Профиль | | #14
Добавлено: 27.10.10 11:12
спасибо, Just)