|
|
Matlab Compiler: .EXE Date z. B. als 30 Tage Version |
|
ratm |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.02.2011, 16:21
Titel: Matlab Compiler: .EXE Date z. B. als 30 Tage Version
|
|
Hallo zusammen
Habe leider mittels der Suchfunktion kein ähnliches Thema gefunden, weshalb ich einen neuen Thread eröffne.
Ich habe mit Hilfe von GUIDE eine GUI erstellt und möchte dies mit dem Matlab Compiler als .EXE Datei erstellen sowie anschliessend an Kunden verteilen. Nun stellt sich mir die Frage, ob es eine einfache Möglichkeit gibt, dass mein Programm, die .EXE Datei, bei den Kunden z. B. nur für 30 Tage läuft und anschliessend nicht mehr funktioniert? Gibt es dazu einen einfachen Trick?
Besten Dank bereits im Voraus. Liebe Grüsse
Roman
|
|
|
|
|
outsider |
Forum-Meister
|
|
Beiträge: 806
|
|
|
|
Anmeldedatum: 03.09.07
|
|
|
|
Wohnort: München
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 08.02.2011, 19:08
Titel:
|
|
Wenn Du die EXE mit der DEMO(!)-Version des MATLAB Compilers erzeugst, dann ist die kompilierte EXE auch zeitlich begrenzt lauffähig.
Noch einfacher (aber auch einfach zu knacken) wenn Du eine simple Zeitabfrage einbaust. Kannst auch probieren die Anwendung an die Seriennummer der Festplatte zu binden, so dass diese nur auf diesem Rechner läuft. Ich würde sagen je klevere der Kunde, bei dem Deine Applikation geschützt werden soll, desto mehr Aufwand müsstest Du reinstecken um Dein Programm zu schützen.
MfG
|
|
|
ratm |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.02.2011, 19:15
Titel:
|
|
Hallo outsider
Herzlichen Dank für deine rasche Antwort. Ja, eine simple Zeitabfrage kam mir auch schon in denn Sinn. Ich hoffe jedoch, dass es auch eine etwas professionellere Möglichkeit gibt Das mit der Festplatte fällt jedoch weg, da es genau der Sinn ist, dass der Kunde zuerst das Programm auf seinem Rechner testen kann.
Nebenbei, bist du sicher dass die mit der Demo Version erstellten Anwendungen zeitlich beschränkt sind? Gemäss Auskunft des Matlab Support ist die 30 Tage Version ohne dergleichen Einschränkungen.
Liebe Grüsse
Roman
|
|
|
outsider |
Forum-Meister
|
|
Beiträge: 806
|
|
|
|
Anmeldedatum: 03.09.07
|
|
|
|
Wohnort: München
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 08.02.2011, 20:24
Titel:
|
|
Zitat: |
Nebenbei, bist du sicher dass die mit der Demo Version erstellten Anwendungen zeitlich beschränkt sind? |
Absolut sicher!
Zitat: |
Gemäss Auskunft des Matlab Support ist die 30 Tage Version ohne dergleichen Einschränkungen. |
Das glaube ich Dir nicht! Es gibt in der Demo-version keine Einschränkungen bzgl. des Funktionsumfangs, aber die kompilierte Anwendung ist definitiv zeitlich begrenzt (und genau zu sein - auf genau 30 Tage limitiert)
MfG
|
|
|
Andreas Goser |
Forum-Meister
|
|
Beiträge: 3.654
|
|
|
|
Anmeldedatum: 04.12.08
|
|
|
|
Wohnort: Ismaning
|
|
|
|
Version: 1.0
|
|
|
|
|
|
Verfasst am: 08.02.2011, 20:50
Titel:
|
|
|
|
|
Ich nehme an, dass der MathWorks Support in Referenz auf diesen Artikel geantwortet hat:
http://www.mathworks.com/support/so.....1-TA550/?solution=1-TA550
Demnach würden die mit der Testversion erstellten Applikationen uneingeschränkt lauffähig bleiben. Ich erinnere mich, dass das zumindest zum Zeitpunkt an dem o.g. Artikel erstellt wurde so war, denn es gab Bedenken, dass Personen unter dem Vorwand einer Demo viele Applikationen erfolgreich erstellen - und dann trotzdem nicht kaufen. Diese Befürchtung hat sich nicht bestätigt, da Kunden dauerhaftes Nutzungsinteresse haben.
Nun kann sich das in den letzten Jahren geändert haben. Ich bitte ratm mich persönlich zu kontaktieren, so dass der Support das noch einmal überprüft. Ich werde dann auch das Ergebnis hier einstellen und ggf. o.g. Solution ändern.
Wie auch immer halte ich es nicht für praktisch, wenn man seine Applikationen mittels einer Testversion ablaufen lässt. Soll ratm für jeden Kunden / Interessenten eine Testversion beim MathWorks Vertrieb anfragen?
Andreas
|
|
|
ratm |
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 08.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.02.2011, 22:19
Titel:
|
|
Um nochmals Klarheit zu schaffen: Es ist natürlich nicht die Idee die Applikation mittels der Demoversion zeitlich ablaufen zu lassen. Vielmehr dachte ich an eine Funktion des Compilers selbst oder eine etwas sicherere Variante bzgl. der Datumsprüfung.
Ich werde dich per PN kontaktieren, Andreas.
Liebe Grüsse
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 08.02.2011, 23:38
Titel: Re: Matlab Compiler: .EXE Date z. B. als 30 Tage Version
|
|
|
|
|
Hallo ratm,
Ich hatte mit einer 2009a-Trial-Version eine Funktion per mcc kompiliert. Im Command-Winodw erschien die Nachricht, dass das kompilierte Programm nur eine begrenzte Laufzeit hat (ich glaube 30 Tage, vielleicht aber auch nur so lange wie die Test-Version - ist schon etwas her...).
Zeitabfragen, Seriennummern der Harddisk, MAC-Adresse der Ethernet-Karte - die Standardversuche um Software in der Benutzbarkeit zu limitieren. Schwierig ist es nicht, solche Tests zu umgehen. Wenn die Software teuer ist, wird das auch jemand versuchen, und schaffen.
Die Methode von Andreas' Link ist nicht sicher: Ein P-coded File kann man zwar nicht in lesbaren Code zurückübersetzen, aber es ruft ja externe Matlab-Funktionen auf, so dass man den Programmablauf leicht von aussen beeinflussen kann. Ein C-Mex wäre schon sicherer. eine Online-Abfrage ist zuverlässig, wenn die Kommunikation verschlüsselt abläuft. Einfach nur per URLREAD zu testen, ob eine bestimmte HTML-Seite auffindbar ist, läßt sich schnell identifizieren und umgehen, indem man die TCP-IP-Kommunikation lokal umleitet und einfach falsche Antworten von Hand einspielt.
Das einzige wirklich funktionierende bleibt ein Hardware-Dongle, z.B. CodeMeter oder HASP.
Viel Erfolg, Jan
|
|
|
Andreas Goser |
Forum-Meister
|
|
Beiträge: 3.654
|
|
|
|
Anmeldedatum: 04.12.08
|
|
|
|
Wohnort: Ismaning
|
|
|
|
Version: 1.0
|
|
|
|
|
|
Verfasst am: 09.02.2011, 11:29
Titel:
|
|
|
|
|
Kurzversion der Antwort: Mit der Trial-Version erstellten Applikationen laufen aus, der MATLAB Compiler selber hat aber kein Feature welchse das gezielt erzeugen kann.
Langversion:
Ich habe der existierenden Solution
http://www.mathworks.com/support/so.....1-TA550/?solution=1-TA550
folgenden Text hinzugefügt:
"Note that when working with a trial of MATLAB Compiler, the stand-alone applications created are time limited, but there is no feature in the MATLAB Compiler product that leads to a stand-alone application that is time limited."
Dieser Text wird innerhalb von 1-2 Tagen auch online erscheinen. Weiterhin habe ich eine bestehende Solution mit u.a. folgedem Text
"This problem occurs if the deployed application was compiled using a trial version of the MATLAB Compiler. When an executable is a created using a trial version of the compiler, the executable works for a duration of 30 days from the creation date."
online geschaltet. Aus einem unbekannten Grund stand diese auf "intern". Auch dieser text wird in Kürze online erscheinen:
http://www.mathworks.com/support/so.....4OROJL/?solution=1-4OROJL
Andreas
|
|
|
Peter Quint |
Forum-Fortgeschrittener
|
|
Beiträge: 95
|
|
|
|
Anmeldedatum: 21.02.11
|
|
|
|
Wohnort: Lübeck
|
|
|
|
Version: R2010b
|
|
|
|
|
|
Verfasst am: 22.02.2011, 07:45
Titel:
|
|
|
|
|
Aus dem Link:
Hmm... also die Lösung würde zwar funktionieren, aber eins verstehe ich nicht:
Wozu braut man eine geschütze "key"-Datei? Man sollte dann den gesammten Code schützen, da man ansonsten ja einfach die Zeilen mit der Prüfung gelöscht werden muss. Ist es eigentlich so einfach eine compilierte Datei zurück in Quellcode zu formatieren? Ich bezweife dies.
Außerdem würde mir die Lösung nicht gefallen, da man an dem Rechner ja einfach nur das Datum zurückschrauben muss (wie bei ganz alter Software ) Die Trial-Version starten auch nicht nach der installation/ersten Benutzung sondern je nach key-File.
Ich würde folgendes machen:
Bei Vergabe der Software eine Aktivierungsnummer mitgeben. Nach der Installation sendet das Programm diesen Code an deinem heimischen Server und dieser gerneriert (fals die Nr. noch nicht eingeben wurde) einen Key den da Programm bei jedem Start vom Server abgleicht.
Dann kann man nichts mit der Uhr verstellen.
Wenn man die Möglichkeiten eines Servers hat, gibt es wahrscheinlich unzählige elegantere und sicherer Möglichkeiten..
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|