Dll Datei mit Zeitsperre erstellen



  • BasicMan01 schrieb:

    kachbe schrieb:

    Der Kunde möchte leider eine kostenlose Testversion und es besteht keine garantier das er dann das Programm abkauft.

    Das wird dein Kunde auch garnicht müssen, wenn er eins von den lustigen Tools besitzt, die dem Rechner nen Timestamp vorgaugeln, der in der Vergangenheit liegt und das Programm unter diesem Vorwand startet 😃

    Schau dir mal diese Funktionen an, wie bereits genannt:
    http://www.cplusplus.com/reference/clibrary/ctime/

    Und besonders
    http://www.cplusplus.com/reference/clibrary/ctime/time/

    Habs extra für dich rauskopiert 😉

    time_t seconds;
    
    seconds = time (NULL);
    cout << seconds << endl;
    

    Nun ... ein Tag hat 86400 Sekunden.
    Vergleichen tut man mit > oder < oder <= oder auch >= und sogar == 🤡

    Danke.
    Die Syntax von C++ ist mir doch noch zu fremd ich müsste da stundenlang nochmal die Grundlagen durch lernen, aber kurz gefragt ist es nun möglich so was sicher zu verchlüseln mit der Zeitsperre oder ist das zu einfach zu umgehen für den User.

    Wenn ja gibt es überhaupt eine Möglichkeit sowas sicher und gut oder bestmöglich zu verschlüsseln, sodass die Funktionen dann nicht mehr funktionieren, vielleicht sogar gelöcht wrden aus der .dll Datei. Ich kann aber nicht vorher halbe Funktionen einbauen in das Programm, da das Handelssyste ja sont nicht funktioniert im Test.



  • Das vom Menschen ersonnene, kann auch vom Menschen wieder geknackt werden. Vor allem, wenn man auf dem Gebiet keine Ahnung hat, dann ist das ein Ding von Minuten. Zeitsperre in der DLL z.B. man kann die Zeitgeber Funktionen hooken und dann entsprechend immer das zurück geben was man will -> Ausgehebelt, oder aber man bearbeitet die DLL ein bisschen mit einem Debugger, wenn man weiß was man macht, kann man die ZeitIf immer wahr zurückgeben lassen -> Ausgehebelt.

    Da kann jetzt ein "Binary-Packer" helfen... Theoretisch... Es bietet einen entsprechenden Mehraufwand die DLL zu debuggen und zu verändern, aber es ist nicht unmöglich!

    Man könnte einen Test via Internet und Server abfragen machen, jedoch kann mann dann mit einem Package Sniffer, das Format entschlüsseln und dann sich einen eigenen Server nachbauen. Oder aber auch hier wieder entsprechend die DLL bearbeiten und das ganze rausschreiben.

    Am Ende kann man alles irgendwie umgehen... Dabei ist eine Zeitsperre noch das, was man am einfachsten umgehen kann...

    Soweit zumindest meine Recherchen auf diesem Gebiet... Letztendlich einfach die richtige Lizenz drauf auf das Produkt und dann entsprechend der erste sein der es Released und dann kannst du immerhin den gegenüber Verklagen, sofern er nicht nachweisen kann dass er es erstanden hat... Wobei ich mir nicht sicher bin inwiefern das Lizenzrecht überhaupt durchsetzbar ist...



  • Blackskyliner schrieb:

    Das vom Menschen ersonnene, kann auch vom Menschen wieder geknackt werden. Vor allem, wenn man auf dem Gebiet keine Ahnung hat, dann ist das ein Ding von Minuten. Zeitsperre in der DLL z.B. man kann die Zeitgeber Funktionen hooken und dann entsprechend immer das zurück geben was man will -> Ausgehebelt, oder aber man bearbeitet die DLL ein bisschen mit einem Debugger, wenn man weiß was man macht, kann man die ZeitIf immer wahr zurückgeben lassen -> Ausgehebelt.

    Da kann jetzt ein "Binary-Packer" helfen... Theoretisch... Es bietet einen entsprechenden Mehraufwand die DLL zu debuggen und zu verändern, aber es ist nicht unmöglich!

    Man könnte einen Test via Internet und Server abfragen machen, jedoch kann mann dann mit einem Package Sniffer, das Format entschlüsseln und dann sich einen eigenen Server nachbauen. Oder aber auch hier wieder entsprechend die DLL bearbeiten und das ganze rausschreiben.

    Am Ende kann man alles irgendwie umgehen... Dabei ist eine Zeitsperre noch das, was man am einfachsten umgehen kann...

    Soweit zumindest meine Recherchen auf diesem Gebiet... Letztendlich einfach die richtige Lizenz drauf auf das Produkt und dann entsprechend der erste sein der es Released und dann kannst du immerhin den gegenüber Verklagen, sofern er nicht nachweisen kann dass er es erstanden hat... Wobei ich mir nicht sicher bin inwiefern das Lizenzrecht überhaupt durchsetzbar ist...

    Hallo,
    vielen Dank für deine hilfeiche Antwort, ich habe ähnliche Sachen immer wieder gehört das es doch irgendwie möglich ist auch .dll Dateien zu entchlüsseln.
    Es gibt noch zwei Möglichkeiten über die ich nachdenke, und wegen dem Lizenzrecht wird es auch sehr schwer bis unmöglich für mein Handelsystem sowas zu bekommen.
    1. Wenn ich über ein Webservice den User eine Datei zur Verfügung stelle, welche die Berechnungen durchführt, anstatt die Berechnungen in der .dll Datei zu packen. Dann würde die Anwendung eine Verbindung zu mein Webserver aufbauen müssen um die Funktionen zu benutzen, ist sowas eine sichere Lösung, weil den Code der funktionen selbst hat der User ja nicht?

    2. Wenn das auch nicht klappt besteht nut noch die Möglichkeit Signale zu versenden und kein Programmcode irgendjmand zu übergeben.


  • Mod

    kachbe schrieb:

    1. Wenn ich über ein Webservice den User eine Datei zur Verfügung stelle, welche die Berechnungen durchführt, anstatt die Berechnungen in der .dll Datei zu packen. Dann würde die Anwendung eine Verbindung zu mein Webserver aufbauen müssen um die Funktionen zu benutzen, ist sowas eine sichere Lösung, weil den Code der funktionen selbst hat der User ja nicht?

    Ja, das wäre sicher, wenn du und dein Kunde sich darauf einlassen. Denn wenn zum Beispiel dein Server ausfällt, dann bist du Schuld, dass der Kunde nicht mehr mit der Software arbeiten kann.



  • Es gibt nur eine Möglichkeit, so etwas wirklich 100% sicher hinzukriegen: wenn der Benutzer nicht an die Software rankommt. Also wenn sie zum Beispiel auf einem Server läuft und der Kunde über das Internet sie nur bedienen kann und die Ausgabe des Programms sieht.
    Sobald du die Software aus der Hand gibst, ist die Sicherheit futsch. An dem Problem haben sich schon ganz andere die Zähne ausgebissen.

    Ohne dich beleidigen zu wollen, frage ich mich, ob deine Software wirklich einen großen Aufwand wert ist. Deine bisherigen Fragen lassen vermuten, dass du nicht gerade ein erfahrener Entwickler mit einer tollen, unbezahlbaren Software bist, sondern statt dessen eher froh sein kannst, überhaupt "Kunden" zu haben. Vielleicht wäre es ja sinnvoller, dem Kunden ein bisschen Vertrauen entgegen zu bringen und es bei einer einfachen Anzeige wie "DEMOVERSION" im Programm zu belassen? Du kannst sowieso nichts umsetzen, was nicht ganz einfach knackbar wäre, und den Benutzer mit komischen Mechanismen zu gängeln ist auch nicht geschäftsfördernd.

    Nichts für ungut.



  • Ich kann dir dennoch nur raten dass du dich lieber auf das Programm als den Kopierschutz konzentrieren solltest.

    Ich habe bisher noch nie einen Kopierschutz gebraucht und kann auch nicht verstehen warum da so ein Aufwand betrieben wird. Jeder Kunde ist sich bewusst, dass es bei nicht lizenzierter Software auch keinen Support gibt.



  • darkfate schrieb:

    Ich kann dir dennoch nur raten dass du dich lieber auf das Programm als den Kopierschutz konzentrieren solltest.

    Ich habe bisher noch nie einen Kopierschutz gebraucht und kann auch nicht verstehen warum da so ein Aufwand betrieben wird. Jeder Kunde ist sich bewusst, dass es bei nicht lizenzierter Software auch keinen Support gibt.

    Hallo, es handelt sich ja um ein Börenhandelssystem was ich verkaufen möchte, wenn das Programm an eine Peron verkauft habe, kann diese Person es lebenslang weiter benutzen oder auch selbst weiter verkaufen als eigenes Produkt, und das will ich verhindern das jemand es als eigenes Produkt weiter verkauft und ich denke ich kann es doch nicht verhindern also muss ich es akzeptieren oder sein lassen das zu verkaufen.

    Ich möchte es aber schon gerne verkaufen, immerhin kann ich mir selbst o mehr Startkapital für mein Konto ansammeln.



  • bau ein paar bugs ein, dann meldet der kunde sich schon, wenn er es haben will und die bugs gefixt werden müssen.



  • kachbe schrieb:

    ...

    Du kannst dir ja einen Tag nehmen und die Software installieren und dem Kunden vorführen und nachdem du gehst einfach deinstallieren.



  • darkfate schrieb:

    kachbe schrieb:

    ...

    Du kannst dir ja einen Tag nehmen und die Software installieren und dem Kunden vorführen und nachdem du gehst einfach deinstallieren.

    Das wäre zwar eine gute Lösung aber ich kann ja nicht wegen Verkaufpreis von 500 Euro durch die Welt reisen, die Leute sind ja weltweit die es kaufen können, deswegen wäre das zu kompliziert auf die weise.



  • Dann mach ne Demo, wo die wichtigsten Features nur halb funktionieren... So im Sinne von:

    Aktienübersicht auf 5 Aktien beschränken oder was auch immer. Aber nicht mit ner IF sondern richtig hardcoded, sonst isses einfach zu knacken. Halt die Ergebnisse der Software auf eine Anzahl beschränken 🙂

    Das kann man zwar auch wieder ändern, aber ist aufjeden Fall besser als andere Ideen.



  • Blackskyliner schrieb:

    Dann mach ne Demo, wo die wichtigsten Features nur halb funktionieren... So im Sinne von:

    Aktienübersicht auf 5 Aktien beschränken oder was auch immer. Aber nicht mit ner IF sondern richtig hardcoded, sonst isses einfach zu knacken. Halt die Ergebnisse der Software auf eine Anzahl beschränken 🙂

    Das kann man zwar auch wieder ändern, aber ist aufjeden Fall besser als andere Ideen.

    Danke, die Lösung hatte ich auch im Sinn, das Problem dabei ist das die Leute das Programm immer gerne paar Wochen im Livehandel testen möchten bevor sie es kaufen und damit es im Livehandel funktioniert muss ja der originalcode alles ausrechnen, nur halbe Sachen würden ein halbes Ergebniss bringen das niemand gefällt und dann will auch niemand das programm kaufen.



  • Danke, die Lösung hatte ich auch im Sinn, das Problem dabei ist das die Leute das Programm immer gerne paar Wochen im Livehandel testen möchten bevor sie es kaufen und damit es im Livehandel funktioniert muss ja der originalcode alles ausrechnen, nur halbe Sachen würden ein halbes Ergebniss bringen das niemand gefällt und dann will auch niemand das programm kaufen.

    Wäre ich der Boesewicht, würde mich weniger der Code sondern mehr das Prinzip dahinter intressieren. Das hasst aber scho geschnallt.

    Technisch gesehen kannst Deine Ideen nicht schützen. Rechtlich gesehen aber schon.

    Du hasst also merhere Möglichkeiten:

    Dem Reengeneering soviel Steine in den Weg zu legen, und dabei den Lizenzpreis so gering halten, das es sich fuer den Potentiellen Boesewicht nicht lohnt das Ding nachzubauen.

    oder

    Du schuetzt deine Idee (Patentrecht), und musst dann auf irgendeinen Weg erfolgreich sein, um deine Rechte auch durchsetzen zu koennen. (wir wissen alle hier in Deutschland: "Recht haben" != "Recht bekommen")

    oder

    Du pfeiffst auf deine Idee, bzw die Rechte dran, bzw die Idee iss soweiso nicht schuetzenswert, dann Lass dir deine Entwicklungszeit/Support bezahlen.
    Mach ne version die mehr recht als schlecht funktioniert, aber wo man die Prinzipien erkennt, und dann sag der intressierten Firma dass paar Euro und paar Monate spaeter das Programm genau das machen wuerde, was die Firma erwartet. Unter welcher Lizenz das steheh sollt, kannst ja aushandeln.
    So verdienen die meisten SW-Entwickler Ihr geld, direkt oder indirekt.

    Dein problem waer eher, das die Idee dann nicht mehr Dein kapital waere, sondern deine Programmierkentnisse. Und sich die Firma immer entscheiden koennt, deine Idee aufzugreifen und es wem anderes, professionelleres entwickeln zu lassen.
    Aber im Bereich der SW-Entwicklung iss das nu mal so ...

    Ciao....


Anmelden zum Antworten