Binarydiff Update fuer Applikation

Alles rund um die Programmierung mit Qt
nando
Beiträge: 321
Registriert: 28. Oktober 2004 13:16

Binarydiff Update fuer Applikation

Beitrag von nando »

Hi,

habe ein Problem, dass zwar nicht 100%ig Qt spezifische ist, aber vielleicht weiss jemand trotzdem einen Rat ....

Ich versuche gerade meiner Applikation eine Update funktion zu verpassen.
Das Progeamm soll erkennen ob es eine neuere Version gibt und falls ja
nur ein Binary-Delta runterladen und sich dann patchen.

Meine Idee ist eine Starter Applikation zu schreiben, die die eigentliche Appliaktion startet (QProcess).
Wenn nun die Applikation erkennt, dass es eine neuere Version gibt, wird der Patch (nur binary delta) runtergalden und die Applikation beendet sich, dann erkennet die Starter Appliaktion, dass es was zu patchen gibt und patch dann das BinaryDelta auf die Applikation und startet sie neu........

Meine Frage ist nun, mit welchen "freien" tools, die auf Windows, Mac und Linux laufen kann ich denn solche BinaryDeltas erzeugen ???
Oder gibt es da ganz andere Loesungsansaetze was den Upgrade angeht ???


Gruss,
Nando
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Re: Binarydiff Update fuer Applikation

Beitrag von macman »

nando hat geschrieben:Oder gibt es da ganz andere Loesungsansaetze was den Upgrade angeht ???
Du plenkst und dein Fragezeichen prellt. Der Satz wird dadurch nicht wichtiger, ehr umgekehrt.

Ich würde nicht mit Patches arbeiten. Wenn etwas schief geht, hast Du dem Kunden sein laufendes Programm geschrotet. Zu Qt3-Zeiten haben die Trolls auch damit gearbeitet, obwohl die Pakte nur ein Drittel so groß waren.

Was spricht denn dagegen alles zu laden? Ist dein Paket so groß?
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
Sephral
Beiträge: 201
Registriert: 1. Februar 2006 09:40
Kontaktdaten:

Beitrag von Sephral »

Hallo,

Deine Starter-Applikation ermittelt MD5-Hashes aller im Verzeichnis befindlichen Dateien und gleicht diese Hashes mit einer Liste im Internet ab.

Wenn Differenzen erkannt werden, dann einfach das gesamte File runterladen und ersetzen, von Binary-Diffs kann ich auch nur abraten.

Bin mir gerade nicht sicher, ob Qt 4.4 MD5-Hashes so ohne weiteres von Dateien anfertigt, notfalls gibts für Qt 4.x.x auch irgendwo ne freie Implementierung (google fragen, hatte ich vor ner Weile mal gefunden).

Ciao,
Sephral
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Sephral hat geschrieben: Bin mir gerade nicht sicher, ob Qt 4.4 MD5-Hashes so ohne weiteres von Dateien anfertigtl
QCryptoGraphicHash
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Sephral
Beiträge: 201
Registriert: 1. Februar 2006 09:40
Kontaktdaten:

Beitrag von Sephral »

Christian81 hat geschrieben:
Sephral hat geschrieben: Bin mir gerade nicht sicher, ob Qt 4.4 MD5-Hashes so ohne weiteres von Dateien anfertigtl
QCryptoGraphicHash
Danke Meister :lol:
nando
Beiträge: 321
Registriert: 28. Oktober 2004 13:16

Beitrag von nando »

Danke fuer die Antworten.
Das Problem warum ich nicht die komplette Applikation runterladbar machen will/kann ist, dass die Applikation einen Copierschutz hat und durch einen Key geschuetzt ist. Der Kunde, der das Produkt kauft bekommt einen key mit dem er es freischalten kann.
Wenn ich jetzt diese freigeschaltete Version komplett ueberbuegel ist das doof... Dann muesste der Kunde die Applikation erneut freischalten....
oder man muesste sich dass irgendwie merken, on die Applikation schon frei ist und dann automatisch freischalten, wenn die zu ueberbuegelnde Version schon eine Vollversion ist...
Mit Binary diffs koennte ich die updates frei downloadbar machen auf der Internetseite, ohne Member bereich etc. ....

gruss,
Nando
Sephral
Beiträge: 201
Registriert: 1. Februar 2006 09:40
Kontaktdaten:

Beitrag von Sephral »

Die Frage ist, wie Dein Kopierschutz arbeitet.
Wenn du die komplette exe ersetzt, liegt das key-file ja noch im Ordner -> kein Problem. Wenn du nen kompletten Installer runterlädst, dann ists natürlich schlecht. Ich würde wirklich einzelne Files im Ordner austauschen und ggf das Kopierschutzsystem so anpassen, dass es damit zurecht kommt.
nando
Beiträge: 321
Registriert: 28. Oktober 2004 13:16

Beitrag von nando »

Moin,

also der Kopierschutz funktioniert so:

Der Kunde kauft das Produkt und bekommt einen key mitgeliefert.
Diesen Key gibt er online auf unserer Seite ein und erhaelt dafuer einen 24 Stunden gueltigen freischaltcode fuer die Applikation. Damit kann er die Applikation freischalten. Aber nur 24Stunden lang.

Wenn ich jetzt die Applikation ueberbuegel, muss ich mir irgendwie "sicher" merken, dass sie ja schon frei war.... Hmm... aber wie soll ich das machen ohne dass die Sicherheitsfunktion beeintrreaechtigt wird.... ?
PeterLustig
Beiträge: 386
Registriert: 21. November 2007 20:07

Beitrag von PeterLustig »

nando hat geschrieben:Der Kunde kauft das Produkt und bekommt einen key mitgeliefert.
Diesen Key gibt er online auf unserer Seite ein und erhaelt dafuer einen 24 Stunden gueltigen freischaltcode fuer die Applikation. Damit kann er die Applikation freischalten. Aber nur 24Stunden lang.
Damit ist aber nicht erklärt wie die Applikation sich merkt das sie freigeschaltet ist.
nando
Beiträge: 321
Registriert: 28. Oktober 2004 13:16

Beitrag von nando »

PeterLustig hat geschrieben:
nando hat geschrieben:Der Kunde kauft das Produkt und bekommt einen key mitgeliefert.
Diesen Key gibt er online auf unserer Seite ein und erhaelt dafuer einen 24 Stunden gueltigen freischaltcode fuer die Applikation. Damit kann er die Applikation freischalten. Aber nur 24Stunden lang.
Damit ist aber nicht erklärt wie die Applikation sich merkt das sie freigeschaltet ist.

das ist ja genau das problem um das es jetzt geht ;)
PeterLustig
Beiträge: 386
Registriert: 21. November 2007 20:07

Beitrag von PeterLustig »

Wie hattest du es denn geplant, wenn du Binarydiffs benutzt hättest? Wär doch nicht anders gewesen...

Naja, ganz sicher kannst du es nicht machen. Eine Idee wäre sicher einen Verschlüsselten String innerhalb der Konfigurationsdatei speichern, der Name + Freischaltcode überprüft. Aber der kann eben auch beliebig kopiert werden...
Sephral
Beiträge: 201
Registriert: 1. Februar 2006 09:40
Kontaktdaten:

Beitrag von Sephral »

Wir setzen bei uns Wibukey und CodeMeter ein.
Einfach zu handhaben und relativ viel Sicherheit mit wenig Aufwand.

Lohnt sich aber nur bei hochpreisiger Software, denn die Dongles kosten auch ein paar Euronen.
nando
Beiträge: 321
Registriert: 28. Oktober 2004 13:16

Beitrag von nando »

ja das hatte ich mir auch schon ueberlegt, aber du hast recht, dann kann man die konfiguration einfach kopieren....... hmmmm

hi, ja das mit den WIBUKEY hab ich mir mal angeschaut, scheint gut zu sein,
aber leider lohnt sich das nicht fuer meine 60/70 euro software...... :(
hmmmmmm

wie waere das denn, wenn ich ein binarydiff auf die applikation, die schon freigeschaltet ist anwende ? ist die dann gesperrt ? das binarydiff darf eben nicht die stelle patchen die den key abfragt.. dann koennte es doch gehen, oder was meint ihr ?
PeterLustig
Beiträge: 386
Registriert: 21. November 2007 20:07

Beitrag von PeterLustig »

Du solltest wirklich keine Binarydiffs benutzen.
nando
Beiträge: 321
Registriert: 28. Oktober 2004 13:16

Beitrag von nando »

hmm..
okay... hab das jetzt schon oefters gehoert, das es nicht gut sein soll...
dann muss ich mir echt mal ueberlegen, wie ich das problem loesen kann...
muss dann vielleicht doch einen memberbereich einrichten, wo der user sich einloggt und mit seinem key an die updates rankommt...
also komplett neue version runterladen und dann mit einem neuen freischaltcode die neue version aktivieren....
d.h. der user loggt sich ein, sendet seinen cd-key....... daraufhin kann er die neue version (komplett kein binarydiff) runterladen und muss diese dann mit einem neuen schluessel den er auch bekommt und der nur 24h gueltig ist aktivieren.....

gar nicht sooo trivial das ganze.... .
Antworten