|
|
|
Привязка к железу
|
|||
|---|---|---|---|
|
#18+
Добрый день. Подскажите плизз как можно узнать номер процессора чтоб я мог привязать свою программу к номера процов. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 02:09 |
|
||
|
Привязка к железу
|
|||
|---|---|---|---|
|
#18+
GREG11Добрый день. Подскажите плизз как можно узнать номер процессора чтоб я мог привязать свою программу к номера процов. Заранее спасибо. Комментарии: Зачем тебе это? Защиту ставить? Так это будет головная боль именно у легальных пользователей: апгрейд пройдет и программа отвалится... Лучше ставь парольную защиту и будет тебе счастье... По теме: Надо использовать Win API. Что-то типа GetSystemInfo... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 07:31 |
|
||
|
Привязка к железу
|
|||
|---|---|---|---|
|
#18+
Станислав СНадо использовать Win API. Что-то типа GetSystemInfo... Тоже интересует похожая тема. В API ничего нужного не нашел. SysInfo такой информации не предоставляет. С уважением, Валерий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 11:12 |
|
||
|
Привязка к железу
|
|||
|---|---|---|---|
|
#18+
fox_vik Станислав СНадо использовать Win API. Что-то типа GetSystemInfo... Тоже интересует похожая тема. В API ничего нужного не нашел. SysInfo такой информации не предоставляет. С уважением, Валерий. Используйте поиск. К сожалению, это все реализуется через ассемблерные вставки. Но, я думаю, можно написать dll-ку и прикрутить к своей программе. Например, см. эту страницу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 13:11 |
|
||
|
Привязка к железу
|
|||
|---|---|---|---|
|
#18+
fox_vik Станислав СНадо использовать Win API. Что-то типа GetSystemInfo... Тоже интересует похожая тема. В API ничего нужного не нашел. SysInfo такой информации не предоставляет. С уважением, Валерий. GetVolumeInformation() возвращает серийный номер диска ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 13:34 |
|
||
|
Привязка к железу
|
|||
|---|---|---|---|
|
#18+
Станислав СИспользуйте поиск. К сожалению, это все реализуется через ассемблерные вставки. Но, я думаю, можно написать dll-ку и прикрутить к своей программе. Например, см. эту страницу Способ через DLL понятен. Для своего железа мы так и делаем. Но, очевидно, в системе должны быть свои возможности. С уважением, Валера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 14:18 |
|
||
|
Привязка к железу
|
|||
|---|---|---|---|
|
#18+
Dima TGetVolumeInformation() возвращает серийный номер диска GetVolumeInformation() работает с логическим диском. Что такое серийный номер логического диска я не представляю :-) С уважением, Валера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 14:20 |
|
||
|
Привязка к железу
|
|||
|---|---|---|---|
|
#18+
ВладимирМ Как получить уникальные сведения? Уникальный номер процессора Спасибо, Владимир. Сейчас посмотрю подробнее. С уважением, Валера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 14:22 |
|
||
|
Привязка к железу
|
|||
|---|---|---|---|
|
#18+
fox_vik Dima TGetVolumeInformation() возвращает серийный номер диска GetVolumeInformation() работает с логическим диском. Что такое серийный номер логического диска я не представляю :-) С уважением, Валера. Да чего там предствалять ? - серийный № диска : Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. А вообще, идею защиты основанную только на № процессора, № диска нельзя считать серьезной.Она должна быть комплексной. Ко всяким защитам отношусь скептически, но один клиент все-таки достал с защитой продукта, так что я ему сделал . Прочтите, может что и пригодиться: 1. Активация программы происходит только тогда, когда требуется ее переустановка, связанной с заменой диска или переустановкой операционки. Процессор не трогаем! 2. Последовательность активации следующая: № программы(зашит в коде exe)+№Диска+кое-что->Шифрование кода --> 1. Запись в реестре (шифрованная ветвь) --> Введенный код+№диска -> Шифрование --> 2. Запись в реестре 3. Проверка активации - размазана по коду и по событиям случайным образом. И производится в нескольких местах. Так же из разных частей собирается алгоиритм шифрования и может зависеть (например от номера месяца), при этом старый код в реестре может быть изменен на новый, но ключ кода не меняется. Момент когда будет принято решение о блокировке не известен и проходит скрытно. 4. При первом запуске просто блокируется часть функций программы. Если в течении определенного времени (часы, дни) не введен код,то она блокируется. 5. Можно копировать реестр, менять дату и время. При обнаружении данных "хитростей" в программе запускается скрытый "механизм недоверия" и через некоторое время она "выскакивает" на некоторых функциях. 6. Для дистанционной активации - клиент высылает код, вы ему ответный, Но можно и на месте, произведя на глазах ряд обманных манипуляций, нажимая клавиши, двигая мышку и вводя коды провести актвацию. К моему удивлению ее действительно пытались взломать, но я уже и сам, скорее всего, не смогу. Но вот только зачем это ;-) ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 15:57 |
|
||
|
Привязка к железу
|
|||
|---|---|---|---|
|
#18+
asp_foxДа чего там предствалять ? - серийный № диска : А Вы что в качестве параметра передаете в процедуру? Если "C:", "D:" и т.д., то это логические диски, а не физические. У меня два физических и четыре логических. Все четыре выдают разные серийные номера, которые вряд ли имеют какое-то отношение к серийным номерам физических дисков. Если физический диск разбить на логические по другому, то и серийные номера, скорее всего, изменятся. asp_foxА вообще, идею защиты основанную только на № процессора, № диска нельзя считать серьезной.Она должна быть комплексной. У меня несколько другая задача к защите не имеющая никакого отношения. С защитой у нас все в порядке. :-) Мы производим, как теперь модно говорить, аппаратно-программные комплексы. Себестоимость одного такого комплекса около $20000. Программы работают только с железом этого комплекса, и другой защиты не нужно. :-) Но эти комплексы устанавливаются на автомобили и разъезжаются в радиусе 1500 км. Отследить где и что установлено в такой ситуации сложно. Вот и думаю, как уменьшить влияние человеческого фактора. С уважением, Валера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 19:28 |
|
||
|
Привязка к железу
|
|||
|---|---|---|---|
|
#18+
asp_fox Уже и не помню откуда этот код :-))) Но защита работала нормально! А вообще, идею защиты основанную только на № процессора, № диска нельзя считать серьезной.Она должна быть комплексной. Ко всяким защитам отношусь скептически, но один клиент все-таки достал с защитой продукта, так что я ему сделал . Прочтите, может что и пригодиться: 1. Активация программы происходит только тогда, когда требуется ее переустановка, связанной с заменой диска или переустановкой операционки. Процессор не трогаем! 2. Последовательность активации следующая: № программы(зашит в коде exe)+№Диска+кое-что->Шифрование кода --> 1. Запись в реестре (шифрованная ветвь) --> Введенный код+№диска -> Шифрование --> 2. Запись в реестре 3. Проверка активации - размазана по коду и по событиям случайным образом. И производится в нескольких местах. Так же из разных частей собирается алгоиритм шифрования и может зависеть (например от номера месяца), при этом старый код в реестре может быть изменен на новый, но ключ кода не меняется. Момент когда будет принято решение о блокировке не известен и проходит скрытно. 4. При первом запуске просто блокируется часть функций программы. Если в течении определенного времени (часы, дни) не введен код,то она блокируется. 5. Можно копировать реестр, менять дату и время. При обнаружении данных "хитростей" в программе запускается скрытый "механизм недоверия" и через некоторое время она "выскакивает" на некоторых функциях. 6. Для дистанционной активации - клиент высылает код, вы ему ответный, Но можно и на месте, произведя на глазах ряд обманных манипуляций, нажимая клавиши, двигая мышку и вводя коды провести актвацию. К моему удивлению ее действительно пытались взломать, но я уже и сам, скорее всего, не смогу. Но вот только зачем это ;-) ??? А тут такой вопрос, а если программу декомпилировать, то в коде модно и разобраться, по какому принципу вы здесь защиту ставите ??? А то никак не могу найти как мне закрыть свою программу от декомпиляции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 22:50 |
|
||
|
Привязка к железу
|
|||
|---|---|---|---|
|
#18+
WMI вещь хорошая, я с помощью ее делал привязку проги к серйнику материнки и винта, даже потом добавил к версии BIOS. НО, после того как моя программа попала в один офис вся моя защита полетела, т.е. не то-что не заработала, как раз заработала, но оказалось что на 6 компах все обсолютно одинаковое! собственно и серийник один на всех. Да, WMI не дают ничего подобного из проца, но в windows\inf\cpu.inf как раз в самом начале файла есть ClassGuid={50127DC3-0F36-415e-A6CC-4CB3BE910B65}. вот это и есть серийник проца. конечно можно сделать обращение к этому файлу как к ini, но хотелось бы узнать как этот же номер получить иными средствами. через реестр не получиться, так как этот номер находитсья в папке(в реестре) которая называетсья подобно famili_6_model_13_stepping_8, вобщем папка будет иметь название такое в зависимости от типа проца. поэтому реестр отпадает. Может кто знает еще какие-то способы??? Может есть АПИ о которой мало где говориться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 23:15 |
|
||
|
Привязка к железу
|
|||
|---|---|---|---|
|
#18+
GREG11в windows\inf\cpu.inf как раз в самом начале файла есть ClassGuid={50127DC3-0F36-415e-A6CC-4CB3BE910B65}. вот это и есть серийник проца. Это идентификатор класса, а не серийный номер. У меня он такой же. [Version] Signature="$WINDOWS NT$" Class=Processor ClassGuid={50127DC3-0F36-415e-A6CC-4CB3BE910B65} С уважением, Валерий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 11:20 |
|
||
|
Привязка к железу
|
|||
|---|---|---|---|
|
#18+
ВладимирМ Как получить уникальные сведения? Уникальный номер процессора Потестировал я WMI. Результат не утешительный. Win32_BaseBoard на двух машинах с однотипными MotherBoard выдает абсолютно одинаковые результаты. Аналогично и с Win32_Processor. Кроме того, в Win32_BaseBoard на разных типах MotherBoard одного производителя серийный номер один и тот же: SerialNumber = MB-1234567890 А уж о принтерах и мониторах и говорить нечего. :-( В Win32_DiskDrive физические диски можно идентифицировать, но по PNPDeviceID. С уважением, Валерий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 12:02 |
|
||
|
Привязка к железу
|
|||
|---|---|---|---|
|
#18+
fox_vik Dima TGetVolumeInformation() возвращает серийный номер диска GetVolumeInformation() работает с логическим диском. Что такое серийный номер логического диска я не представляю :-) С уважением, Валера.Для общего развития: серийный номер логического диска это что-то производное от даты/времени его форматирования, реального серийника винта, модели и т.п. Если в инете покопаться - можно алгоритм генерации даже найти. При очередном форматировании меняется. Очень удобно использовать серийный номер диска С для идентификации компа: 1. Диск С: есть на каждом компе, хотя можно переименовать его например в D:, но такое видел только раз, и то на терминал-сервере чтобы пользовательский С: мапить. (Можно взять не С: а получить диск, на котором Win стоит) 2. В рамках одной машины он постоянен (даже при переустановке Win без форматирования) 3. Крайне маловероятно что повторится на 2-х разных машинах (без чужой помощи) Для построения легкой защиты и идентификации компов походит идеально GREG11... Может кто знает еще какие-то способы??? Может есть АПИ о которой мало где говориться? Серийный номер диска :) сложнее что-то делать не стоит. Если человек знает как изменить серийник винта на машине, то он может и с refox'ом при желании разобраться, ломать - не строить, пофиксить проверку и собрать заново exe больших навыков программирования не надо. А серийный номер процессора можно в биосе отключить, и тогда его никто не узнает. Если не ошибаюсь, по умолчанию он обычно отключен. Любой вынос функций во внешние DLL задачу взлома значительно упрощает, смотришь отладчиком что получает и что возвращает экпортируемая функция и делаешь эмулятор. Абсолютно защищенных прог не бывает. Тем более на фоксе. Формула идеальной защиты: 1. цена создания защиты значительно меньше цены создания софта2. цена взлома сопоставима с ценой покупки софта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 18:34 |
|
||
|
Привязка к железу
|
|||
|---|---|---|---|
|
#18+
Я как раз и строил зощиту по PNPDEVICEID. И как я описывал выше понял что эта инфа которую я получал не всегда идеальна. так как есть винты с одинаковым номером. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2007, 14:43 |
|
||
|
Привязка к железу
|
|||
|---|---|---|---|
|
#18+
Scorpio_md А тут такой вопрос, а если программу декомпилировать, то в коде модно и разобраться, по какому принципу вы здесь защиту ставите ??? А то никак не могу найти как мне закрыть свою программу от декомпиляции. Ко всякого рода программым защитам у меня отношение скпептическое - тут я плохой советчик. По моему глубокому убеждению, нет ни одной программы с которой нельзя разобраться! Все зависит только от времени и желания этим заниматься. Единственный выход - настолько усложнить этот процесс, чтобы тому кто разбирается с кодом мягко говоря "надоело" :-))). Чего в принципе я и добивался, когда пытался защитить программу по просьбе моего клиента. А от декомпиляции программу можно и не защищать, если вы хотите спрятать алгоритм, лучше сделать ряд ложных ходов, комментариев и т.п. Только надо соизмерять затраченные усилия и результат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2007, 11:04 |
|
||
|
Привязка к железу
|
|||
|---|---|---|---|
|
#18+
GREG11Я как раз и строил зощиту по PNPDEVICEID. И как я описывал выше понял что эта инфа которую я получал не всегда идеальна. так как есть винты с одинаковым номером. Да уж :-( Неужели в 21-ом веке невозможно получить уникальный идентификатор цифрового устройства? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2007, 19:09 |
|
||
|
Привязка к железу
|
|||
|---|---|---|---|
|
#18+
Получить та можно. если Вы читали выше то я указывал суть проблемы,там описывалось что WMI по серийнику винта на 5 машинах выдал один и тот же номер!!! На пяти разных машинах. получаеться что винты одной марки и серии выпускаються с одинаковым серийником? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2007, 17:43 |
|
||
|
Привязка к железу
|
|||
|---|---|---|---|
|
#18+
fox_vikНеужели в 21-ом веке невозможно получить уникальный идентификатор цифрового устройства? Нельзя. В принципе. Да здравствует продукция великой компании NoName Помнится, относительно недавно был сканадал по поводу одинаковых MAC-адресов сетевых карт. Тогда китайцы постарались. А сейчас это уже вообще никого не удивляет. Все знают , что MAC-адреса могут быть не уникальными. Хоть какую-то унификацию можно получить, если вообще ВСЕ железо будет выпускаться легально. Ну, или хотя бы покупать будут только легальное железо. В ближайшее время это вряд ли случится... По поводу WMI следует еще иметь в виду, что эта служба может быть вообще отключена у клиента. Тогда не получишь никакой информации через WMI. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2007, 21:41 |
|
||
|
Привязка к железу
|
|||
|---|---|---|---|
|
#18+
Вы можете что-то посоветовать?? И как определить что WMI у пользователя отключена и можно ли ее програмно включать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 11:59 |
|
||
|
Привязка к железу
|
|||
|---|---|---|---|
|
#18+
WMI может даже и не быть совсем. Че включать будем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 12:31 |
|
||
|
Привязка к железу
|
|||
|---|---|---|---|
|
#18+
уметь определять серийный номер процессора может быть полезно для предотвращения воровства процессоров в организации (замена сильного процессора на слабый). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 12:46 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=34472845&tid=1589449]: |
0ms |
get settings: |
10ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
30ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 337ms |

| 0 / 0 |
