Ja wirklich recht teuer, der ProtectEx4.
Grundsätzliche Frage:
- Was soll hier Ziel des Schutzes sein?
a) soll nur der Quellcode (also die ex4 gegen decompilieren) geschützt werden?
oder:
b) oder soll es auch ein Schutz gegen Weitergabe an Dritte geben (wenn der EA einmal irgendwo zum Download steht, ist er quasi weltweit von jedem nutzbar)
Wenn b):
- dann ist eine Art Lizensierung für jedes Exemplar (bzw. jeden Account) nötig.
-> dies bedeutet Aufwand, irgendjemand muss für jeden Nutzer seinen persönlichen EA erstellen.
Wollen wir das?
Schutz durch DLL:
- es gibt dann 1 ex4-Datei und eine DLL-Datei
- die ex4-Datei ruft Funktionen der DLL auf
- u.a. eine Lizens-Funktion, mit entsprechenden persönlichen(?) Parametern
- gibt die Lizens-Funktion ein OK zurück, läuft der EA ganz normal
- gibt die Lizens-Funktion kein OK zurück, mogelt jemand, also der EA läuft nicht, Fehlermeldung usw.
- die DLL zu programmieren liegt ganz bei uns, sollte in C/C++ geschieben werden (z.B. MS Visual C++)
- die kompilierte DLL ist dann nicht so einfach wie eine ex4-Datei zu decompilieren (je größer diese ist, um so sicherer)
- Schutz gegen Debugging (also Hack-Versuche) sind auch möglich
- wenn man so vorgeht, läuft das ganze nur im Verbund aus ex4 und dll
- jedoch ist die ex4-Datei immer noch decompilierbar
-> d.h. es wäre dann ungünstig die gesamte Strategie in der ex4-Datei (mql-Code) zu haben. Ein Großteil der Strategie sollte dann in den C/C++-Code (also in die DLL) wandern.
- natürlich können wir weiterhin Indikatoren im mql-Code verwenden.
- wenn die ex4-Datei zusätzlich (preiswert) noch zu schützen geht, wäre das sicher die Krönung.
- Bleibt zu hoffen, das wir etwas zustande bekommen, was auch schützenswert ist.
apalac