Kopierschutz für EA`s bzw. MQL

 

Hallo zusammen,



Ich möchte meine EA`s verkaufen aber ich möchte sie vorher noch mit einem Kopierschutz versehen.

Entweder möchte ich die EA's mit dem jeweiligen PC oder mit dem Handelskonto verbinden.


Kann hier jemand eine Lösung empfehlen, mit der er gute Erfahrungen hat?

 

Biete sie doch über den Market an?

Nicht nur, dass der Code jetzt gegen Dekompiler geschützt ist, Metaquotes biete noch einen weiteren Schutz an:

https://www.metatrader5.com/en/metaeditor/help/development/mql5_cloud_protector.

Der Market ist so gestaltet, dass gekaufte EAs ... nur auf einem PC auf den sie heruntergeladen wurden laufen, weiter verkaufen oder verschenken.. geht nicht . Die Dinger laufen nicht einmal auf Linux(wine) oder MAC(auch wine).

Advanced Protection for Programs - Creating Programs - MetaTrader 5
Advanced Protection for Programs - Creating Programs - MetaTrader 5
  • www.metatrader5.com
Executable files EX4/EX5 are reliably protected from compilation. MQL5 Cloud Protector provides an advanced protection level for your applications. A similar method is used in the largest store of trading applications MetaTrader Market, where the EX4/EX5 product files submitted by sellers are additionally compiled to native code. The only...
 
Danke aber ich plane einen anderen Vertriebsweg. Kann jemand Lösungen vorschlagen?
 
Marcel Rohrbeck:
Danke aber ich plane einen anderen Vertriebsweg. Kann jemand Lösungen vorschlagen?

Guten Tag Marcel,

ich schützte Programme über verschiedene Wege:

- Accountnummer, der Kunde gibt seine Kontonummer(n) an und Du schreibst diese in den EA ein

- Accountname vom Kunden, somit Kontounabhängig, beachte jedoch das jeder Broker den Namen etwas anders schreibt

Kleines Beispiel:

int AccountNummer = 0; //oder eine Kontonummer

   if( AccountNummer && AccountNumber() != AccountNummer ) {
      Print("Lizenz Fehler"); Comment("\nLizenz Fehler"); Sleep(10000); ExpertRemove();
   }
 
Peter:

Guten Tag Marcel,

ich schützte Programme über verschiedene Wege:

- Accountnummer, der Kunde gibt seine Kontonummer(n) an und Du schreibst diese in den EA ein

- Accountname vom Kunden, somit Kontounabhängig, beachte jedoch das jeder Broker den Namen etwas anders schreibt

Kleines Beispiel:

Hi Peter,



danke, dass ist ein sehr guter Hinweis.


Synchron dazu habe ich folgende Lösungen ins Auge gefasst:


1. MQLock.com

2.jmi8.com


Hat jemand Erfahrungen mit den beiden Lösungen? Im Moment würde ich MQLock.com bevorzugen da hier keine hohe Anschaffung nötig ist (20 $ im Monat) wobei für jmi8.com wieder die geringe Abhängigkeit durch eine lokalen Software gegeben ist.

Mein Pro und Contra würde so aussehen:


Pro MQLock:

- Geringe Anschaffungskosten

- Verschiedene Möglichkeiten der Sicherung (CID + Account + Rechnungsnummer)

- Onlineverwaltung

Contra MQLock:

-Abhängigkeit vom Hersteller durch fehlende lokale Software

- Kaum Reputation im Web zu finden. Auf sind viele Videos auf der Website offline


Pro Jmi8.com:

-lokale Software (downloadbar)

-Setup.exe erstellbar, die für den Kunden die Installation des EA`s übernimmt

- zeitlich befristete Testversion einstellbar


Contra Jmi8.com:

- Kaum Reputation im Web zu finden

- hohe Anschaffungskosten (399$-599$)

- Lizenssicherung nur durch CID


Was sagt Ihr?

 
Marcel Rohrbeck:

Hallo zusammen,

Ich möchte meine EA`s verkaufen aber ich möchte sie vorher noch mit einem Kopierschutz versehen.

Entweder möchte ich die EA's mit dem jeweiligen PC oder mit dem Handelskonto verbinden.

Kann hier jemand eine Lösung empfehlen, mit der er gute Erfahrungen hat?

Warum willst du deine EAs (und wieso gleich mehrere?) verkaufen? Sind sie nicht profitabel und brauchst deshalb Kohle?


 
Mach es über DigiStore24. Dort gibt es eine API, mit der du überprüfen kannst, ob der Kunde bezahlt hat oder nicht, wenn das z. B. im Abo läuft oder auch per Kauf darüber getätigt wurde. Die BestellID ist dem Kunden zugeordnet. MQLLock braucht kein Mensch, das war nur bei alten MT4 Kompilaten sinnvoll. 
 
Doerk Hilger:
Mach es über DigiStore24. Dort gibt es eine API, mit der du überprüfen kannst, ob der Kunde bezahlt hat oder nicht, wenn das z. B. im Abo läuft oder auch per Kauf darüber getätigt wurde. Die BestellID ist dem Kunden zugeordnet. MQLLock braucht kein Mensch, das war nur bei alten MT4 Kompilaten sinnvoll. 
Otto Pauser:

Warum willst du deine EAs (und wieso gleich mehrere?) verkaufen? Sind sie nicht profitabel und brauchst deshalb Kohle?



Hallo zusammen,


danke für eure Anteilnahme aber leider sind beide Antworten doch mehr oder weniger Off-topic.

Wie gesagt, ich such eine vertrauensvolle und am besten schon getestete Kopierschutzlösung für meine MQL`s. Digistore24 ist eine Vertriebsplattform. Die bringt mir gar nichts wenn es um das Thema Kopierschutz geht denn was hindert den Kunden daran die ex4 zu dekompilieren, die Urheberrechtsangaben zu entfernen und als "von einem selbst" zu verkaufen? Eine API die prüft ob der Kunde bezahlt hat....wohl eher nicht...

Ich kann die folgende Aussage nicht nachvollziehen:

"MQLLock braucht kein Mensch, das war nur bei alten MT4 Kompilaten sinnvoll."


Wie kommst du darauf? Via Mqlock kann online Userrightmanagement betreiben was bedeutet, dass nur die Personen bzw. Accounts den EA nutzen können, die ich dort eintrage. Wenn ich Daten entferne, sind die EA`s nicht mehr nutzbar.

An und für sich finde ich schon das das sehr sehr sinnvoll ist, oder ?

 

Seit MQL4-b600 oder später gibt es keinen Decompiler mehr. Es wohl ginge nur, wenn man einen reinen C-Decompiler verwendet und dann den Maschinencode erhält - begegnet ist mir das aber noch nicht!

Von daher denke ich sind:

MQLock.com
jmi8.com

überflüssig (Angst erzeugen, dann Geld machen - probates Mittel mancher Parteien!)

Was diese Form des Schutzes auch nicht verhindert ist:

  1. Positions-Kopierer (tradecopier - gibt's sogar im Market!)
  2. Die Positionen des Backtests mit den Indikatoren vergleichen, bis man die Signale entschlüsselt hat, Stichwort Reverse-Engineering: https://de.wikipedia.org/wiki/Reverse_Engineering
 
Carl Schreiber:

Seit MQL4-b600 oder später gibt es keinen Decompiler mehr. Es wohl ginge nur, wenn man einen reinen C-Decompiler verwendet und dann den Maschinencode erhält - begegnet ist mir das aber noch nicht!

Von daher denke ich sind:

MQLock.com
jmi8.com

überflüssig (Angst erzeugen, dann Geld machen - probates Mittel mancher Parteien!)

Was diese Form des Schutzes auch nicht verhindert ist:

  1. Positions-Kopierer (tradecopier - gibt's sogar im Market!)
  2. Die Positionen des Backtests mit den Indikatoren vergleichen, bis man die Signale entschlüsselt hat, Stichwort Reverse-Engineering: https://de.wikipedia.org/wiki/Reverse_Engineering

Ok, aber (nochmal) was sind gescheite Lösungen? Wie gesagt:

Entweder möchte ich die EA's mit dem jeweiligen PC (Hardware) oder mit dem Handelskonto verbinden.

Kann hier jemand eine Lösung empfehlen, mit der er gute Erfahrungen hat?


Der beste Vorschlag kam dazu bisher von "Peter".

 

Ich kann dir sowas anbieten, hab ich alles.

Code den du in deine MQL4/MQL5 einbindest für Einzellizenzen:

                                       // "unlimited" oder "unbegrenzt" ist für ALLE Optionen gültig.
#define Expires  "Unlimited"           // Ablaufdatum im Format "JJJJ.MM.DD"
#define LizenzNr "Unlimited"           // eine oder mehrere Lizenznummern als CSV-String "673601, 673602, 673603"
#define AccType  "Unlimited"           // Account Type :  "RealAccount", "DemoAccount"
#define xTESTMODE                      // Für Realbetrieb diese Zeile löschen oder ändern auf zB #define noTESTMODE bzw #define xTESTMODE
                                       // ist TESTMODE definiert wird keinerlei Prüfung durchgeführt
                                       // jetzt ist TESTMODE deaktiviert und die Lizensierung nicht scharfgestellt

/************** Anleitung zum Lizensierungsmodul *********************

Anleitung ist hier natürlich nicht dabei, das würde den Rahmen sprengen.

Für die obigen Sicherungsmöglichkeiten ist eine Neukompilierung pro Lizenz  erforderlich. Da die Lizenz in einer separaten mqh eingetragen wird ist das sehr simpel.

Lizenz Fernabfrage, die besonders elegante Variante.

Habe ich auch fertig, benötigt einen Webhoster mit simpler Datenbank und php-Script, und eine Library, die im MQL4/MQL5 eingebunden wird.

Ich hoffe das war jetzt nicht OT, bei Interesse findest du mich auf Skype oder per PN

LG, Otto

Grund der Beschwerde: