Skjule en hemmelighed i Windows Registry

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg ved, at registreringsdatabasen ikke er et bedste sted for at skjule noget.


Lige nu skriver jeg en licenseringssoftware, der kræver at gemme prøvebrugsoplysninger som første installationsdato på registreringsdatabasen mv.


Hvad hive i Windows Registry, der opfylder dette kriterium:



  1. Ikke nemt opdaget af brugerne.

  2. Værdien kan deles blandt Windows-brugere.

  3. Ikke rydde Windows og Registry Cleaning Utility overveje ikke denne værdi som et skrald.

  4. Hvis kan, fungerer det uden administratorrettigheder på Windows Vista og Windows 7



Rediger: Jeg har udelukket elementer # 4, fordi det ikke er muligt med item # 2, baseret på svar fra David Heffernan

Bedste reference


Der er ingen fælles placeringer i registreringsdatabasen, der kan skrives til uden administratorrettigheder. Så dine betingelser 2 og 4 kan ikke begge være opfyldt. Du skal gøre det med en fil, jeg tror.


Hvis du er villig til at tabe betingelse 4, skal du gemme den under HKLM, så den deles. Det indlysende sted er HKLMSoftwareYourCompanyNameYourProductName. Naturligvis ville du kryptere dataene for at undgå manipulation. Når du har gjort det, så bekymrer du dig ikke om, hvorvidt dine brugere opdager det.

Andre referencer 1


Hvad forsøger du at forsvare imod? Det lyder som om du lægger stor indsats i 'Lad ikke folk ændre deres systemur for at udvide deres forsøg' men slet ikke i 'ikke lade folk redigere registreringsdatabasenøglen for at udvide deres forsøg' eller 'don 't Lad folk dele registreringsnøgler mellem maskiner for at gøre forsøg i fuld nøgler gratis'. Jeg tror faktisk, at de er langt mere sandsynlige. Enhver software, der råbte på mig for at ændre uret på min egen maskine ville blive afinstalleret i en fart.


Jeg anbefaler, at du ikke forsøger at gøre det selv. Der er licensbiblioteker, du kan bruge, der har tænkt på de forskellige måder folk forsøger at lure på. Men hvis du skal, fordi du vil prøve det, så brug tid til at skelne Hvad sker der ved installationen, som måske kræver administratorrettigheder, fra hvad der sker, mens du kører og kontrollerer, hvilket ikke skal. En app, der skal løbe forhøjet uden anden grund end at skrive licensoplysninger til HKLM en gang om minut, vil også blive afinstalleret i et hjerteslag fra min maskine.


Så ved installation skal du skrive noget uklart/krypteret til en registreringsnøgle under HKLM. Gør det noget, der ikke er super nyttigt at kopiere fra maskine til maskine, mens du er ved det, ved at kombinere en dato, en e-mail-adresse og nogle andre oplysninger. Ved kørsel skal din kode se delvist på den uændrede registreringsdatabase eller indgange og dels til noget andet, der kan ændres nemt, som en fil under AppData, en HKCU-nøgle eller den aktuelle dato for at afgøre, om det er ok for appen at køre. (Ved kørselstid, hvis HKLM-nøglen ikke er der eller undlader et checksum eller hvad som helst, nægter at køre og bede om en geninstallation. Geninstallation kan bekymre sig om, hvorvidt personen forsøger at få uendelige gratisforsøg.) Fokus på de vigtigste måder folk forsøger at narre licensordninger og også på at være en brugbar applikation. Insisterer på at hæve eller forhindre generel brug af maskinen fejler på brugbarhedssiden.

Andre referencer 2


Du kan ved installation ændre tilladelser fra et sted i HKLM, så alle brugere har skriveadgang.


Hvis du vælger et andet sted end HKLM \ SOFTWARE \ Dit firmanavn \ noget, end du 'er dumt.