Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Уникальный код компьютера. VB2005 Добавлено: 30.01.07 17:54  

Автор вопроса:  AlexDerS
Как можно сгенерировать (получить) уникальный код компьютера?
в VB2005.

Ответить

  Ответы Всего ответов: 13  

Номер ответа: 1
Автор ответа:
 Djon



Вопросов: 61
Ответов: 471
 Web-сайт: www.vk-book.ru
 Профиль | | #1
Добавлено: 30.01.07 18:05
По IP адресу попробуй.

Ответить

Номер ответа: 2
Автор ответа:
 Djon



Вопросов: 61
Ответов: 471
 Web-сайт: www.vk-book.ru
 Профиль | | #2
Добавлено: 30.01.07 18:08
В опредённый промежуток времени отслеживать координаты мышки.

Ответить

Номер ответа: 3
Автор ответа:
 AlexDerS



Вопросов: 37
Ответов: 61
 Профиль | | #3 Добавлено: 30.01.07 18:14
Нет.
Я имел ввиду код машины, на котором установлено приложение.

Ответить

Номер ответа: 4
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #4 Добавлено: 30.01.07 19:47
уникального кода компьютера в природе не существует..

Ответить

Номер ответа: 5
Автор ответа:
 AlexDerS



Вопросов: 37
Ответов: 61
 Профиль | | #5 Добавлено: 30.01.07 21:19
ну а "неуникальный"?,
например тот, который использует Windows для создания установочного кода (вместе с уникальным серийным номером)?

Ответить

Номер ответа: 6
Автор ответа:
 BUMM ®



Вопросов: 8
Ответов: 482
 Профиль | | #6 Добавлено: 31.01.07 00:23

ну а "неуникальный"?,
например тот, который использует Windows для создания установочного кода (вместе с уникальным серийным номером)?

этот как раз уникальный, Привяжись к сериалу процессора жесткого диска и BIOS.

например..

Dim diskClass As New System.Management.ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive";)
Dim disk As System.Management.ManagementObject
Dim s As String
For Each disk In diskClass.Get()
   s &= (disk(";DeviceID";) &  ControlChars.CrLf)
Next disk
        MsgBox(s)


примерно та же фишка для остальных серийников

вот описание основных классов

class Win32_BIOS : CIM_BIOSElement
{
  uint16 BiosCharacteristics[];
  string BIOSVersion[];
  string BuildNumber;
  string Caption;
  string CodeSet;
  string CurrentLanguage;
  string Description;
  string IdentificationCode;
  uint16 InstallableLanguages;
  datetime InstallDate;
  string LanguageEdition;
  String ListOfLanguages[];
  string Manufacturer;
  string Name;
  string OtherTargetOS;
  boolean PrimaryBIOS;
  datetime ReleaseDate;
  string SerialNumber;
  string SMBIOSBIOSVersion;
  uint16 SMBIOSMajorVersion;
  uint16 SMBIOSMinorVersion;
  boolean SMBIOSPresent;
  string SoftwareElementID;
  uint16 SoftwareElementState;
  string Status;
  uint16 TargetOperatingSystem;
  string Version;
};


class Win32_DiskDrive : CIM_DiskDrive
{
  uint16 Availability;
  uint32 BytesPerSector;
  uint16 Capabilities[];
  string CapabilityDescriptions[];
  string Caption;
  string CompressionMethod;
  uint32 ConfigManagerErrorCode;
  boolean ConfigManagerUserConfig;
  string CreationClassName;
  uint64 DefaultBlockSize;
  string Description;
  string DeviceID;
  boolean ErrorCleared;
  string ErrorDescription;
  string ErrorMethodology;
  uint32 Index;
  datetime InstallDate;
  string InterfaceType;
  uint32 LastErrorCode;
  string Manufacturer;
  uint64 MaxBlockSize;
  uint64 MaxMediaSize;
  boolean MediaLoaded;
  string MediaType;
  uint64 MinBlockSize;
  string Model;
  string Name;
  boolean NeedsCleaning;
  uint32 NumberOfMediaSupported;
  uint32 Partitions;
  string PNPDeviceID;
  uint16 PowerManagementCapabilities[];
  boolean PowerManagementSupported;
  uint32 SCSIBus;
  uint16 SCSILogicalUnit;
  uint16 SCSIPort;
  uint16 SCSITargetId;
  uint32 SectorsPerTrack;
  uint32 Signature;
  uint64 Size;
  string Status;
  uint16 StatusInfo;
  string SystemCreationClassName;
  string SystemName;
  uint64 TotalCylinders;
  uint32 TotalHeads;
  uint64 TotalSectors;
  uint64 TotalTracks;
  uint32 TracksPerCylinder;
};

class  Win32_Processor : CIM_Processor
{
  uint16 AddressWidth;
  uint16 Architecture;
  uint16 Availability;
  string Caption;
  uint32 ConfigManagerErrorCode;
  boolean ConfigManagerUserConfig;
  uint16 CpuStatus;
  string CreationClassName;
  uint32 CurrentClockSpeed;
  uint16 CurrentVoltage;
  uint16 DataWidth;
  string Description;
  string DeviceID;
  boolean ErrorCleared;
  string ErrorDescription;
  uint32 ExtClock;
  uint16 Family;
  datetime InstallDate;
  uint32 L2CacheSize;
  uint32 L2CacheSpeed;
  uint32 LastErrorCode;
  uint16 Level;
  uint16 LoadPercentage;
  string Manufacturer;
  uint32 MaxClockSpeed;
  string Name;
  string OtherFamilyDescription;
  string PNPDeviceID;
  uint16 PowerManagementCapabilities[];
  boolean PowerManagementSupported;
  string ProcessorId;
  uint16 ProcessorType;
  uint16 Revision;
  string Role;
  string SocketDesignation;
  string Status;
  uint16 StatusInfo;
  string Stepping;
  string SystemCreationClassName;
  string SystemName;
  string UniqueId;
  uint16 UpgradeMethod;
  string Version;
  uint32 VoltageCaps;
};

Ответить

Номер ответа: 7
Автор ответа:
 Эндрю



Вопросов: 7
Ответов: 10
 Профиль | | #7 Добавлено: 31.01.07 03:25
модешь брать из реестра название,степпинг,семейство и модель процессора(ну еще для надежности еще какие нибудь данные оттуда...)

Ответить

Номер ответа: 8
Автор ответа:
 W[4Fh]LF



Вопросов: 0
Ответов: 187
 Web-сайт: hunger.ru
 Профиль | | #8
Добавлено: 31.01.07 09:40
Бери серийник винта и дату биоса, вполне достаточно.

Ответить

Номер ответа: 9
Автор ответа:
 Djon



Вопросов: 61
Ответов: 471
 Web-сайт: www.vk-book.ru
 Профиль | | #9
Добавлено: 31.01.07 11:09
А чем мои предложения плохи?

Ответить

Номер ответа: 10
Автор ответа:
 BUMM ®



Вопросов: 8
Ответов: 482
 Профиль | | #10 Добавлено: 31.01.07 22:40
А чем мои предложения плохи?


Слетела винда,... Надо переустановить прогу,... Ты будешь искать место, в которое ты мышкой ткнул в момент установки???. Если нужно число от балды получить, можно генератор случайных чисел использовать.
В методе предложенном мной привязка идет к процу, биосу и винту. Можно сделать контроль: если 2 из 3-х или ни один из номеров не совпадают, требовать повторную активацию. В этом случае если один номер не совпадает, делаем вывод что полетел один из компонентов, и активация не обязательна(разгружаем сервер активации ;-))

Ответить

Номер ответа: 11
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #11 Добавлено: 31.01.07 22:43
А чем хороши? По IP... хм ну апи часто меняется, а про координаты мышки - норм шутка, смейлсо, те чуть до петросяна нехватило :))))

Ответить

Номер ответа: 12
Автор ответа:
 Djon



Вопросов: 61
Ответов: 471
 Web-сайт: www.vk-book.ru
 Профиль | | #12
Добавлено: 01.02.07 13:30
Я начинающий юморист... :))
Мне дошло, какую я чуш сморозил.

Ответить

Номер ответа: 13
Автор ответа:
 BUMM ®



Вопросов: 8
Ответов: 482
 Профиль | | #13 Добавлено: 03.02.07 23:10
Ну на крайний случай можно получить InstallationID который пользует майкрософт для активации винды. Снотри мой пост вверху и подставляй
"Win32_WindowsProductActivation"
через этот класс можно даже виндовс активировать

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам