Diskussion zum Artikel "Schutz von MQL5-Programmen: Passwörter, Schlüssel, Zeitbegrenzung, Berechtigungsfernabfrage" - Seite 5

 

und, was sagt Dir das: " License server not connected. " ?

Übrigens kennst Du: https://www.mql5.com/en/forum/432897?

Eine einfache Suche nach RemoteProtectedEABase6.

Communicating with an api/custom server using a HTTP request inside of .mq5 indicator code - I'm trying to find out what I was doing with A. Mq5 indicator and Winlet DLL?
Communicating with an api/custom server using a HTTP request inside of .mq5 indicator code - I'm trying to find out what I was doing with A. Mq5 indicator and Winlet DLL?
  • 2022.09.19
  • www.mql5.com
Indicator code: python flask server code: so i was toying with the idea of just using winlet or using something like curl in a c++. In essence a service and a script behave basically the same, but to keep a service alive and running you have to use a loop
 
Carl Schreiber #:

und, was sagt Dir das: " License server not connected. " ?

Übrigens kennst Du: https://www.mql5.com/en/forum/432897?

Eine einfache Suche nach RemoteProtectedEABase6.

und, was sagt Dir das: " License server not connected. " ?

Was es mir sagt? Na was wohl, Keine verbindung ... ich weis nicht was Du mit der Frage bezweckst.

Der verlinkte Artikel ist zwar nett aber hilt mir leider nicht weiter.

WinInet.dll verwende ich.

Mir fällt beim besten wissen nicht ein wo der Fehler sein sollte.

 

Ich habe auch früher mal versucht sockets zu verwenden, bin aber davon abgekommen, weil der server blockiert, bis er was kriegt ...

Es gab auch mal eine Lösung über shared memeory - die habe ich auch nicht hin gekriegt.

Ich würde eine RAM-Disk verwenden und dann mit den Windows-Funktionen (kernel32.dll) dort einfach Dateien schreiben, lesen und löschen, das klappt und ist recht einfach.

 
Carl Schreiber #:

Ich habe auch früher mal versucht sockets zu verwenden, bin aber davon abgekommen, weil der server blockiert, bis er was kriegt ....

Sehe ich das richtig das ich erst alle Daten senden muss und dann fragen soll ob es eine Verbindung gibt?

 

Naja, nach dem Client-Server-Modell wird erst der Server gestartet, denn der wartet auf die Fragen der (vieler) Client(s) und dann der/die Clients.

Im Programm des Servers passiert nix (blockiert) bis etwas von den Clients kommt, dann macht er kurz 'was und fällt dann wieder in seine Warte-Starre.

Such mal nach trade copier in der CodeBase...
 
Carl Schreiber #:

Naja, nach dem Client-Server-Modell wird erst der Server gestartet, denn der wartet auf die Fragen der (vieler) Client(s) und dann der/die Clients.

Im Programm des Servers passiert nix (blockiert) bis etwas von den Clients kommt, dann macht er kurz 'was und fällt dann wieder in seine Warte-Starre.

Ahhh logisch, erst alles senden dann antwortet der Server. In den Fall das der Server eine Antwort gibt besteht die Verbindung und ich kann die Antwort abfragen und entsprechend reagieren. Wenn keine Antwort kommt dann die Meldung " License server not connected. "
 

Deepl sagt dies: https://www.deepl.com/translator#en/de/License%20server%20not%20connected

Die Frage ist jetzt warum? Läuft er? Geschützt? ...

 

Hallo, wie kann ich Element 7 in meinem EA setzen, um die Dekompilierung der ex.5-Datei zu vermeiden?

Haben Sie Code-Beispiele, um dies zu vermeiden?

Könnten Sie das im Detail erklären?

 
Ich danke Ihnen für diesen Artikel.

Letzten Endes geht es bei dieser Debatte darum: "Wie viel Zeit kann ich gewinnen, bevor das Produkt geknackt wird". Das Ziel ist es, das Knacken so teuer zu machen, dass es sich nicht mehr lohnt.

Eine Methode, die man anwenden könnte, ist die Code-Verschleierung. Man benennt jede Variable und Methode in einen zufälligen Namen um. double Signal würde zu double AB1234, double IndicatorValue zu CD1234. Das löst das Problem zwar nicht, bereitet aber demjenigen, der den Code dekompiliert, Kopfzerbrechen. Es macht es wirklich schwer, die Stelle zu finden, an der die Lizenzprüfung durchgeführt wird, um sie möglicherweise zu ändern.

Eine andere Lösung wäre, alles intern zu handhaben, jeder Indikator, jeder Expert Advisor wird nur auf dem Server des Besitzers berechnet. Der Benutzer sendet die Lizenzierung, die Bar-Daten, die Serverzeit usw. an den Server. Der Server antwortet mit einem Indikatorwert oder einer EA-Aktion. Dies allein wäre ziemlich teuer und zeitaufwendig zu implementieren, löst aber die meisten Probleme.

Ich hoffe, dies hat Ihre Neugierde geweckt und konnte Ihnen weiterhelfen.
 
Winged Trading #:

Nur als kleine Anmerkung: In MQL5 entfernt der Compiler bereits Variablennamen, Funktionsnamen und Kommentare, wenn er die .ex5 generiert.

Die ausführbare Datei ist daher bereits ziemlich "undurchsichtig", so dass die Verschleierung durch Umbenennung von Bezeichnern hier nicht wirklich eine zusätzliche Schutzschicht hinzufügt.