Как привязать программу к локальному компу?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Ruslan2000
Новичок
Новичок
Аватара пользователя
 
Сообщения: 32
Зарегистрирован: 27.09.2007 (Чт) 14:45
Откуда: Питер

Как привязать программу к локальному компу?

Сообщение Ruslan2000 » 28.05.2009 (Чт) 16:18

Привет. Подскажите, пожалуйста, как програмно получить серийный номер мат. платы или процессора. Нужно для привязки программы к конкретному компьютеру. Возможно это можно сделать более простым способом, но ничего путного в инете не нашел.
Как вариант - можно пригласить попа, освятить комп, вдруг это демоны?

trash
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 113
Зарегистрирован: 28.01.2009 (Ср) 12:09

Re: Как привязать программу к локальному компу?

Сообщение trash » 28.05.2009 (Чт) 16:23

У материнской платы и процессора нет серийных номеров. Только к серийнику hdd.

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Как привязать программу к локальному компу?

Сообщение Williams » 28.05.2009 (Чт) 16:27

CPU ID есть. Но он может повторяться, поэтому его надо использовать в дополнение к другим данным.
И вы думаете, что вас оставят в живых после прочтения этого поста?

trash
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 113
Зарегистрирован: 28.01.2009 (Ср) 12:09

Re: Как привязать программу к локальному компу?

Сообщение trash » 28.05.2009 (Чт) 16:39

Что значит повторяться? CPUID это ассемблерная инструкция процессора, позволяющая выяснить поддерживамые им фичи. Она никак не поможет идентифицировать конкретный экземпляр процессора.

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Как привязать программу к локальному компу?

Сообщение Williams » 28.05.2009 (Чт) 16:54

Имелось в виду Win32_Processor ProcessorId
И вы думаете, что вас оставят в живых после прочтения этого поста?

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Re: Как привязать программу к локальному компу?

Сообщение ANDLL » 28.05.2009 (Чт) 17:00

Он содержит часть информации из cpuid, а часть - просто фиксированные значения. Так что с cpuid - это плохая идея
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

trash
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 113
Зарегистрирован: 28.01.2009 (Ср) 12:09

Re: Как привязать программу к локальному компу?

Сообщение trash » 28.05.2009 (Чт) 17:01

Те же яйца, в профиль.

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Как привязать программу к локальному компу?

Сообщение Williams » 28.05.2009 (Чт) 17:19

не полагаться на что-то одно + суммаризовать разные данные о системе = правильный выбор, имхо
И вы думаете, что вас оставят в живых после прочтения этого поста?

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Re: Как привязать программу к локальному компу?

Сообщение ANDLL » 28.05.2009 (Чт) 17:39

Да куда надежнее полагаться на размер винчестера, чем на сpuid.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

VBTerminator
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 415
Зарегистрирован: 19.11.2008 (Ср) 20:10

Re: Как привязать программу к локальному компу?

Сообщение VBTerminator » 02.06.2009 (Вт) 18:21

ANDLL писал(а):Да куда надежнее полагаться на размер винчестера, чем на сpuid.

А что делать, если юзер решит сменить винт?

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Как привязать программу к локальному компу?

Сообщение Williams » 02.06.2009 (Вт) 18:25

VBTerminator писал(а):А что делать, если юзер решит сменить винт?


А что делать, если юзер решит сменить комп? :) Примерно тоже самое, что если сменит винт.
И вы думаете, что вас оставят в живых после прочтения этого поста?

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Re: Как привязать программу к локальному компу?

Сообщение ANDLL » 02.06.2009 (Вт) 19:07

VBTerminator писал(а):
ANDLL писал(а):Да куда надежнее полагаться на размер винчестера, чем на сpuid.

А что делать, если юзер решит сменить винт?
А если сменит проц :roll:
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Dimen
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 82
Зарегистрирован: 25.05.2009 (Пн) 15:10

Re: Как привязать программу к локальному компу?

Сообщение Dimen » 03.06.2009 (Ср) 11:38

Осуществить привязку программы проще всего к дате создания BIOS-a. Адрес расположения даты в памяти: F000:FFF5. Cчитать дату из BIOS-a, можно примерно как то вот так:

Код: Выделить всё
   Type BIOS_DATE
      s As String * 8
   End Type

   Declare Sub CopyMemory Lib "Kernel32" Alias "RtlMoveMemory" _
           (pDest As Any, pSource As Any, ByVal ByteLen As Long)

   Public Function BIOS() As Long
      Dim sDB As BIOS_DATE

      CopyMemory sDB, ByVal &HFFFF5, 8&
      BIOS = DateSerial(Mid(sDB.s, 7, 2), Mid(sDB.s, 1, 2), Mid(sDB.s, 4, 2))
   End Function
Íå óïóñêàéòå øàíñ!

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Как привязать программу к локальному компу?

Сообщение Williams » 03.06.2009 (Ср) 11:40

Dimen писал(а):Осуществить привязку программы проще всего к дате создания BIOS-a. Адрес расположения даты в памяти: F000:FFF5.


Вот это уже немного поинтереснее. Какова совместимость этого метода?
И вы думаете, что вас оставят в живых после прочтения этого поста?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как привязать программу к локальному компу?

Сообщение Хакер » 03.06.2009 (Ср) 11:57

Никакова.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Dimen
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 82
Зарегистрирован: 25.05.2009 (Пн) 15:10

Re: Как привязать программу к локальному компу?

Сообщение Dimen » 03.06.2009 (Ср) 11:58

Хакер почему же вы так считаете?
Íå óïóñêàéòå øàíñ!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как привязать программу к локальному компу?

Сообщение Хакер » 03.06.2009 (Ср) 12:17

Я не считаю, я знаю. А ты — нет. Одно только то, что ты написал «F000:FFF5», очень показательно.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Re: Как привязать программу к локальному компу?

Сообщение ANDLL » 03.06.2009 (Ср) 17:41

Осуществить привязку программы проще всего к дате создания BIOS-a. Адрес расположения даты в памяти: F000:FFF5.
А в своем коде читаешь ты ds:FFFF5, к слову
Вот это уже немного поинтереснее.
Это бред сивой кобылы, куда больший чем совет с cpuid.
Можно целый трактат написать по психологии людей, которые в 32-разрядной программе, с сегментно-страничной адресацией, через copymemory пытаются читать где то уведенные 16-разрядные адреса в формате сегмент:смещения.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 68

    TopList