Zitat:
Ich dachte da eher in die Richtung Timestamp.
Öhm, jetzt bin ich noch ratloser...TimeStamps von Dateien kann man ja auch ganzleicht manipulieren...
Aber egal, ich sag jetzt einfach mal, wie ich sowas schonmal gemacht habe.
Um herauszufinden, ob und was überhaupt geupdated werden soll, lese ich mit dem Updater die Versionsnummer der Exe des Hauptprogramms aus und sende diese
(verschlüsselt) an das Script auf dem Server. Dieses schaut in der Update-Datenbank nach, ob es ein Paket für diese Version gibt und sagt entweder "nein, es gibt nichts" oder stösst den Updater an, ein bestimmtes Paket herunterzuladen.
Dieses wird dann nach dem Update ausgeführt und installiert die Dateien, wobei sich dann auch wieder die Versionsnummer des Hauptprogramms ändert.
Die exe'n selbst schütze ich, wenns denn unbedingt sein muss, per EurekaLog's "AntiCrack"-Feature.
Damit sind schonmal die meisten Normal-User aussen vor und es wird ziemlich schwierig, das zu knacken.
Eine Unmöglichkeit, das zu knacken, gibt es ja aber nie
Zitat:
Ich rede jetzt nicht von sicher im Sinne von Manipulation des Programmes durch den User, sondern vor "falschen" Updates, die nicht von mir kommen
Woher sollen die kommen? Wenn jemand ein gefälschtes Update-Paket für dein Programm schreibt und ein User installiert das dann? (ohne deinen Updater, da bei dem ja die Daten von deinem Server kommen).
Das wirst du nicht verhindern können. Wenn ich mir einen Selbst-Installer baue, der die Microsoftsche Word.exe überschreibt, dann wird der installer das auch tun, ohne dass Word das merkt.