Перейти к содержимому


Фото
- - - - -

Привязка софта к железу


  • Please log in to reply
29 ответов в этой теме

#1 Borka

Borka

    Забанен за флуд

  • Members
  • 19 512 Сообщений:

Отправлено 11 Декабрь 2009 - 14:06

Есть задача привязки софта к железу, на которое этот софт проинсталлен. Для этого планируется привязываться к серийнику винта. Как это сделать в ДОСе, я знаю. Кто-нить подскажет, как это можно сделать в винде? Буду благодарен. :)
С уважением,
Борис А. Чертенко aka Borka.

#2 mrbelyash

mrbelyash

    Беляш

  • Members
  • 25 897 Сообщений:

Отправлено 11 Декабрь 2009 - 14:16

Есть задача привязки софта к железу, на которое этот софт проинсталлен. Для этого планируется привязываться к серийнику винта. Как это сделать в ДОСе, я знаю. Кто-нить подскажет, как это можно сделать в винде? Буду благодарен. :)

На Васике пойдет? :)
wiki https://drw.sh/endjcv | Утилиты https://drw.sh/dgweku | Лечить удаленно https://drw.sh/wmzdcl | Скрытые процессы https://drw.sh/tmulje | Логи https://drw.sh/ruy | Песочница https://drw.sh/exhbro

#3 hadjamme

hadjamme

    Newbie

  • Posters
  • 43 Сообщений:

Отправлено 11 Декабрь 2009 - 14:36

Исходник (с/с++), собранный из разных уголков инета.
http://rapidshare.com/files/319354663/HardwareID.rar.html

там ещё нет распространённых методов доступа к биосу материнки и видеокарты, если это надо - пиши в личку...
готов испытать вашу привязку "на прочность" :)

#4 hadjamme

hadjamme

    Newbie

  • Posters
  • 43 Сообщений:

Отправлено 11 Декабрь 2009 - 14:37

забыл ещё про cpuid:
http://www.daniweb.com/forums/thread112968.html

#5 v.martyanov

v.martyanov

    Guru

  • Virus Analysts
  • 8 308 Сообщений:

Отправлено 11 Декабрь 2009 - 14:38

забыл ещё про cpuid:
http://www.daniweb.com/forums/thread112968.html


Разве CPUID не может быть отключен?

Личный сайт по Энкодерам - http://vmartyanov.ru/


#6 mrbelyash

mrbelyash

    Беляш

  • Members
  • 25 897 Сообщений:

Отправлено 11 Декабрь 2009 - 14:40

Public Declare Function GetVolumeSerialNumber Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long

:)
wiki https://drw.sh/endjcv | Утилиты https://drw.sh/dgweku | Лечить удаленно https://drw.sh/wmzdcl | Скрытые процессы https://drw.sh/tmulje | Логи https://drw.sh/ruy | Песочница https://drw.sh/exhbro

#7 v.martyanov

v.martyanov

    Guru

  • Virus Analysts
  • 8 308 Сообщений:

Отправлено 11 Декабрь 2009 - 14:41

Public Declare Function GetVolumeSerialNumber Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long

:)


Это серийник раздела. К серийнику винта отношения не имеет.

Личный сайт по Энкодерам - http://vmartyanov.ru/


#8 mrbelyash

mrbelyash

    Беляш

  • Members
  • 25 897 Сообщений:

Отправлено 11 Декабрь 2009 - 14:41

Public Declare Function GetVolumeSerialNumber Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long

:)


Это серийник раздела. К серийнику винта отношения не имеет.


Ааааа,а через wmi ?
wiki https://drw.sh/endjcv | Утилиты https://drw.sh/dgweku | Лечить удаленно https://drw.sh/wmzdcl | Скрытые процессы https://drw.sh/tmulje | Логи https://drw.sh/ruy | Песочница https://drw.sh/exhbro

#9 v.martyanov

v.martyanov

    Guru

  • Virus Analysts
  • 8 308 Сообщений:

Отправлено 11 Декабрь 2009 - 14:42

Public Declare Function GetVolumeSerialNumber Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long

:)


Это серийник раздела. К серийнику винта отношения не имеет.


Ааааа,а через wmi ?


Может и прокатит. Я знаю только ATA-команду, которая нужные данные вернет :-)

Личный сайт по Энкодерам - http://vmartyanov.ru/


#10 hadjamme

hadjamme

    Newbie

  • Posters
  • 43 Сообщений:

Отправлено 11 Декабрь 2009 - 14:43

v.martyanov, может, но если делать привязку через несколько параметров (в том числе и с отключенным cpuid) то могут возникнуть некоторые проблемы при анализе.

#11 Borka

Borka

    Забанен за флуд

  • Members
  • 19 512 Сообщений:

Отправлено 11 Декабрь 2009 - 14:52

Есть задача привязки софта к железу, на которое этот софт проинсталлен. Для этого планируется привязываться к серийнику винта. Как это сделать в ДОСе, я знаю. Кто-нить подскажет, как это можно сделать в винде? Буду благодарен. :)

На Васике пойдет? :)

Мне концепт нужен - каким API это можно сделать.
С уважением,
Борис А. Чертенко aka Borka.

#12 Borka

Borka

    Забанен за флуд

  • Members
  • 19 512 Сообщений:

Отправлено 11 Декабрь 2009 - 14:53

Исходник (с/с++), собранный из разных уголков инета.
http://rapidshare.com/files/319354663/HardwareID.rar.html
там ещё нет распространённых методов доступа к биосу материнки и видеокарты, если это надо - пиши в личку...

Спасибо, буду посмотреть.

готов испытать вашу привязку "на прочность" :)

Спасибо еще раз, пока рано об этом говорить. :)
С уважением,
Борис А. Чертенко aka Borka.

#13 YVS

YVS

    Звездочет

  • Helpers
  • 4 798 Сообщений:

Отправлено 11 Декабрь 2009 - 14:53

Может и прокатит. Я знаю только ATA-команду, которая нужные данные вернет :-)

On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_PhysicalMedia",,48)

For Each objItem in colItems
	WScript.Echo "SerialNumber: " & objItem.SerialNumber
Next
Правда вроде бы работает не всегда и не везде...

#14 Borka

Borka

    Забанен за флуд

  • Members
  • 19 512 Сообщений:

Отправлено 11 Декабрь 2009 - 14:54

Public Declare Function GetVolumeSerialNumber Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long
:)

Это серийник раздела. К серийнику винта отношения не имеет.

Ааааа,а через wmi ?

Может и прокатит. Я знаю только ATA-команду, которая нужные данные вернет :-)

Я тоже знаю. :) Из ДОСи проблем нет. :)
С уважением,
Борис А. Чертенко aka Borka.

#15 Borka

Borka

    Забанен за флуд

  • Members
  • 19 512 Сообщений:

Отправлено 11 Декабрь 2009 - 14:56

Может и прокатит. Я знаю только ATA-команду, которая нужные данные вернет :-)

On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_PhysicalMedia",,48)

For Each objItem in colItems
	WScript.Echo "SerialNumber: " & objItem.SerialNumber
Next

Насколько я знаю, winmgmts нужно ставить отдельно? :)
С уважением,
Борис А. Чертенко aka Borka.

#16 YVS

YVS

    Звездочет

  • Helpers
  • 4 798 Сообщений:

Отправлено 11 Декабрь 2009 - 14:58

Насколько я знаю, winmgmts нужно ставить отдельно?

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

#17 Borka

Borka

    Забанен за флуд

  • Members
  • 19 512 Сообщений:

Отправлено 11 Декабрь 2009 - 15:03

Насколько я знаю, winmgmts нужно ставить отдельно?

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

На Винтукее скрипт не отработал, :) но все равно спасибо. :)
С уважением,
Борис А. Чертенко aka Borka.

#18 pig

pig

    Бредогенератор

  • Helpers
  • 10 855 Сообщений:

Отправлено 11 Декабрь 2009 - 18:50

Вы ещё с правами ограниченного юзера проверьте.
Почтовый сервер Eserv тоже работает с Dr.Web

#19 Borka

Borka

    Забанен за флуд

  • Members
  • 19 512 Сообщений:

Отправлено 11 Декабрь 2009 - 19:02

Вы ещё с правами ограниченного юзера проверьте.

Типа хохма, да? :)
С уважением,
Борис А. Чертенко aka Borka.

#20 pig

pig

    Бредогенератор

  • Helpers
  • 10 855 Сообщений:

Отправлено 11 Декабрь 2009 - 20:25

Нет, это я вспоминаю тему про неработающий демо-ключ, а заодно сбербанковского клиента, к которому надо ещё специальную службу ставить, чтобы привязанная к систему копия могла работать под ограниченным пользователем, а не только под администратором.
Почтовый сервер Eserv тоже работает с Dr.Web


Читают тему: 0

0 пользователей, 0 гостей, 0 скрытых