Znas kako, sve zavisi koja mu je ciljna grupa korisnika...
Uopsteno, ako hoces da radis tako nesto sa serijskim brojem HDD-a to i nije tako veliki problem za ciljnu grupu sa malo korisnika jer mozes malo i korisnika i sebe da "smaras" dok registruje tvoj program na svom racunaru pa makar i da rucno generises neki sigurnostni kod na osnovu njegovog serijskog broja HDD-a (za to moze da ti zavrsi i serijski broj i samo jedne particije) za svakog korisnika pojedinacno i da im tako saljes. Ali ako imas veliki broj korisnika, trebao bi ti neki podprogram koji bi tebi trebao da salje informacije o HDD-u korisnika koji su ti potrebni, pa da preko nekog "key generatora" vracas podatke korisniku koji su mu potrebni za aktivaciju programa, po mogucstvu kodirane kako ne bi mogao da ukapira nikakvu zakonitost po kojoj bi se generisali. I na taj nacin bi ti mogao da ogranicis rad tog programa samo na tom kompjuteru...
Isti/slican je princip rada i sa zastitom preko registra, samo sto ovde (preko registra) donekle olaksavas sebi posao po meni (mada je to subjektivna stvar).
E sad, rekao si da lako moze da se probije nacin provere verodostojnosti podataka preko sistema IF --- THEN, ali ako se koristi kodiranje podataka kako sam naveo i ne moze bas tako lako ako taj neko planira da samo kopira fajlove (kako je jos na pocetku teme i navedeno, (a ako se ne koristi kodiranje razbijanje zastite je zaista veoma lako i slazem se stim)). A ako neko odluci da pravi crack za taj program, uradi reverse exe fajla, i malo eksperimentise sa assemblerom, i naredbama uslovnog skoka u njemu (jmp, je, jne, jz, jge, jle, i sl.), i sve sto ide uz to, onda sve to pada u vodu..
Naravno, kao sto je vise puta pominjano do sada u slicnim temama, prava (nesavladiva) zastita ne postoji...