Vraag : Terugwinnend het echte harde schijfserienummer en in om het even welke voorwaarde voor om het even welke harde aandrijving

Hallo,

I am wezen het gebruiken van VB.NET in VS2005 en het proberen om de fabrikant te krijgen (unchangeable) serienummer van de harde schijf toe. Ik zal deze identiteitskaart gebruiken want de distributiebescherming van mijn aantal software.

The niet de Harde schijf VolumeSerialNumber van de verdeling zou moeten zijn die door software methods.

I am kan worden opnieuw toegewezen aan dit probleem voor een periode werken en sommige oplossingen zocht eerste „WMI“ door de waarde „Win32_physicalmedia“ gebruikt. Maar deze methode keert het serienummer als spatie voor sommige harddrives of voor één of andere configuratie van PC terug (ik kon niet vinden de daadwerkelijke reden voor het dit doet maar ik ben gelukkig om het te vinden gebeurend op mijn ontwikkelingsPC). Er zijn vele verschillende voorbeelden van WMI, bijvoorbeeld het volgende;
---
Dim TheSearcher als ManagementObjectSearcher = Nieuwe ManagementObjectSearcher („SELECT * VAN Win32_PhysicalMedia“)

For Elke wmi_HD als ManagementObject in TheSearcher.Get ()
MessageBox.Show (wmi_HD („SerialNumber“))
Next
---
It keert een leeg koord in mijn PC terug, maar keert de daadwerkelijke fabrikant toegewezen serie terug wanneer in werking gesteld bij mijn collega's PC's.

And de tweede methode die ik heb gevonden; Gebruikend CreateFile van „kernel32.dll“ API. Het is iets in die aard (niet de volledige die code hier omdat het oorspronkelijke voorbeeld wordt gegeven lang is, enkel voor het geven van een idee over het voorbeeld);
---
Private verklaart de Lib „kernel32“ alias „CreateFileA“ van de Functie van CreateFile (ByVal lpFileName als Koord, ByVal dwDesiredAccess als Geheel, ByVal dwShareMode als Geheel, ByVal lpSecurityAttributes als Geheel, ByVal dwCreationDisposition als Geheel, ByVal dwFlagsAndAttributes als Geheel, ByVal hTemplateFile als Geheel) als Integer

handle = CreateFile (“ \ \. \ PhysicalDrive " & „0“, HDDID_GENERIC_READ + HDDID_GENERIC_WRITE, HDDID_FILE_SHARE_READ + HDDID_FILE_SHARE_WRITE, 0, HDDID_OPEN_EXISTING, 0, 0)

serialNumber = HDDID_SwapChars (sco.IDS.SerialNumber)
model = HDDID_SwapChars (sco.IDS.ModelNumber)
CloseHandle (handvat)
---/>It het werk

Is daar om het even welke derde methode die in alle voorwaarden werkt? Of een truc boven voorbeelden working.
te maken

Antwoord : Terugwinnend het echte harde schijfserienummer en in om het even welke voorwaarde voor om het even welke harde aandrijving

Wij hadden dit soort onderwerp één of andere maand/jaar geleden waar de conclusie was:
- Het gebruiken van meer dan 1 cijfer met een n-1/N bevestiging kan vergunningssteun sterk verminderen
- De cijfers kunnen komen series of volledig modelaantal uit: NIC, HDD, MB

Ex van een bevestigingsregel: Gebruik het adres van MAC van het Netwerk + het Model HDD + het Model GPU; bevestig de vergunning en werk de cijfers van de vergunningsverwijzing als bij 2 van 3 geldig zijn (het Zelfde adres van MAC + Één HDD heeft zelfde model + Zelfde Model GPU)
==> zodat moet uw „slechte“ gebruiker het adres van MAC kennen en nauwkeurige zelfde HDD of GPU van de vergunninghouder kopen die één of andere echte ingewikkeldheid en prijs aan de piraterij toevoegen
Andere oplossingen  
 
programming4us programming4us