Čavte. Potrebujem poradiť. Mám už hotový program a už mám aj vymyslené ako ho "zabezpečiť" aby nebol nelegálne šírení ale potrebujem vedieť ako môže VB zistiť sériové číslo pevného disku, procesoru, operačného systému alebo niečoho iného čo má jedinečný kód. Vopred díky.
Fórum › Visual Basic
Ako zistiť sériové číslo ?
Tu funkci neznám, ale pokud vrací Volume Serial Number, tak ten lze jednoduše změnit (http://technet.microsoft.com/en-us/sysinternals/bb897436).
Ochrana programů není žádná sranda, pokud ji chceš udělat pořádně. V podstatě neexistuje dobré univerzální řešení a ještě prudíš platící zákazníky. Nejlepší cestou je poskytnou program zadarmo a vydělávat na přídavných aktivitách (reklama na webu, technická podpora, školení, ...).
A pokud přesto chceš udělat ochranu, tak je potřeba vědět, kolik do toho chceš investovat času. Hodinu? Týden? Měsíc?
A jinak přes WMI se dostaneš k různým informacím. Jakési ID procesoru, jakési ID jiného HW, ale nic není unikátní atd. atd.
Ja som mal nápad že program si vygeneruje vlastný kód a pre jeho aktiváciu bude nutné kód (ktorý bude rozdelený na tri alebo štyri časti) každú časť kódu napr. vydeliť 5 vynásobiť 3 a odčítať 365 a uživatel nám zavolá povie kód programu a my mu povieme aktivyčný kód. Aplikácia sa mu odomkne a zároveň vytvorí súbor so sériovým číslom OS, alebo nejakého HW. Ak uživateľ skopíruje aplikáciu aj s týmto súborom tak sériové číslo nebude sedieť s druhým počítačom a ak skopíruje aplikáciu bez tohto súboru aplikácia sa znovu zamkne a bude ju musieť znova aktivovať no a ak sa na druhom počítači (kde je kópia) pokúsi aplikáciu (s tým istým kódom kdže je to kópia) znova aktivovať budeme vedieť že taký kód už bol aktivovaný (pretože budeme už aktivované kódy kladať do svojich databázi). Podľa mna je to perfektný postup len jediná chybyčka je že neviem zistiť sériové číslo HW alebo OS.
Stáhni si WMI Explorer http://www.ks-soft.net/hostmon.eng/wmi/index.htm a podívej se, co se nabízí. Problém je v tom, že to na každém PC je jiné. Pak můžeš využít licenci Windows atd.
Jenže problém není v tom, jak si získat "unikátní" identifikaci PC, ale v tom, jak s ní potom naložit. Píšeš "uzamkne aplikace" a co to přesně bude znamenat? Mám utilitku na sledování pohybu po souborech. Mám utilitku pro sledování pohybu v registru. Můžu si tvůj program disassemblovat a kouknout se na to tvoje zabezpečení a případně ten rozhodovací kousek zaNOPovat nebo s ním udělat jiné kousky.
Je jedna poměrně jednoduchá a přitom dost obtížně odstranitelná ochrana, a to taková, kdy registrací dostaneš kus výkonného kódu programu, bez kterého se nebude vykonávat např. ta nejdůležitější část tvého programu.
Pokud znáš HINSTANCE nebo ještě lépe HWND, tak samozřejmě ano. A zjistit tyto informace se Spy++ (http://mdb-blog.blogspot.com/…ownload.html) umí asi každý
deklarace
Public Declare Function GetVolumeInformation 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
Public Const MAX_FILENAME_LEN = 256
procedura k vyhledání, proměnná ser bude obsahovatsériové číslo disku C:
Dim ser As Long, S As String * MAX_FILENAME_LEN, s2 As String * MAX_FILENAME_LEN
Dim I As Long, J As Long
GetVolumeInformation "C:\" & Chr$(0), S, MAX_FILENAME_LEN, ser, I, J, s2, MAX_FILENAME_LEN
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Ako spolahlivo zistit ci je subor novsi ako druhy — založil marioff
Sériové číslo - Online — založil Swin
Ako zistit odkial — založil smiler
Ako zistiť či je v TextBox desatinná čiarka ? — založil Trebor
Zistiť ako komunikuje aplikácia so serverom? — založil yterbium
Moderátoři diskuze