Programmaktivierung: Wie? Gibs da was Fertiges?

Es gibt 35 Antworten in diesem Thema. Der letzte Beitrag () ist von Dennis Alexander.

    Schon 2^^ Also Patschi hat mir eins geschrieben.. aber recht unsicher... Per webclient die HWID und ein Serial an eine PHP datei gesendet, die checkt ob das in der DB ist und beides richtig, wnen ja gibs n ok zurück, wenn nciht dann n fehler... so, problem:

    Man kann diese Verbindung umleiten zu ner anderen Datei vom Cracker, bums haste schon gecrackt... Also sehr unsicher :D
    Momentan ist gar nichts mehr sicher. Was meinst du wie lange Adobe (natürlich) an seiner Authentifizierung für die CS5 gearbeitet hat? Und die ist fast sofort schon wieder geknackt worden.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Nibel“ ()

    Sicher ist es nur wenn du deine Sorftware mit einer Rakete in All schießt oder alles im tiefsten graben des Meeres versenkst..

    Jeder Schutz kann mit einem Gewissen aufwand ausgehebelt werden..
    Und das trifft auf alles zu z.B. könnte man mit einem gewissen aufwand sogar Fort Knox ausrauben..
    Auf keinen Fall ist CS5 von Adobe!! ("Apple did it") XD

    Also zum Thema Aktivierung:
    Es ist (ohne Trusted Platform) faktisch nicht möglich ein Programm unknackbar zu machen, weil der Anwender jederzeit das Programm (mit einem Hex-Editor) verändern kann. D.h. man kann einfach die Aktivierungs-Abfrage rausschmeißen, oder in manchen Fällen noch einfacher: man kann den Aktivierungsserver simulieren - ohne das eigentliche Programm zu verändern.
    Die "Trusted Platform" würde das Ausführen des geänderten Binaries verhindern, würde aber zwingend auch dafür sorgen, dass jedes Binary signiert sein MUSS um ausgeführt werden zu können, weshalb sich eine strikte "Trusted Platform" nicht durchsetzen kann. Hardware-Dongles lassen sich imho auch knacken, weil man die Hardware-Ausgabe mitschreiben kann und somit einfach die ver-/entschlüsselte Information (ggf. in Kombination mit Veränderung des Binaries) verwenden kann.

    Es ist viel mehr eine Frage von Aufwand zu Nutzen. Bei Adobe's Programmen, die ein Vermögen kosten, und wo's zigtausende Nutzer gibt, zahlt es sich aus Arbeit zu investieren ;)
    ich würde aufjedenfall mal sagen die Keys nicht in ner DB, sondern nach einem Algorithmus(manche wollen ihr Programm doch auch Offline registrieren?!) dann könnte man machen, dass überprüft wird, dass dieser Key nur einmal verwendet wird..
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Also ich würde sowas so aufbauen und ich glaube auch es recht sicher.

    Was benötigt man:

    Eine MYSQL DB!
    Und der nutzer Internet!

    Also Beispiel:

    Der User nutzt dein Programm 30 Tag(Demo) Danach wird er aufgefordert einen Code einzugeben.
    Diesen Code bekommt er nur zugeschickt wenn er Das Produkt bezahlt hat!

    So weit so gut!

    Beim bestell vorgang(Zahlung) über Paysafe etc wird Automatisch ein Code generiert der md5 gehasht in deine DB gelegt wird! Genau den kleichen Code bekommt der User per E-mail ungehasht!
    Wenn nun der User seinen Code eingibt wird in der DB Seine Mac-Adresse gespeichert und so der Code als gebraucht markiert!

    Bin nur nun nicht sicher ob die MaC adresse immer gleich blebt nach OS neuinstalation! Egal

    Und so kann der nutzer Das Programm nutzen!

    Wenn nun der Code von einem Anderen User an einem anderen PC eingegeben wird kann das Programm nicht aktiviert werden weil die Mac adresse ungleich ist!

    Beim Nutzer am pc wird nur der md5 gehashte Code gespeichert! Und bei jedem Start wird überorüft ob der Key(Code) und die Mac adresse überein stimmt!


    Nachteil des ganzen ist eben das man Einen Internetzugang benötigt!

    Ich werde vieleicht von dem ein Beispiel Projekt erstellen wie man das in seinem Programm nutzen kann!

    MFG
    Genau so würde ich das auch machen, bzw habe ich es s ähnlich gemacht
    Dann die Exe soweit es geht vor decompilieren schützen.

    1 Datenbank
    2 Benutzer einer nur Lese rechte der eine schreib und lese rechte.

    so hätte ich mir das gedacht
    Der Admin bekommt die lese und schreib rechte und der User nur die lese rechte.
    wenn er es dekompiliert und das mit hoher Gewalt dann hat er wenigstens nur die lese rechte. Aber ohne mindest schützen würde ich das so auch nicht tun

    Meins als Anhang (Bild)
    LG.L
    Bilder
    • tata.png

      41,57 kB, 516×600, 587 mal angesehen

    mcandy007 schrieb:

    Der User nutzt dein Programm 30 Tag(Demo) Danach wird er aufgefordert einen Code einzugeben.
    Dann nimmt er einfach das 'If' weg.

    Lawliet schrieb:

    Dann die Exe soweit es geht vor decompilieren schützen.
    Das ist rein technisch nicht möglich, weil der Prozessor ja selbst wissen muss, was er tun soll. Mit nem Obfuscator kannst du nur das nachvollziehen des Programmes ERSCHWEREN. Decompilen kann man immer, außer das Binary ist verschlüsselt, was aber auch nix hilft -> Memory Dump oder Schlüssel vom Dongle oder Inet oder sonst wo "mitlauschen".
    Das weiß ich, deshalb sagte ich auch soweit es geht :)
    alles was feste Hand hat ist crackbar sag ich mir immer.
    Ich hab es einfach mit Net Reaktor gemacht.
    Ich will damit nur sagen, nicht jeder Google Benutzer = "Vb.net dekompilieren" soll meine exe öffnen können.
    @ xCM2x: Das if und/oder der Hash lassen sich austauschen. Das ist aber das Prinzip der Trusted Platform - nur prüft eben das OS, oder gar die Hardware, ob das Binary geändert wurde - und da kann man als Endanwender nicht eingreifen.

    Um den Endanwender zu ärgern kann man bei geändertem Binary die "aktuallisierte" Version (nach Prüfen des Hashes) aus dem Internet herunterladen, aber jeglicher Internet, der ohne zustimmen des Users geschieht, ist böse. UND es wird dadurch Internet vorausgesetzt, ansonsten kann man ja den Schutz auch mit jeder Firewall umgehen.
    naja das sicherste System was mir jetzt so einfällt ist Steam, doch das setzt natürlich eine ständige Internetverbindung voraus, was eig. nur nervent ist.
    Ansonsten einfach ein Serial system einbaun, das auch offline funktioniert, aber bei bestehender internetverbindung überprüfen ob der keys schoneinmal benutzt wurde.
    Und vielleicht noch nen updater einbauen, damit du gegen neue Entwicklungen vorgehen jannst.
    Natürlich ist es nicht sicher, doch der "normale" Verbraucher, der auch bereit ist etwas für eine Software zu bezahlen, für den wird dies reichen.

    Lg