Hallo Kennt jemand einen Anbieter von wirklich kostengünstigen USB-Dongle zum PC-Software vor Kopieren zu schützen? Gruss Weihnachtsmann
Hallo Weihnachtsmann, was verstehst Du unter "wirklich kostengünstig" ? Meinst Du billig oder preiswert? Wat hat der Weihnachtsmann denn so zu verschluesseln? Fragen ueber Fragen, der Osterhase
Hallo Ich möchte eigentlich nicht sagen für was für Programme das sind. Es sind sehr kleine Stückzahlen 5-10Stk wenns gut läuft vielleicht auch 50-100 Stk nur so optimistisch bin ich eigentlich nicht. Meistens muss man ein Kit kaufen das schon relativ viel kostet selbst für kleine Stückzahlen. Gibt es wo was für 20 Euro Pro Dongle auch bei meinen Stückzahlen.
Wer wird denn seine Software (ver)dongeln? Das schreckt mindestens 50% der potentiellen Käufer ab (mich inbegriffen). Da du nach preiswerten Lösungen fragst nehme ich an, dass dein Programm ebenfalls im unteren Preissegment angesiedelt ist. Aber auch dann kann ich nur immer wieder sagen: Das Beste für die Sicherung deiner Einnahmen ist, wenn du deine Software mit gutem Service verdongelst. Soll heissen: Am besten die Software verschenken ;-) und mit hervorragendem Support Geld verdienen.
Ich möchte nicht allzuviel zu meiner Software sagen. Ist eine spezielle Sparte. Kleine Stückzahlen = relativ hoher Preis. Doch gerade diese Progamme werden eher zu 99% kopiert als gekauft. Genau da habe ich leider schon einmal erleben müssen. Ich bezweifle dass es meine Kunden abschreckt. Denn die die mein Programm woll werden es mit oder ohne Dongle kaufen. Da werden viel andere Meinung sein aber darüber möchte ich nicht diskutieren.
Aber bei "relativ hoher Preis" wird dann doch der Dongle nicht mehr ins Gewicht fallen... Aber was machst du da für ein Geheimnis? Vermute ich da etwa unrechtes?
Nee ist überhaupt nichts illegales. Möchte aber noch andere Programm ebenfalls mit Dongle verkaufen deshalb das mit dem Preis.
Interessant zu beobachten, wieviel Angst manche Leute vor der Veröffentlichung ihrer Ideen haben... als ob die berufliche Laufbahn davon abhinge, dass man den Zweck des Programms verheimlichst. Ein einfaches Dongle ist von einem Programmierer mit den richtigen Tools in ziemlich kurzer Zeit überwunden. Wenn dein Programm wirklich "lieber kopiert als gekauft" wird, wird ein Dongle nicht allzuviel helfen. Nur wenn du essentielle und schwierig zu erschließende Programmteile (nicht nur Daten) auf das Dongle auslagerst, wird ein gewisser Schutz geboten, der nicht mehr trivial umgehbar ist. Gib etwas mehr Infos, dann bekommst du vielleicht hilfreichere Antworten (trifft eigentlich auf jede Frage zu).
Schau doch mal unter matrixlock.de Die sind einigermaßen erschwinglich. Gruß Dieter
@Chris Nee da schätzt du mich falsch ein.Ich habe weder Angst meine Laufbahn könnte schaden nehmen auch glaube ich nicht was Revolutionäres erfunden zu haben. Es geht darum dass ich dafür viel gearbeitet habe. Ich will weder reich werden aber was daran verdienen. Ich bin nicht Microsoft wo Millionen von Programmen verkaufen kann denn die können sehr gut mit den Raupkopieren leben obwohl niemand wo hart gegen Raubkopierer vorgeht wie MS. Doch ich habe kein interesse dass ein paar wenige Schmarozer mir das Geschäft vermiesen. Denn ich habe früher negative erfahrungen gemacht als ich ähnliche Programme verkauft habe. Genau so beobachte ich das bei der Konkurenz. Ein USB-Dongle zu knacken ich nicht so einfach wie du glaubst das ist nicht RS232.
Hallo im Prinzip brauchst Du nur etwas Zeit, einen Disassember und eventuell noch einen Debugger um einen Dongle-Schutz auszuhebeln. Dabei ist ziemlich gleichgütlig ob Du einen RS232, Parallelport oder USB-Dongle verwendest. Selbst wenn das Programm verschlüsselt vorliegt und erst zur Laufzeit per Dongle entschlüsselt wird, muss doch irgenwann ein ausführbares Programm im Speicher liegen. Und das kann dann wieder kopiert und ohne Kopierschutz ausgeführt werden. Wenn also jemand sich wirklich die Mühe machen will, findet er auch auch einen Weg. Die billigste Lösung ist ein Softwarekopierschutz wie z.B. bei Eagle oder eine quasi Verdongelung per MAC-Adresse. Aber auch das kann man aushebeln.
@Weinachtsmann Laut meine erfahrung : Vergiss dieser Dongle-mist..Die problemen sind nämlich nicht die gute Dongle API's sondern deren anbindung in deine Software. Kurz und bündig um dass vernunftig zu bewerkstelligen müsstest du zu allererst so denken wie ein Reverser und nicht wie der vorward programierer.. (ein tipp lass es nie auf eine ja/nein entscheidung aka lizensiert/nichtlizensiert ankommen..) Last but not least...Alles was läuft kann auch 'debugt' oder gekrckt werden..:) lieber Strong-Krypto verwenden oder halt dieser energie in die weiterentwiklung deines softwares stecken.... wer rechtschreib fehler findet ..kann sie behalten..:(
Dass man alles aushebeln kann ist ja nichts neues. Das wird auch immer so bleiben. Denoch ist es ein Hürde die genommen werden muss. Die wenigsten könnnen mit einem Disassembler umgehen. Eine Windows XP-Aktivierung zu knacken ist sicher viel schwieriger aber da hat es auch ungleich viel mehr Interessenten.
Nocheinmal zu deinem "Geheimnis": Du sagst uns also nicht was du machst, um dich vor - was genau - zu schützen? Sobald du dein Produkt auf dem Markt hast, weiß es doch jeder - und dann? Auch wenn dein Produkt verdongelkrüppelt ist, könnte ich z. B. es doch nachmachen. Davor schützt doch ein Kopierschutz nicht! Du sollst doch keine Details verraten, nur wüssten Helfer gerne, wobei sie helfen. Oder hast du vor, zum Patentamt zu laufen und willst vermeiden, dass ein anderer deine Idee aufnimmt und dir zuvorkommt?
@Weihnachtsmann Ich schütze meine Programme wie folgt: Der Kunde übermittelt mir per E-Mail die CPU-ID und die HD-Serial-Number und ein paar anderen Infos (das ganze natürlich verschlüsselt). Ebenfalls per E-Mail übermittle ich ihm den dazu passenden Key, der dann in der Registry abelegt wird. Das Programm testet nun, ob der Eintrag in der Registry mit den Hardware-Eigenschaften übereinstimmt. Falls nicht, startet es in der Demo-Version. Kommt zwar vor, dass ab und zu ein Oldtimer keine CPU-ID liefern kann, aber das ist nicht so schlimm, da an und für sich die anderen Infos für eine einwandfreie Identifizierung reichen. Generell zum Programmierschutz möchte ich folgendes sagen: Ohne Schutz würde ich vermutlich 95% meiner Kunden verlieren.
Hallo mkmk Ich finde deine Idee eigentlich sehr gut. Du scheinst vermutlich ähnliche Programme zu haben wie ich. Ohne Kopierschutz geht nichts. Leider finde ich sehr wenig Code für die Identifikation von CPU-Nr. Ich programmiere meistens in Delphi und ab undn zu in C++ Builder. Die Netzkartennummer wäre auch eine Alternative. Soviel ich weiss ist das ermitteln solcher Nummern je nach Betriebssystem total unteschiedlich? Gruss Weihnachtsmann
Was macht der Kunde, wenn er die Software neu installieren muss, weil ihm beispielsweise die Festplatte/der Rechner gestorben ist? Neu registrieren. Na gut. Was macht der Kunde, wenn es den "Softwareentwickler", der für die Registrierung zuständig ist, nicht mehr gibt (Pleite, keine Lust mehr, etc.)? Braucht man mehr Gründe, um als Kunde ein derart "geschütztes" Produkt nicht zu erwerben? Ein Dongle -so ärgerlich so ein Dreck auch ist- funktioniert auch dann noch, wenn's der Softwareentwickler nicht mehr tut.
@Weihnachtsmann Beiliegen die DLL, die ich benutze. Keine Ahnung, woher ich sie einst gefunden hatte. Ist aber Freeware. Viel Erfolg.
@Rufus T. Firefly Den Key, den der Kunde von mir bekommt, ist stets gültig, solange die CPU-ID dieselbe ist. Nur dann, wenn die CPU-ID nicht mehr identisch ist, wird die HD-SerienNummer verglichen.
@Weihnachtsmann Sorry, vergass die eine Frage von Dir zu beantworten: Das Ganze habe ich auf folgenden Betriebssystemen erfolgreich getestet: Win98, W2k und XP. NT4 und Win95 habe ich nicht getestet, sollte aber auch dort funktionieren.
. "Den Key, den der Kunde von mir bekommt, ist stets gültig, solange die CPU-ID dieselbe ist. Nur dann, wenn die CPU-ID nicht mehr identisch ist, wird die HD-SerienNummer verglichen." Das ändert am grundlegenden Problem nichts. Stirbt der Rechner, ist die Software zunächst unbrauchbar. Wird ein Rechnerupdate gemacht (andere CPU/andere Platte), dann ist die Software unbrauchbar. Ohne einen funktionierenden Entwickler kann der Käufer der Software diese nicht auf einem anderen Rechner installieren; seine Investition ist damit ein Totalausfall. Bei kleinen 1-Mann-Buden ist -auch wenn ich Dir das nicht wünsche- leider der Totalausfall des Entwicklers aufgrund von Unfall/Krankheit/Insolvenz nicht auszuschließen. Dieses "Aktivierungs"-Konzept ist ja bereits bei einer Firma von Microsoft'schen Ausmaßen äußerst lästig, aber bei kleineren Herstellern, bei denen kaum zuverlässige Annahmen über deren Zukunft zu treffen sind, hielte ich das von der Kundenseite aus für wirtschaftlichen Wahnsinn, ein derart "geschütztes" Produkt zu kaufen. Gut, wenn die Software nicht sonderlich teuer ist, ist deren Verlust möglicherweise zu verschmerzen, aber dann wäre ein derartiger "Schutz" ja auch nicht erforderlich.
Hi naja. Beim Start einen Aufruf in eine DLL einzubauen welcher dann den richtigen Wert zurückliefern muß als Kopierschutz zu bezeichnen ist doch sehr fragwürdig. Da brauchts nichtmal einen geübten Cracker sondern nur jemanden der mal schnell den Debugger des VS anwirft und schaut was da vorsichgeht wenn die Software den Start verneint. Dann wird entweder der Aufruf der DLL-Funktion und der anschließende Vergleich rausgepatcht oder einfach eine Dummy-DLL erstellt die eben immer die Seriennummer xyz zurückliefert. Matthias
@Matthias Na, so einfach ist es nun auch wieder nicht. @Rufus Im Grunde hast du schon recht. Anderseits muss Du aber auch meine Position verstehen: Meine Programme verkaufen ich zwischen 1 Stück und 800 Stück. Programme, die ich nur 1 oder 2 mal verkaufe, schütze ich nicht. Weil die sind so komplex, ohne Support laeuft da gar nichts. Diejenigen, die ich zu hunderten verkaufe (Preis so um die 100 Euro), muss ich schlichtweg schützen, da ich ansonsten nicht 800, sondern nur noch 80 verkaufen würde. Vielleicht nicht einmal 80. Die Wahrscheinlichkeit, dass ich aus dem Rennen fliege (Unfall, Tod etc.) ist verglichen mit der Wahrscheinlichkeit, dass der User meine Lizens nicht bezahlt, um einiges geringer. Also finde ich, dass hier ein KopierSchutz wie oben beschrieben angebracht ist. Ein Dongle, den auch ich vorziehen würde, scheidet wegen seinem Preis aus (würde den Preis um 20% erhöhen).
@mkmk: Deine Beweggründe sind durchaus nachvollziehbar ... auch ich lebe davon, daß irgendwer die Software, die ich schreibe, bezahlt. Meine Software ist implizit verdongelt, da sie ohne die spezielle Hardware, die meine Firma herstellt, eh' nichts sinnvolles macht. Eine Alternative zur Hardware-Bindung wäre die Verwendung eines zu bestimmten Benutzerinformationen passenden Schlüssels. Damit wäre es zwar prinzipiell möglich, die Software auch jemandem anderen zu geben, anhand des Schlüssels ist aber eindeutig nachvollziehbar, wer die Software zuerst weitergegeben hat bzw. wem sie zu erst stibitzt wurde. Die "Benutzerinformationen" müssen halt den Namen und die vollständige Anschrift des jeweiligen Kunden enthalten. Eine gewisse Grundehrlichkeit Deiner Kunden vorausgesetzt, dürfte so der Klauschwund geringer sein. Wenn Du allerdings möchtest, daß der Kunde für jede einzelne Installation eigens eine Lizenz (ohne 's') erwirbt, dann ist das o.g. Prinzip nicht anwendbar. Es gibt übrigens recht gut funktionierende Softwareschlüsselsysteme, die mit Disketten arbeiten; das dürfte kostengünstiger sein als ein Hardware-Dongle. Nur: Wer hat heutzutage noch Diskettenlaufwerke im Einsatz? BTW: Was ist das für eine Software, wenn ich fragen darf?
@Rufus "Eine gewisse Grundehrlichkeit der Kunden voraussetzen" ... .. wir kommen hier in den Bereich der Philosophie. Von der Ethik her hast Du selbstverstaendlich die besseren Argumente auf Deiner Seite. Aber das Leben hat mich gelehrt, dass Lenin mit seinen Worten ("Vertauen ist gut, Kontrolle ist besser") der Realitaet gerechter wird. Es gab 2 Faelle, wo ich auf eine Lizenz (okay: kein s) Kontrolle verzichtet habe. Aber klugerweise eine Zeit-Sperre eingebaut habe. Und erst nachdem die (grosszügig bemessene) Zeit-Sperre eingriff, hat der Kunde bezahlt.
Habe den Thread gerade gefunden, stehe vor einem ähnlichem Problem. Ich suche auch einen günstigen Dongle-Softwareschutz hat jemand Tipps?
Habe den Thread gerade gefunden, stehe vor einem ähnlichem Problem. Ich suche auch einen günstigen Dongle-Softwareschutz hat jemand Tipps?
Du hast den Thread jetzt wirklich oft genug gefunden, auch wenn Du zwischendrin Deinen Namen geändert hast.
Hallo! So meine Erfahrungen: 1) Die Überprüfungsfunktion usw. nicht in DLL's auslagern. 2) Hardware-ID's + Zufallszahlen verwenden (die abgelegt werden) 3) Die Zahlen irgendwie vermurksen, dass man sie nicht mehr herstellen kann (also keine fertigen Routinen verwenden bzw. zumindest dann noch selbst weiter verarbeiten nach einem Verfahren, was dir am Samstag Abend einfällt). 4) Eventuell noch die Daten (z.B. Freischaltcode) in einem Bild verstecken. Is net so schwer zu progen, is aber gleich viel schwerer an die Daten ran zu kommen. 5) Des öfteren während dem Betrieb die Lizenzierung überprüfen (d.h. kein einmaliges Event, das beim Start stattfindet). 6) Eventuell Neuregistierung in einem gewissen Intervall erzwingen (wenns dem Kunden nicht stört). 7) Dongel sind zwar gut und schön, aber dein Programm kann auch daran scheitern (Hardware-Probleme, die es nur bei diesem Kunden gibt). Hoffe, es hilft dir. mfg W.K.
Nachtrag: Im Code nicht verwenden schlüssel="ABCD"; sondern irgend wie so: schlüssel=""; schlüssel=schlüssel+"A"; schlüssel=schlüssel+"B"; schlüssel=schlüssel+"C"; schlüssel=schlüssel+"D"; oder noch besser: schlüssel=""; schlüssel=schlüssel+"C"; schlüssel="B"+schlüssel; schlüssel=schlüssel+"D"; schlüssel="A"+schlüssel; Dann findet man solche Einträge nicht gleich (Binary oder CODE).
So ich habe jetzt was mit Fakten gemacht und bei www.matrixlock.de ein DEMO-Kit bestellt. Wer schon mal einen Dongle Softwareschutz implementiert hat kann sich mal ja melden. Die Varianten mit Softkey und Hardware auslesen halte ich nicht für sinnvoll ,das vergrauelt die Kunden.
HW-Dongle vergrault genauso Kunden, wenn der Dongle nicht funktioniert und/oder andere Hardware am ordnungsgemäßen Funktionieren hindert... Mag in USB-Zeiten vieleicht nicht mehr so schlimm sein, wie diese Parallelportmonster.
@Weinga: >oder noch besser: >schlüssel=""; >schlüssel=schlüssel+"C"; >schlüssel="B"+schlüssel; >schlüssel=schlüssel+"D"; >schlüssel="A"+schlüssel; nennst du sowas sicher??? Da baust du aber ganz schön darauf das der Optimierer deiner Programmiersprache jetzt und in zukünftigen Versionen ganz schön schlecht ist. Was du da machst ist ein Ausdruck der für einen Optimierer vollkommen auflösbar ist und durch schlüssel="ABCD" ersetzbar ist. Solange du keine Abhängigkeiten von dem Zwischenzustand von schlüssel machst, kannst du dies nicht verhindern und selbst dann kannst du dir bei so etwas nicht sicher sein. Schlüssel sollten verschlüsselt sein und zwar nicht irgendwie vermurkst sondern mit Algorithmen die einem einfachen statistischem Angriff schon etwas entgegensetzen, vor allem sollte man die Speicherbereichen in denen man das ganze entschlüsselt sofort wieder zerstören. Davor und danach sollten Debuggerstopper drin sein um wenigstens Nachwuchshacker aufzuhalten. Man kann auch ausführbaren Code im Programm als Daten ansehen und diese überprüfen. Dies alles sind Sachen die wesentlich besser in Assembler gehen. Wer probiert in seiner Hochsprache einen wirksamen Schutz seines Programmes zu basteln ohne sich das ganze Mal in Assembler angeschaut zu haben, kann eigentlich nur hoffen das sich ein Cracker angewidert von der Codequalität abwendet. Der einfachste Schutz für solche Leute ist ein Packer der das Programm erst zur Laufzeit in den Speicher entpackt und eine Checksumme über die ausführbare Datei die geprüft wird. Hält mehr oder weniger lange je nachdem wie gut das Programm ist.
volatile? Dann sollte der Optimizer da nichts dran machen.
Ich zweifle ob das wirklich die Situation ändert, denn damit hast du immer die selben Blöcke die (unoptimiert) eingefügt werden. Das findet man mit einer Hexpattern Suche innerhalb von Sekunden.
int main() { //AA B0 C3 8A string msg; msg = "B0"; int i; msg = "AA" + msg; i=0; for(i=0; i<5; i++); msg += "C3"; string hard = "Didn't get that."; msg += "8A"; cout << endl << msg << endl; return 0; } --> g++ -s [...] .LC0: .string "B0" .LC1: .string "AA" .LC2: .string "C3" .LC3: .string "Didn't get that." .LC4: .string "8A" .text .align 2 [...] --> $ ./a.out AAB0C38A
Hallo! Auf was ich hinaus wollte war, dass man nicht im Binär-File wo schön irgend welche Daten drin stehen, die man für die Lizenzierung benötigt sonder das irgendwie zerhackt darin steht. Wie das optimiert wird hab ich mir nochnicht angeschaut. Jedenfalls wenn ich was fixes dirn stehen habe, schau ich nach, ob man die Sequenz direkt im Binar-File findet oder nicht. mfg W.K.
>Auf was ich hinaus wollte war, dass man nicht im Binär-File wo schön >irgend welche Daten drin stehen, die man für die Lizenzierung benötigt >sonder das irgendwie zerhackt darin steht Sonst knackt es ja wirklich jeder scriptkiddy Dieses "irgendwie" gefällt mir nur nicht da eine ganze Menge Programmierer immer noch der Meinung sind das ein XOR mit einem String eine Verschlüsselung darstellt. Da ist ein Lizenzschlüssel der aus wichtigem Programmcode besteht schon ein Level höher. Sowas findet man nicht mit einer Stringsuche und das entfernen wird bei richtiger Anwendung auch sehr unschön. zu deinem?(Nico S.) Beispiel: >string msg; > msg = "B0"; > int i; > msg = "AA" + msg; > i=0; > for(i=0; i<5; i++); > msg += "C3"; > string hard = "Didn't get that."; > msg += "8A"; > cout << endl << msg << endl; > return 0; Du versuchst eine Zerstückelung der Anweisungen in der Hochsprache int i und i=0 machen aber defakto nichts, int i ohne Verwendung braucht der Compiler zu diesem Zeitpunkt die Variable garnicht anzulegen. i=0 da nichts späteres davon abhängt,sondern die Variable in der for Schleife sogar überschrieben wird ist die Anweisung hinfällig. Die for Schleife tut nichts kann also weg, damit sind die ganzen Anweisungen wieder zusammen und ein intelligenter Optimierer könnte sie zu einer machen (cout <<endl<<"B0AAC38A"<<endl) letzten Endes musst du das im Assemblercode kontrollieren. Ein herumexperimentieren mit den Optimierungsstufen kann da ganz lehrreich sein. Auch wenn das ganze im Moment noch getrennt ist, dies kann dir keiner auch für die nächste Compilerversion garantieren. Da ist es besser ein Assemblermodul zu nehmen , da man dort volle Kontrolle über den Code hat und noch ein paar "Gemeinheiten" einbauen kann.
hallo, der ursprüngliche thread ist zwar schon recht alt, aber ich bin da auf eine "freeware" alternative gestossen, vielleicht bringt´s dir ja noch was. lg gast http://www.winfuture.de/news,9238.html
Hallo zusammen, den genialsten Dongle ohne Club-Mitgliedschaft gibt es bei http://www.visiongrid.de/keymandongle.html Der ist mit eigener Software ausgestattet und ohne Treiber/Software schnell zu verwenden mit Beispiele in C/C++ und Excel Basic auch. Grüße Karsten
10 Jahre! ZEHN JAHRE!!!!! Das grenzt ja schon an Nekrophilie!! - Und im übrigen hat sich in den letzten Zehn Jahren da viel getan.. in Zeiten von USB Analyzern, sind USB-Dongle die dümmste Art seine Software zu schützen, den Schlüssel hat man binnen 2 Sekunden in der Hand - incl. Kompletter Hardwareübertragung vom USB Stick.
Draco schrieb: > - Und im übrigen hat sich in den letzten Zehn Jahren da viel getan.. in > Zeiten von USB Analyzern, sind USB-Dongle die dümmste Art seine Software > zu schützen, den Schlüssel hat man binnen 2 Sekunden in der Hand - incl. > Kompletter Hardwareübertragung vom USB Stick. Du scheint leider Ahnung von Verschlüsselung zu haben. Wenn die Verschlüsselung richtig eingesetzt wird, kannst du auf der Leitung nichts sinnvollen mitlesen. Schau dir doch mal die aktuellen Computerspiele an, sie versuchen seid einem Jahr dem Schutz zu umgehen (und dabei wird es nicht mal um das spiel gehen sondern um die Sache selber). Es ist also nicht ganz so einfach, einfach etwas mitzulesen und zu simulieren.
"Du scheint leider Ahnung von Verschlüsselung zu haben." Er "scheinst" eher "keine" Ahnung zu haben...
Hallo Albert, naja aber 32 und 64 bit getrennt, und dann mit Registrierung ? Son Dongle ist sehr gut wenn der auch etwas schalten kann, und sich dann auch noch völlig ohne Software in das System integriert, und sogar über Excel zur Arbeitsblattverweigerung eingesetzt werden kann. Leider ohne Gehäuse aber der transparente Schrumpfschlauch sieht gut aus mit der LED darunter : http://www.visiongrid.de/keymandongle.html Grüße K aus B
Rufus T. Firefly schrieb: > Was macht der Kunde, wenn er die Software neu installieren muss, weil > ihm beispielsweise die Festplatte/der Rechner gestorben ist? > > Neu registrieren. Na gut. > > Was macht der Kunde, wenn es den "Softwareentwickler", der für die > Registrierung zuständig ist, nicht mehr gibt (Pleite, keine Lust mehr, > etc.)? Genau deswegen ist ein Dongle (meiner Meinung nach) keine so schlechte Lösung. Ich finde das besser als eine Onlineaktivierung. Die kann der Hersteller verweigern (weil er die Nachfolgeversion vertickern will), oder er kann pleite sein. Die Benutzung eines Dongles ist solange möglich, solange er funktioniert. Wir haben in der Firma ein paar Compiler für Uralt-CPUs, die so laufen. Also richtig alt, 20 Jahre oder so. Mit Onlineaktivierung hätte man uns da sicher zu einem Update gezwungen, und dann müsste man die ganze Uraltfirmware vermutlich komplett portieren. Ich persönlich finde die Donglelösung fair für beide Seiten. Die hält mich nicht vom Kauf ab. Eine Onlineaktivierung ist dagegen für mich ein absolter Kaufverweigerungsgrund.
Peter II schrieb: > Du scheint leider Ahnung von Verschlüsselung zu haben. Wenn die > Verschlüsselung richtig eingesetzt wird, kannst du auf der Leitung > nichts sinnvollen mitlesen. > > Schau dir doch mal die aktuellen Computerspiele an, sie versuchen seid > einem Jahr dem Schutz zu umgehen (und dabei wird es nicht mal um das > spiel gehen sondern um die Sache selber). Es ist also nicht ganz so > einfach, einfach etwas mitzulesen und zu simulieren. Der einzigste Kopierschutz der nicht geknackt werde konnte war Denuvo, ist aber ja nun mittlerweile auch Geschichte. Und da lief es mit wechselnden Keys incl. Verifizierung auf dem Server, aus einem Pool. Aber Denuvo ist ja seit nem Monat auch geknackt. Aber gut, hab grad mal gelesen, bin da scheinbar was Hardware-Dongles angeht nicht mehr auf dem aktuellen Stand:
1 | Neueste Dongles verwenden Public Keys und einen Secure Tunnel vom Treiber zum Dongle. Mit der Public-Key-Infrastruktur kann die Software nun beliebige Werte signieren lassen und diese mit dem Public Key überprüfen. Damit wird eine Simulation des Dongles, wie in der Vergangenheit des Öfteren praktiziert, unmöglich. Bei der neuen Donglegeneration ist derzeit nur ein Weg für die Umgehung des Dongles bekannt. Dazu muss die Applikation dekompiliert werden, und die Dongleabfragen müssen so aus der Applikation entfernt werden, dass die eigentliche Funktion nicht beeinträchtigt wird. |
Da bleibt dann nur noch übrig, Programmteile, bzw Variablen mit dem Schlüssel zu veschlüsseln.
Draco schrieb: > Der einzigste Kopierschutz der nicht geknackt werde konnte war Denuvo, > ist aber ja nun mittlerweile auch Geschichte. Und da lief es mit > wechselnden Keys incl. Verifizierung auf dem Server, aus einem Pool. > Aber Denuvo ist ja seit nem Monat auch geknackt. nicht wirklich. sie nutzen immer noch den Aktvierungsserver - standalone soll es immer noch nicht laufen. So wie ich es verstanden habe
Daniel A. schrieb: > https://xkcd.com/488/ Ja, so ist es und nicht anders. Bei PC-Spielen ist der Mist besonders schlimm. Mit Onlineaktivierung und Accountgängelung kann ich mich in der Arbeit genug herumärgern. Wenn schon die Bauteilhersteller Datenblätter nur noch gegen Account herausrücken, hat man irgendwann keine Lust mehr auf diesen Schei*. Daher kauf ich den Mist nicht, fertig. Für mich ist der Verlust verschmerzbar, ich hab noch andere Hobbys. Damit stehe ich übrigens nicht alleine, ich habe z.B. mehrere Kollegen in meinem Alter, die ähnlich denken. Eigentlich gäbe das eine attraktive Zielgruppe ab, sollte man meinen. Geld (in sinnvollen Grenzen natürlich) wäre im Gegensatz zur jüngeren Kundschaft ja vorhanden...
Wenn jemand im Bereich 10-100 Kopien seiner Software verkaufen will, dann ist der Dongle eine gute Wahl. Da braucht auch nicht die ausgefeilteste Verschlüsselungssoftware drauf laufen. Ein kleiner µC der über USB-HID am Rechner hängt kann ein paar Daten die er vom Rechner bekommt mit einem privaten Key und bekannten Verschlüsselungsmethoden crypten und zurück schicken. HID hat den Vorteil keine Treiber zu benötigen. Bei den neueren Windows-Versionen würde auch USB-CDC gehen, da dafür auch keine zusätzlichen Treiber nötig sind. Die Stückzahl allein ist doch klein genug um damit unter dem Radar derer zu bleiben die sich mit großer Energie an das Knacken der Verschlüsselung machen. https://www.mikrocontroller.net/articles/AVR-ISP-Stick Sowas als Hardware würde meiner Meinung nach reichen. Um die Software muss man sich natürlich selber kümmern.
Implementierung eines guten Kopierschutzes erfordert viel Wissen und Erfahrung. Ihr glaubt garnicht was ein guter guter Disassembler wie IDA pro alles zum Vorschein bringt. Man kann da viele Fehler machen. Was ich schon gesehen habe: - Vergessen die Funkt. Namen im exe File auszuschalten. - Verschlüsseler genommen der leicht zu googeln ist (TEA mit Beispiel key benutzt) Google spuckt dann gleich auch noch den Deciper aus wenn man nach den Keys sucht - globaler String für die Reg Nummer Eingabe - Bindung an MAC Adresse oder HDD usw. ist Quatsch da sich das alles in Kurzer Zeit. Patchen lässt. Das Problem bei allen Funktionen sind die MS lib Aufrufe die sich immer einfach finden lassen. Ein guter Kopierschutz muss diese Aufrufe im ganzen Code verteilen. Ja ich habe solche Dinge in der Vergangenheit schon gemacht (auf beiden Seiten). Eine Software fertig zu schreiben und am Schluss die Liz. Abfrage einzubauen ist ein schlechter Weg. Thomas
Thomas schrieb: > Ja ich habe solche Dinge in der Vergangenheit schon gemacht (auf beiden > Seiten). Eine Software fertig zu schreiben und am Schluss die Liz. > Abfrage einzubauen ist ein schlechter Weg. Eine Software für 100 User zu schreiben und mehr Zeit in den Kopierschutz als in die Software selbst zu investieren ist aber auch keine gute Idee. Es geht ja auch nicht immer um den absoluten Schutz sondern auch auf die rechtliche Situation. Nur eine kopierte Software zu verwenden ist da was anderes als wenn die Kopierschutzmaßnahmen aktiv ausgehebelt werden.
http://www.sg-lock.com/de/index.php Kann ich empfehlen. Ist einfach gehalten. - keine Treiber notwendig (da USB HID) - kann mit TEA auf dem Dongle Daten verschluesseln/entschluesseln - hat ein paar Byte internen Speicher Habe ich fuer diverse C++ und JVM Software im Einsatz. Bisher keinerlei Probleme. Support war auch sehr motiviert als ich ein paar Detailfragen klaeren wollte. Fuer den normalen Betrieb habe ich den aber nie gebraucht.
Gästchen schrieb: > Bei PC-Spielen ist der Mist besonders schlimm. Allerdings. Ich würde gerne deutlich mehr Spiele spielen, aber wenn ich dafür so einen dämlichen Account anlegen muss, hab ich schon keinen Bock mehr drauf. Und wenn man dann in Zukunft für die Spiele Windows 10 braucht, hat sich's für mich sowieso erledigt, denn wenn ich das irgendwo nutze, lasse ich es nicht ans Internet, womit vermutlich >95% aller aktuellen Spiele schon mal gar nicht mehr nutzbar sind. An mir hat die Spielindustrie durch diesen Online- und Account-Zwang auf jeden Fall Geld verloren. > Mit Onlineaktivierung und Accountgängelung kann ich mich in der Arbeit > genug herumärgern. Wenn schon die Bauteilhersteller Datenblätter nur > noch gegen Account herausrücken, hat man irgendwann keine Lust mehr auf > diesen Schei*. So geht's mir auch. Überall grassiert das gerade. Man klickt auf den Link, der da heißt "Download now", und statt zum versprochenen Download kommt man zu einer Login-Seite, auf der man sich erstmal so einen Schei* Account anlegen muss, um erst danach dann zum Download zu kommen.
temp schrieb: > Thomas schrieb: >> Ja ich habe solche Dinge in der Vergangenheit schon gemacht (auf beiden >> Seiten). Eine Software fertig zu schreiben und am Schluss die Liz. >> Abfrage einzubauen ist ein schlechter Weg. > > Eine Software für 100 User zu schreiben und mehr Zeit in den > Kopierschutz als in die Software selbst zu investieren ist aber auch > keine gute Idee. Es geht ja auch nicht immer um den absoluten Schutz > sondern auch auf die rechtliche Situation. Nur eine kopierte Software zu > verwenden ist da was anderes als wenn die Kopierschutzmaßnahmen aktiv > ausgehebelt werden. Und wenn es eine teure Software in so kleinen Verkaufs-Stückzahlen ist, finden sich vermutlich in der Zielgruppe eher weniger die Hobby-Hacker, die den Kopierschutz zum Spaß entfernen. Meist sind das eher Leute, die es kopieren, wenn das einfach so geht. Wenn man aber da Aufwand treiben muss, kaufen sie es lieber.
So'n Dongle hat viel von dem was wir hier sehr gerne "Monkey-Island-Protection" nennen. Wer das Spiel nicht kennt: In dem Spiel wird der Spieler immer wieder von Kannibalen gefangengenommen, die jedesmal wenn er ausbricht die Tür mit irgendwas ersetzen das sicherer ist, angefangen von 'nem Lattenverhau mit Speeren davor bis am Ende die ultimative Panzerstahltüre steht. Der Spieler entkommt jedoch einfach durch ein Loch in der Holzhütte, die sich natürlich nicht verändert. Weil dort ja keiner rein oder raus soll. Und ähnlich verhält es sich gern mit solchen "Sicherungen". Da wird dann nicht die Tür geknackt. Da schnitzt man sich halt einfach ein Loch in die Papierwand, sprich, man umgeht einfach die Dongle-Abfrage und pfeift einfach auf den Dongle. Sprich, sofern Du nicht weißt wie Du Dein Programm dagegen schützen kannst, dass man den Dongle einfach aus dem Ablauf entfernt, ist das Ding nur 'n sehr teurer Briefbeschwerer. Und je nach Größe eignet's sich nicht mal dafür.
Es geht darum das sich der Mohr beim aufweiten seines Loches die Fingernägel blutig kratzt. So einfach ist das nicht, es ist eine schlimme Forschungsarbeit, die mehr Aufwand kosten kann, als das Ding der Begierde zu erwerben. Zumal man bei so einem hochwertigen Produkt das gedongelt wurde, nun keinen Support oder Updates mehr zu haben sind.
NAN schrieb: > http://www.sg-lock.com/de/index.php > > Kann ich empfehlen. Ist einfach gehalten. > > - keine Treiber notwendig (da USB HID) > - kann mit TEA auf dem Dongle Daten verschluesseln/entschluesseln > - hat ein paar Byte internen Speicher > > Habe ich fuer diverse C++ und JVM Software im Einsatz. Bisher keinerlei > Probleme. Support war auch sehr motiviert als ich ein paar Detailfragen > klaeren wollte. Fuer den normalen Betrieb habe ich den aber nie > gebraucht. Genau den hab ich gemeint als ich von TEA gesprochen habe. 1 h IDA pro und das Ding war Geschichte lag aber nicht am Dongle sondern am Programmierer der sein Programm schützen wollte.. Wie gesagt ich kenne beide Seiten. Die neue Variante mi 2k Speicher ist wirklich gut wenn man Speicher sinnvoll benutzt. Thomas
Mach's doch ganz einfach und verschicke über ein Online-Dings Lizenz-Zertifikate. Wenn der User einen neuen PC hat, läd er sein gekauftes Benutzer-Lizenz-Zertifikat (also den public key) in einem Online-Formular hoch und bekommt auf seine Mail-Addresse das neue Unlock-Zert für die Software (die dann gegen den Benutzer Private-Key und deinen Software-Public-Key gegenprüft). Beim jedem Update gibts für die alten Unlock-Lizenzen ein Revoke-Zertifikat mit gut ists. Stellst du die Entwicklung ein, gibt du allen ein Universal-Zertifikat und niemand wird dir böse sein. Wenn du bei einer Benutzer-Lizenz nach jedem Update viele neue Lizenzanfragen rausgehen, weißt du wer kopiert. Dem stellst du dann eine ganz neue Benutzer-Lizenz aus und erklärst ihm er soll auf seine Daten aufpassen. Sowas lässt sich mit SSL Zertifikaten recht schön machen Dongles sind Mist... Son Hardlock hat mich letztens eine Woche (im Debugger 16bit x86 opcodes-lesend) gekostet um eine 16bit Windows 3.1 Software in der Dosbox zum rennen zu bekommen... §%§$%§$% Parallelport Dongles... 73
An den Weihnachtsmann: Verdongelung für zu erwartende 5 bis 10 oder sehr optimistisch bis zu 100 Programm-Exemplare? Mir kommt das vor wie eine absolut nicht tragfähige Geschäftsidee. Was soll denn dabei rausspringen? 5..10 mal 100 Euro? oder 1000 Euro? oder reichen die Luftschlösser noch weiter nach oben? Entweder macht man vorher nen Vertrag mit den 5..10 Leuten und liefert denen eine jeweils personifizierte Version aus (also 5..10 mal Übersetzungslauf...), oder man liefert ihnen eine echte Problemlösung, also nicht bloß ne Software, sondern eine Maschine nebst Software - oder man pfeift auf diese Geschäftsidee und verschenkt die 5..10 gebrutzelte CD's. Es haben schon ganz viele Programmeschreiber gedacht, ihre Idee sei weltumwerfend und deshalb exorbitant wichtig, so daß man die höchsten Phantasiepreise dafür fordern kann. Aber alle anderen Leute sehen das wie immer ganz anders. Mach dein Zeugs billig, so daß jeder echte Profi ohne jegliches Zucken den Preis zahlen wird. Zwingen kannst du hingegen niemanden, das solltest du dir merken. Und alle Sonstigen, die eher unter die Rubrik Bastler und Schrauber fallen, sind keine wirkliche Kundschaft. Glaub mir, niemand läßt sich freiwillig nen Ring durch die Nase ziehen und anketten. Hätte z.B. Cadsoft sich nicht beizeiten den Dongle-Schmarrn abgewöhnt, dann würde heutzutage niemand mehr Eagle kennen. W.S.
W.S. schrieb: > An den Weihnachtsmann: Glaubst Du im Ernst, dass der hier nach elf Jahren noch mitliest?
http://www.golem.de/news/copyright-klage-gegen-us-marine-wegen-558-466-mal-softwarepiraterie-1607-122286.html Das passiert wenn man den Kopierschutz seiner Software für den Kunden deaktiviert damit er es "testen" kann :-)
W.S. schrieb: > Es haben schon ganz viele Programmeschreiber gedacht, ihre Idee sei > weltumwerfend und deshalb exorbitant wichtig, so daß man die höchsten > Phantasiepreise dafür fordern kann. Aber alle anderen Leute sehen das > wie immer ganz anders. Aus meinem Berufsleben kenne ich es eher so, dass irgendeine Heizdüse im Management unbedingt einen Kopierschutz haben will; die Programmierer hingegen keine Lust haben den Blödsinn einzubauen. Werden die Programmierer, wie üblich, überstimmt, dann wird ziemlich lustlos etwas eingebaut, was formal den Anforderungen entspricht. Ich kann mich in mehreren Jahrzehnten nicht erinnern an einem Projekt beteiligt gewesen zu sein, in dem die Programmierer ernsthaft das Rennen gegen Kopierschutzhacker aufgenommen haben. Am schönsten ging die Nummer immer schief, wenn eine Heizdüsen Lizenzschlüssel haben wollte. Dabei wurde regelmäßig vergessen, oder die Hinweise wurden ignoriert, dass es über Jahre hinweg eine Instanz geben muss, die den Schlüsselgenerator hat, Schlüssel generiert und sie verwaltet. Dann wird es richtig lustig wenn das Produkt verkauft wird, doch niemand die Schlüssel generieren kann :-) Was haben wir gelacht :-) PS: Ein Kumpel von dem eevblog-Typen ist damit reich geworden für grenzwertig legitime Anwendungen wie auch für "dubiose Typen" die Seriennummern von analogen Mobilfunk-Telefonen zu hacken. Ab 0:43:10 berichtet er ziemlich freimütig darüber wie das so lief (irgendwann hat er seine eigenen Dongles gebaut): http://www.theamphour.com/294-live-from-serbia-with-mike-harrison/ (an das Englisch muss man sich gewöhnen).
:
Bearbeitet durch User
Ich verwende das hier als Dongle, in einem 3D-gedruckten Gehäuse. Kostet 5 Euro und nur Hardware-Spezies wissen, was dahinter steckt, 99,5% der Gelegenheits-Kopierer/Cracker nicht ... das genügt meinen Ansprüchen. http://dougal.gunters.org/wordpress/wp-content/uploads/2013/02/2013-02-06-09.44.47.jpg Über den gesamten Programmcode sind (unterschiedliche) Abfragen eingebaut, die korrekt algorithmisch beantwortet werden müssen.
:
Bearbeitet durch User
Du kannst den Baustein aber auslesen, wenn Du ihn nicht gefused hast, und der Baustein ist genau das was jeder Dongle inne hat, bissel wenig Speicher aber genau so erfüllen sie sämtliche Anforderungen die Atiny85 Avr's http://www.visiongrid.de/keymandongle.html Grüße K aus B
Karsten S. schrieb: > Du kannst den Baustein aber auslesen, wenn Du ihn nicht gefused hast, > und der Baustein ist genau das was jeder Dongle inne hat, bissel wenig > Speicher aber genau so erfüllen sie sämtliche Anforderungen die Atiny85 > Avr's > > http://www.visiongrid.de/keymandongle.html > > Grüße > K aus B Da muss man aber schon nahe an wahnsinnig sein den in einem kommerziellen Projekt zu verwenden. Ein von V-USB angeleitetes Interface ... Zur Erinnerung, V-USB versucht USB in Software zu emulieren und widerspricht dabei der USB-Spezifikation. Zuverlässigkeit geht anders.
Hannes J. schrieb: > Da muss man aber schon nahe an wahnsinnig sein den in einem > kommerziellen Projekt zu verwenden. Bei Stückzahlen von um die 100 hätte ich da keinerlei Bedenken. Großserie ist natürlich was anderes.
temp schrieb: > Bei Stückzahlen von um die 100 hätte ich da keinerlei Bedenken. Was hat die Stückzahl mit der Zuverlässigkeit zu tun? Je weniger Kunden du hast, desto weniger kannst du dir es leisten, dass der Kopierschutz ihnen Ärger macht.
:
Bearbeitet durch User
Draco schrieb: > 10 Jahre! ZEHN JAHRE!!!!! Das grenzt ja schon an Nekrophilie!! Für Werbung ist jedes Mittel recht... Kann aber auch Zufall sein, dass im Impressum von VisionGrid ist ein Karsten Schulz "aus B" genannt wird.
Werbung schrieb: > Kann aber auch Zufall sein, dass im Impressum von VisionGrid ist ein > Karsten Schulz "aus B" genannt wird. Haha :D +1 dafür :)
Hallo, > Da muss man aber schon nahe an wahnsinnig sein den in einem > kommerziellen Projekt zu verwenden. Ein von V-USB angeleitetes Interface > ... Zur Erinnerung, V-USB versucht USB in Software zu emulieren und > widerspricht dabei der USB-Spezifikation. Zuverlässigkeit geht anders. Also V-USB hat sehr schön das Tunen des OSCCAL beschrieben, in Bezug auf die +A -B Ader des USB Ports, hier wird mit Interrupt, genau auf den Transfer reagiert. Sendet man nun einen Satz von Deskriptoren meldet sich so ein Gerät völlig Konform am USB Gerät und selbstverständlich dem Standard entsprechend ohne fremde Treiber als HID Gerät an! Das funktioniert sogar unter Linux oder sonstigen Systemen, der Atiny85 ist mit der erste Ansprechpartner bei 20 Mhz Taktrate um diese Aufgabe völlig professionell zu lösen. Daher kann man den Interrupt Handler mit der Osc Kalibration aus dem V-USB anwenden, es ist ein sehr sicherer Weg den Dongle so anzumelden, das Gerät ist nach dem Einstecken binnen 100[MS] noch vor dem Windows Soundsignal ansprechbar. Die Übertragung basiert auf 128 Bit Verschlüsselung, damit blockst Du eine Emulation vollständig ab, insbesondere wenn so ein Gerät nicht nur verschlüsselt sondern auch andere Aufagben behandelt und im ständigen Dialog mit dem Host ist, hier ist nicht der Entwickler wahnsinnig , sondern der Jenige der versucht diese Vorgänge durch Back- Engenierig auflösen zu wollen, das ist garantiert ! Eine wunderbare professionelle Lösung ist das, und ein Bastler stellt das mal ebend auch nicht her, dies hat auch nichts mit Libusb oder Sonstigen Arduino Aktionen zu tun. Das Board von Digispark ist inzwischen ein gängiges Standard -Design und hat eine längere Entwicklungsgeschichte. So ein "gefuster" Baustein kann nur noch durch Abschleifen, und dann mit dem Röntegenmikroskop ausgelesen werden , Bitweise. Die CIA oder andere Dienste sind dann Ansprechpartner um den Datenstand zu erlangen. Das reicht viele male aus, um Software zu schützen, zu schalten und zu walten, um spezialisierte Software damit zu Personalisieren. Z.b wird das von FlexxVision verwendet für die automatische Bildverarbeitung PatControl: http://flexxvision.de/PatControl.html Bzw. : http://www.flexxvision.de/konnektivitaet.html#a1888 Also alles fein . Grüsschen Karsten.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.