Trailversion (Zeitabhängigkeit) unter Windows: Wie vorghen?
-
Hallo
Im Rahmen einen VC++ Projektes möchte ich gerne meine Applikation einschränken. Stichwort Trailversion. Da dieses Thema Programmiersprache übergreifend ist, denke ich, dass es gut hier hin gehört.
Also: Ich möchte gerne, dass meine Applikation gewisse Funktionen freischaltet, sofern ein korrekter Schlüssel eingetragen wurde. Zeitraum: 24h nach eingabe des Keys.
Bedingungen:
App läuft unter Win2000 und höher.
Key darf nur 1x verwendet werden.
Durch Zurückstellen der Systemzeit soll ein abgelaufener Key dennoch nicht mehr aktiv sein (nicht so wie bei den billig-gemachten Trailversionen, hehe).Was meint ihr zu diesem Lösungsansatz:
Abspeichern des Keys in der Windows Registry zusammen mit der aktuellen Systemzeit.
Bei jedem Neustart wird die aktuelle Systemzeit in die Registry geschrieben und mit dem Timestamp, welche beim "installieren" des Keys erstellt wurde, verglichen. Ist einmal die Systemzeit zurückgestellt worden, stellt die App das fest und reagiert entsprechend.Das Problem: Falls nun jemand tatsächlich die Systemzeit NACH Installation eines Keys zurückstellt, das Programm startet, beendet und dann wieder die Zeit richtigstellt und das Programm erneut startet (puh ist das ein langer Satz, hehe), dann funktioniert das Programm nicht mehr, weil die eingetragene Systemzeit in der Registry verändert worden ist.. kacke, oder?
gibt es da nicht schon fix fertige Lösungen? Bin schliesslich wohl kaum der erste, der so etwas realisieren möchte, ohne dass man es gleich mittels Rücksetzung der Systemzeit umgehen kann.
Any help is highly welcome!
-
Vielleicht hast du bei Google nach dem falschen Begriff gesucht. Trial ist besser als Trail.
-
sorry aber das wir schneller gecrackt als du es releasen kannst.....
am besten ist nicht alle funktionen mitliefern, oder vieleicht noch mit verschlüsselungen arbeiten, also RSA mit Zertifikaten die nur einen gewissen zeit gültig sind, aber dann bitte nicht
if(isGültig()){
startprogramm();
}sondern du musst teile des programs verschlüsseln( z.b dringend benötigte daten)
-
_cracky schrieb:
sorry aber das wir schneller gecrackt als du es releasen kannst.....
dass es jemand knackt bevor man es überhaupt herausgegeben hat ist wohl schlecht möglich.
Trotzdem....
Es geht nicht um starke Verschlüsselung/Kopierschutz, sondern um einen einfachen Schutz. Thats all.
Die Benutzer sind normale PC Anwender und haben grundsätzlich kein Interesse daran, etwas zu cracken.PS: Na also, dann hast du mir bestimmt ne Lösung, die besser als meine ist, gell? Hilfe ist willkommen.
-
Ponto schrieb:
Vielleicht hast du bei Google nach dem falschen Begriff gesucht. Trial ist besser als Trail.
Ja du hast recht!!
-
also, fertige lösungen wirst du kaum bekommen, da nur unbekanntes vorgehen nützlich ist...
2.: ich habe es schon nach einer halben stunde tutorials-lesen geschafft, CD-checks zu umgehen, und damals konnte ich noch nicht mal coden... war also sozusagen normal-user.... cracken ist kein meisterwerk!
wenn du nen effektiven schutz bauen willst, lern cracken!
wenn du als passabler cracker dein eigenes tool nicht cracken kannst ist schon gut was gewonnen.meine ideen zum schutz:
- niemals simple überprüfungen ala
if (calculatedKey != enteredKey) {MessageBox("falsch!");}
- kleine verschlüsselungen.
- selbe funktionen mehrfach klonen mit jeweils anderem namen.
- gefälschte strings ins programm einbauen
- exe-packer
aber, wenn dein programm sehr beliebt ist wird es auch gecrackt, soviel steht fest....
-
merk dir einfach die zeit, an dem z.b. notepad.exe erstellt wurde rechne daraus einen offset zu der zeit in dem das keyfile erzeugt wurde(lass die reg weg), den kannst du dir ja verschlüsselt in ner file halten, und den vergleichst du immer.....
stimmt doch oder ?
-
Die Benutzer sind normale PC Anwender und haben grundsätzlich kein Interesse daran, etwas zu cracken.
stimmt aber die cracker, und die stellen es online
-
_cracky schrieb:
Die Benutzer sind normale PC Anwender und haben grundsätzlich kein Interesse daran, etwas zu cracken.
stimmt aber die cracker, und die stellen es online
Jaja mag schon sein, aber es ist ein Konfigurationstool, welches mit unseren Anlagen ausgeliefert wird. Cracker sind absolut kein Thema diesbezüglich.
-
loki1985 schrieb:
also, fertige lösungen wirst du kaum bekommen, da nur unbekanntes vorgehen nützlich ist...
2.: ich habe es schon nach einer halben stunde tutorials-lesen geschafft, CD-checks zu umgehen, und damals konnte ich noch nicht mal coden... war also sozusagen normal-user.... cracken ist kein meisterwerk!
wenn du nen effektiven schutz bauen willst, lern cracken!
wenn du als passabler cracker dein eigenes tool nicht cracken kannst ist schon gut was gewonnen.meine ideen zum schutz:
- niemals simple überprüfungen ala
if (calculatedKey != enteredKey) {MessageBox("falsch!");}
- kleine verschlüsselungen.
- selbe funktionen mehrfach klonen mit jeweils anderem namen.
- gefälschte strings ins programm einbauen
- exe-packer
aber, wenn dein programm sehr beliebt ist wird es auch gecrackt, soviel steht fest....
jo danke für die Inputs. Habe nun noch ne Klasse im www gefunden, die ich entsprechend meinen Bedürfnissen anpassen kann und dann einsetzen werde.
Nene, das Tool wird sich nicht an grosser Beliebtheit erfreuen bzw. lediglich in diesem entsprechenden Fachkreis, wo es auch zum Einsatz als Konfigurationstool für unsere Produkte zum Einsatz kommen wird.
Dieser gesuchte "Schutz" ist lediglich primitiver Natur und sollte für einen normalen User nicht trivial sein (d.h. nicht umgehen mittels Rüückstellung der Systemzeit - that's all) - andere Fälle werden und müssen nicht berücksichtig werden.
-
na in dem fall einfach bei jedem start die aktuelle zeit a) irgendwo speichern b) ein file "touchen" (timestamp updaten), und wenn beim abfragen diese zeit nach der aktuellen kommt (also die aktuelle zeit früher ist als die gespeicherte) einfach abbrechen.
ich denke mal dir gehts dabei darum, den kunden support-technisch zu binden?
oder was genau ist die intention?
-
loki1985 schrieb:
na in dem fall einfach bei jedem start die aktuelle zeit a) irgendwo speichern b) ein file "touchen" (timestamp updaten), und wenn beim abfragen diese zeit nach der aktuellen kommt (also die aktuelle zeit früher ist als die gespeicherte) einfach abbrechen.
ich denke mal dir gehts dabei darum, den kunden support-technisch zu binden?
oder was genau ist die intention?
ja es geht in die richtung:
unser tool sollen service techniker einsetzen. je nach berechtigungsstufe können diese mehr oder weniger.
falls nun in einem sehr dringenden fall ein nicht-priviligierter benutzer dennoch eine funktion ausführen muss, die sonst nur ein auf höherer stufe gesetzter benutzer ausführen kann, so kann sich dieser benutzer bei der zentrale melden und ein notfallpasswort kaufen. alle funktionen werden dann für eine gewisse zeit freigeschaltet.
-
du musst so denken
dein auftraggeber möchte das so primitiv, also gib ihn das. fertig aus
wenn du genug zu tun hast, dann sag ihn nichts "wie einfach bla bla bla"
wenn du nicht genug zu tun hast, und um arbeitsplatz führtest, dann sag ihm
"wie einfach umgeben, und dies und jenes"
wenn das tool mit dem einmalig gekauften key ein schwabe in die hände kriegt, dann
hat der einen 100 euro pc irgendwo rumliegen ( darf ja nicht weggeschmiessen werden )
er installiert win drauf.
er macht ein image
er benutzt key und lässt image gleich draufspielen
er kauft NIE wieder einen keywenn du es "gescheit" machst, dann binde an dem key die systemzeit irgendwie dran. d.h. nach kauf könnte er nur innerhalt 1 woche max 24h benutzen.