|
| Kopisikring - unik maskine kode... Fra : Peter Petersen |
Dato : 11-05-05 01:53 |
|
Jeg har lavet et program, som jeg gerne ville beskytte mod at blive kopieret
fra en maskine til en anden. Dette forestiller jeg mig skulle ske gennem en
registrering af programmet på en hjemmeside med noget udvæksling af nogle
koder, som er specielle for selve maskinen.
P.g.a. de lidt specielle omstændigheder, hvorunder programmet nogle gange
benyttes, kan jeg ikke gemme værdier andre steder end i selve programmappen,
hvorfor jeg skal generere en speciel fil, som jeg på en elller anden måde
kan sammenholde med systemet for at sikre mig at den ikke er kopieret
fra/generet på en anden maskine. (jeg er naturligvis opmærksom på, at det
betyder at brugeren ikke så kan skifte hardware/os, men det er ikke af
større betydning i denne sammenhæng)
Nogen enkle forslag til hvad jeg kan sammenligne med?
Findes der en unik værdi i f.eks. registringsdatabasen eller lignende, som
jeg kan aflæse? (Husk igen, at jeg ikke selv kan gemme værdier her...)
f.eks. et tilfælding generet løbenummer for de enkelte
windows-installationer....
Bemærk iøvrigt, at der ikke behøver være tale om noget ubrydeligt system.
Blot en sikring for den gennemsnitlige windows-bruger. Pirater og andre
super-nørder er ikke en trusel i denne sammenhæng....
M.v.h.
Peter
| |
Johnn Nekman (11-05-2005)
| Kommentar Fra : Johnn Nekman |
Dato : 11-05-05 04:33 |
|
"Peter Petersen" <the.1@get2net.dk> skrev i en meddelelse
news:4281577c$0$79466$14726298@news.sunsite.dk...
> Jeg har lavet et program, som jeg gerne ville beskytte mod at blive
> kopieret
> fra en maskine til en anden. Dette forestiller jeg mig skulle ske gennem
> en
> registrering af programmet på en hjemmeside med noget udvæksling af nogle
> koder, som er specielle for selve maskinen.
Jeg har lavede noget tilsvarende på mit tidligere arbejde
> P.g.a. de lidt specielle omstændigheder, hvorunder programmet nogle gange
> benyttes, kan jeg ikke gemme værdier andre steder end i selve
> programmappen,
> hvorfor jeg skal generere en speciel fil, som jeg på en elller anden måde
> kan sammenholde med systemet for at sikre mig at den ikke er kopieret
> fra/generet på en anden maskine. (jeg er naturligvis opmærksom på, at det
> betyder at brugeren ikke så kan skifte hardware/os, men det er ikke af
> større betydning i denne sammenhæng)
> Nogen enkle forslag til hvad jeg kan sammenligne med?
Jeg brugte:
Serienummer fra harddisk, Windows product key, Computernavn, Et bestemt
klokkeslet
> Findes der en unik værdi i f.eks. registringsdatabasen eller lignende, som
> jeg kan aflæse? (Husk igen, at jeg ikke selv kan gemme værdier her...)
> f.eks. et tilfælding generet løbenummer for de enkelte
> windows-installationer....
> Bemærk iøvrigt, at der ikke behøver være tale om noget ubrydeligt system.
Ved også at bruge et bestemt klokkeslet, gjorde det at koden hvergang der
havde været gjort et forsøg på indtastning af et svar, ville give en ny
streng til verification.
--
Mvh Johnn
| |
Peter Petersen (11-05-2005)
| Kommentar Fra : Peter Petersen |
Dato : 11-05-05 09:30 |
|
> Jeg brugte:
> Serienummer fra harddisk, Windows product key, Computernavn, Et bestemt
> klokkeslet
Det lyder som det mest hensigtsmæssige at kombinere flere, men hvor finder
jeg disse værdier?
M.v.h.
Peter
| |
Fjollefrans (11-05-2005)
| Kommentar Fra : Fjollefrans |
Dato : 11-05-05 19:56 |
|
>> Jeg brugte:
>> Serienummer fra harddisk, Windows product key, Computernavn, Et bestemt
>> klokkeslet
>
> Det lyder som det mest hensigtsmæssige at kombinere flere, men hvor finder
> jeg disse værdier?
>
nedenstående stump vbscript giver bios'ens seriel nummer, har kun prøvet på
Dell maskiner hvor det i Dell terminologi svarer til maskinens service tag.
jeg ved ikke lige hvor bulletproof det er, om det virker på alle maskiner
etc. men bare et forslag.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" &
"{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colBIOS = objWMIService.ExecQuery ("Select SerialNumber from
Win32_BIOS")
For Each objBIOS in colBIOS
sNewName = strPrefix & objBIOS.SerialNumber
Next
msgbox sNewName
| |
|
|