Šta je novo?

visual basic pitanje

bancho

Čuven
Učlanjen(a)
27.12.2002
Poruke
371
Poena
619
Postoji li u visual basicu komanda za proveru/iscitavanje serijskog broja hard diska? (i kako glasi) I da li je nesto slicno uopste moguce izvesti
Ako pitanje deluje smesno, ne pitam za mene tako da ja ne znam o cemu se radi :)
 
Postoji, ali nikako da se setim kako bese ide, a prestao sam da radim Visual Basic odavno, tako da ako nadjem javicu, a do tad...

Poz.
 
možda ovako nešto?
Kod:
Private 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
Private Sub Form_Load()
    Dim Serial As Long, VName As String, FSName As String
    VName = String$(255, Chr$(0))
    FSName = String$(255, Chr$(0))
    GetVolumeInformation "C:\", VName, 255, Serial, 0, 0, FSName, 255
    VName = Left$(VName, InStr(1, VName, Chr$(0)) - 1)
    FSName = Left$(FSName, InStr(1, FSName, Chr$(0)) - 1)
    MsgBox "The Volume name of C:\ is '" + VName + "', the File system name of C:\ is '" + FSName + "' and the serial number of C:\ is '" + Trim(Str$(Serial)) + "'", vbInformation + vbOKOnly, App.Title
End Sub
 
Hm, to je serijski broj prvog formatiranog logickog diska na primarnoj particiji ('volume name' od 'c:' ), koji se menja svaki put kada se taj disk formatira - a imam osecaj da je covek pitao za fixni serijski broj bas hard diska (koji prikazuje bios/kontroler i koji lezi na nalepnici).

Bancho, pre je moglo direktnim obracanjem kontroleru, ali to je radilo samo do windowsa 9x/ME - na NT/2K/Xp windowsima ne radi, jer OS brani direktno obracanje hardveru (to moze da uradi samo drajver). Medjutim, legalan nacin da ipak procitas serijalac bez drajvera jeste da se obratis SMART-u. A dokumentaciju za SMART API mozes da nadjes na netu na vise mesta - mislim da ima cak i na MS-ovom sajtu, verovatno i MSDN Online.
 
Da, bas taj broj sa nalepnice. Evo o cemu se radi, ortak je mislio da preko tog serijskog broja onemoguci da se neki programcic koji radi u firmi instalira na drugi komp. E sad da li je to dobra ideja i da li je moguce je pitanje, ako postoji neki bolji nacin vi kazite.
Mozda za to moze i da posluzi i ovo sto je napisao BeastMaster jer se i ti brojevi valjda razlikuju u dovoljnoj meri od harda do harda
hvala svima, videcu sa njim pa vas mozda budem jos malo gnjavio :)
 
bancho je napisao(la):
Da, bas taj broj sa nalepnice. Evo o cemu se radi, ortak je mislio da preko tog serijskog broja onemoguci da se neki programcic koji radi u firmi instalira na drugi komp. E sad da li je to dobra ideja i da li je moguce je pitanje, ako postoji neki bolji nacin vi kazite.
Mozda za to moze i da posluzi i ovo sto je napisao BeastMaster jer se i ti brojevi valjda razlikuju u dovoljnoj meri od harda do harda
hvala svima, videcu sa njim pa vas mozda budem jos malo gnjavio :)
Bolje ti je da se u tom smislu vezujes za serijski broj samog diska posto se serijski broj particije koji se generise pri svakom formatiranju lako moze promeniti rucno :eyebrows:

BTW ovo bi trebalo da ti pomogne:
 

Prilozi

  • HDDSerial 1.0.zip
    8.4 KB · Pregleda: 110
Crni, to čita isti serijski broj kao i kod koji sam ja postovao ;)
 
Poslednja izmena:
Bancho, sa jedne strane gledano, bolje ikakva zastita nego nikakva. Sa druge strane - kakva korist od tako jednostavne "zastite" koju svaki vikend-kreker razbije ochas posla?

Mislim, taj isti serijalac moze takodje svako da ocas posla procita sa samog diska. Ako vec hoce nesto takvo da 'snimi' radi zastite, onda bi takav podatak trebalo da enkriptuje na neki nacin. Informacija o tome ima gomila na netu.
Sam serijalac hard diska je _nekada_ bio omiljena baza za takvu nekakvu fush zastitu, ali mislim da vec neko vreme nije toliko popularan. Diskovi crkavaju, menjaju se, cimanje svaki put sa klijentom u takvom slucaju, itd. Isti problem kao i sa brojem procesora - kupac moze da promeni disk ili procesor, to je njegovo pravo - a on je taj softver od tebe (pretpostavimo) platio i ima pravo da ga koristi na bilo kakvom svom disku. Prema tome - rigidno, nefleksibilno i u sustini nepotrebno, jer moze da se zaobidje. Jedan od razloga koriscenja serijalca hard diska je bila unikatnost tog broja. To danas nije problem - na svakom racunaru prilikom instalacije umesto citanja serijalca hdd-a mozes da generises GUID i da budes siguran da je unikatan (isti princip koriste komponente za svoj CSLID u registryju). Moze da se koristi i kombinacije drugih parametara - ocitas checksum biosa, tekuce vreme (instalacije) do u milisekundu, computer name, computer ip, bilo kakve druge parametre tekuce windows instalacije ili procitanje iz registrija, itd - i to sve ukombinuje nekim algoritmom u unique broj, a koji opet zavisi od racunara na kojem se program tera - i radi sve dok se taj windows ne pokarambasi i reinstalira (a tada mora i taj program svejedno da se ponovo instalira i tada ce se procitati parametri aktuelne instalacije).

Sve to moze da se koristi i u procesu aktivacije koja je postala mnogo moderna; dakle, napravi se lep algoritam koji prikupi sve ove podatke sa instalirane masine, enkriptuje to lepo i na osnovu toga ceka generisanje aktivacionog kljuca. Kod ortaka se ovaj skupljeni info dekriptuje i na osnovu njega generise aktivacioni kljuc. Program zatim proverava takav aktivacioni kljuc (snimio je vreme instalacije, parametre win-a, itd). Neka firmica koja zaradjuje neke parice od tako napisanog softvera ima interesa da to napravi malo automatizovano. Pa se lepo postavi sajt na internetu (php, asp, svejedno) sa bazom registrovanih korisnika i tacno belezi koji je kupac kada i koliko puta trazio aktivacioni kljuc (mogu i tu granice da se postave). Ako je program mora da radi iskljucivo u mrezi, moze da se napravi da programi kod starta pitaju medjusobno sebe koji im je aktivacioni ili serijski kljuc, pa da odbiju da se startuju ako u mrezi radi vec jedna program sa tim kljucem. Naravno, korisnik moze da blokira to firewallom, ali onda i ti mozes da sprecis da se program startuje ("otvori bato port ili nema nista od rada").

Moze u krajnjem slucaju da se i veze za neku starcicu koja ide uz softver; da instalacioni medijum bude stalno u drajvu ili neki usb key ili slicno. Samo treba se obezbediti da takav instalacioni (ili prosto "playdisc") ne moze tek tako da se iskopira; koriste se neki nestandardni formati i slicno. A moze i sve zajedno da se ukombinuje sa onim iz prethodne price.

Dakle, ja licno mislim da je fora sa serijalcem serijskog diska malo lamerska, jer je odavno prevazidjena, a na pitanje 'sta drugo upotrebiti?' - treba samo malo pustiti masti na volju.
 
Silverglideru, 100% si u pravu ali ovde se ne radi o tako ozbiljnoj stvari. Potrebno je samo onemoguciti da u firmi svako moze da ga prekopira kod sebe i radi.
Oni od kojih treba da se zastiti su daleko od krekera, vazno je da im izbaci neku poruku prepadne ih :zgran: i gotovo.
Stoga se nadamo da ce i ovo sto su postovali BeastMaster i Crni vrsiti posao. Ako ne bu ne bude eto mene opet
Puno pozdrava i hvala svima jos jednom
:wave:
 
Mislim da je ovo ono sto si trazio.....
 

Prilozi

  • Serijski broj HDD-a.zip
    2.1 KB · Pregleda: 115
Nazad
Vrh Dno