1 Comment

  1. Avatar

    Ma gandisem la un moment dat la un sistem de protectie software ceva mai puternic. N-am avut timp sa dezvolt ideea, asa ca o fac publica 🙂

    In orice joc se pot izola o multime suficient de mare de decizii, reprezentate ca un calcul
    “if(a > b)”. Se face un modul cu toate aceaste conditii. Pentru fiecare licenta, se creaza o versiune diferita de modul, prin amestecarea calculului “if(a > b)” cu multe alte informatii precum timpul sistemului, hash-uri pe hardware, etc. Calculul trebuie sa dea acelasi rezultat in configuratia corespunzatoare licentei, dar sa dea anomalii cand licenta a expirat sau hardware-ul este diferit. Bineinteles ca s-ar putea pacali programul ca ruleaza pe un anumit hardware, dar asta l-ar putea face nefunctional (in cazul API-ului 3D cel putin). Se mai poate adauga la calcul si un hash al IP-ului de conectare (in cazul programelor care ruleaza online) si protectia ar fi foarte greu de spart. Daca utilizatorul isi schimba IP-ul sau hardware-ul poate primi o versiunea noua de modul, customizat pe setarile lui.

    Cred ca ideea merge doar daca calculul este complicat astfel incat sa dea in multe ocazii rezultate bune si in putine situatii rezultate proaste. Altfel s-ar putea observa comportarea a doua module pentru fiecare pereche a,b si crea un modul care sa raspunda corespunzator. Daca insa se “scufunda” spatiul conditiilor necesare intr-un spatiu mult mai mare al conditiilor complicate (care depind de multi alti parametrii – timp, hw, ip), analiza s-ar putea dovedi ineficienta.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.