licensering - Hvor laver en applikations butik 'Jeg er deaktiveret' på Windows?

Indlæg af Hanne Mølgaard Plasc

Problem



Ansøgninger har ofte registreringsnøgler.
Det kan uden tvivl placeres i en fil eller i registreringsdatabasen.
Nogle gange deaktiveres et program ved indtastning af en anden nøgle,
eller afleveringen af ​​en dato osv. Hvor kan man sikkert
gemme sådanne oplysninger om, at en applikation skal deaktiveres?
En fil er ikke svaret; en sikkerhedskopi kan gendannes til
besejre dette. Registreringsdatabasen er et svagt svar, kun fordi
de fleste mennesker ved det ikke, og tænker ikke at genoprette det,
og hvis de gør det, gendanner de det hele som normalt
har andre modløsende bivirkninger.


Det forekommer mig, at lagring af deaktivering information er
håbløst usikre, da gamle kopier altid kan gendannes.
I bedste fald kan man skjule disse data ved obfuscation under
kryptisk navngivne filer eller registreringsnøgler.


Er der et standard trick jeg ikke ved, eller en standard
ordningen understøttet af Windows, der hjælper med dette problem?


Runde 2: Jeg har set en række svar. Ingen af ​​dem
specifikt sige 'du kan ikke gøre dette', men flere betyder
at ringe hjem er det eneste gode valg (for 'deaktivering').


Lad os antage at ringe hjem og dongler er IKKE svaret,
og man skal forlade noget på maskinen. Hvad gør
Typiske licensordninger gør faktisk i dette tilfælde?

Bedste reference


Opret og underskriv en licensfil på en server. Hvis du bruger public key-kryptering, kan licensfilen ikke blive fejlfæstet. Din ansøgning kan selvfølgelig revnet til ikke at bruge licensen, men det er en anden ting.

Andre referencer 1


I modsætning til IPhone og andre lukkede omgivelser på en åben platform som Windows/Linux har du altid en meget stor risiko for, at beskyttelsen let kan omgåes (lokal seriel beskyttelse) eller vil blive revnet ved at vende og patchere din kode. Næsten alle moderne singleplayers spil har dette problem. Derudover er det meget svært at finde en løsning, der ikke irriterer brugeren for meget. Vi husker alle Sony-CD-Rootkit-katastrofen, og i spilbranchen er den altid den nyeste DVD-beskyttelse, der ikke virker på alle, den måde den skal. Men hvad kan du gøre? Du kan prøve det sædvanlige serielle, opsving til hjemmet og forbyde bestemte serier i nyere opdateringer (Adobe, FlashFXP, Windows). Hvis du har en meget lav forbrugerbase, er det nok nok for dig. Hvis det af en eller anden grund ikke er en mulighed, hvad med en USB-Dongle, der er nødvendigt for at bruge din software. Hørt om nogle CAD-programmer ved hjælp af dette. En sidste ting du kan se på, hvad med vandmærker din ansøgning? Hvis det viser sig på visse p2p-netværk, vil du måske kunne se hvor lækagen er. Grundlæggende vil intet give dig 100\% garanti, men der er muligheder for at gøre det vanskeligere for den gennemsnitlige bruger ... Husk at de fleste af dine penge skal bruges på at skabe et godt produkt, der ikke er i køber mest ubrugelig beskyttelse!

Andre referencer 2


Her er et kort, men ret godt overblik over forskellige muligheder.


http://www.developer-resource.com/how-to-protect-software.htm[1]

Andre referencer 3


Ja, du kan kryptere ting, det er hvad de gør! Kontroller netværket for forskellige licensordninger. Selvom Microsoft har en ... Microsoft Software Licensing and Protection [2]


Du kan bruge Microsoft Cryptographic API til at udvikle dig code.Plus obscure dig assemblies eller dlls.Force bruger aktivering.

Andre referencer 4


Alle beskyttelsesordninger er sårbare for nogen form for angreb. Kryptering af oplysninger hjælper med at forhindre angreb, fordi oplysningerne gemmes på en forvirret måde, men selv det er ikke ubrydeligt.


En anden mulig mulighed er at gemme den aktuelle aktiveringstilstandsinformation fjernt og lade en henvisning til denne information på maskinen, muligvis krypteret. Der er mange måder at gøre dette på, men en der kommer til at tænke på, er at gemme en GUID af en slags, som du så kan se op i din database


En undergang af dette er kravet om en internetforbindelse, jeg ved ikke, om det er uoverkommeligt eller ej, men den generelle ide er at fjerne aktiveringstilstanden fra en maskine, du ikke kontrollerer og sætter den på en, som du gør