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

 

Neuer Artikel Schutz von MQL5-Programmen: Passwörter, Schlüssel, Zeitbegrenzung, Berechtigungsfernabfrage :

Die Mehrzahl der Entwickler benötigt Schutz für ihren Programmcode. In diesem Beitrag werden einige unterschiedliche Möglichkeiten zum Schutz von in MQL5 geschriebenen Programmen vorgestellt, so etwa zur Ausstattung von MQL5-Skripten, automatischen Handelssystemen und Indikatoren mit Zugriffskontrollverfahren. Dazu zählen Passwortschutz, Schlüsselgeneratoren, Zugriffskonten, Zeitbegrenzungsprüfungen sowie der Schutz mittels MQL5-RPC-Aufrufen aus der Ferne.

Passwortschutz

Fangen wir mit dem Elementarsten an. Am häufigsten erfolgt der Schutz von Software mithilfe eines Passwortes bzw. eines Lizenz- oder Berechtigungsschlüssels. Beim ersten Programmaufruf nach der Installation wird der Benutzer zur Eingabe des Passwortes für die betreffende Programminstanz (wie die Seriennummer bei Microsoft Windows oder Microsoft Office) aufgefordert. Nach Eingabe des richtigen Passworts oder Schlüssels ist der Benutzer berechtigt, die angemeldete Programminstanz im Rahmen der Nutzungsbedingungen unbeschränkt zu nutzen. Zur Eingabe des Passwortes können sowohl ein Eingangsparameter als auch ein eingabefähiges Textfeld verwendet werden. Ein Beispiel für einen solchen „Platzhalter“ folgt etwas weiter unten.

In dem Code wird das Feld CChartObjectEdit bereitgestellt, das zur Eingabe des Passwortes genutzt wird. Das von dem Benutzer eingegebene Passwort wird mit den Werten eines vorgegebenen Datenfeldes mit allen zulässigen Passwörtern abgeglichen. Die Passwortprüfung erfolgt mithilfe der Methode OnChartEvent() nach Eintreten des Ereignisses CHARTEVENT_OBJECT_ENDEDIT.


Wird MQL5-Code aus der Maschinensprache zurückübersetzt (dekompiliert), sind selbst die sichersten Schutzmechanismen für erfahrene Datendiebe nicht mehr unüberwindbar. Nachdem ich im Internet etwas herumgesucht habe, fand ich eine Webseite, auf der angeboten wurde, MQL5-Code zu knacken. Aber ich halte das für Schwindel, um von naiven Menschen, die irgendwelchen Code stehlen wollen, Geld abzuziehen. Ich habe es jedenfalls nicht probiert und könnte mich irren. Selbst wenn es so eine Lösung geben würde, sollten wir in der Lage sein, mithilfe der Übertragung der Eingangsparameter in verschlüsselter Form oder der Indizierung der übertragenen Objekte einen noch zuverlässigeren Schutz zu schaffen.


Autor: investeo

 
Vielen Dank für diesen Artikel! Der Artikel ist sehr nützlich. Es hätte mich viel Zeit gekostet, es selbst herauszufinden.
 

Ausgezeichnete Implementierung! Die Datetime expire Skript würde nur in den Code des EA korrekt platziert werden und wenn ja, wie würde man in der Lage sein, eine vordefinierte Ablauf auf der Grundlage eines Timelimit zB 2 Wochen von der ersten Platzierung auf dem Chart zu machen?

datetime allowed_until = D'2012.02.11 00:00'; 
                             
int password_status = -1;

//+------------------------------------------------------------------+
//| Experten-Initialisierungsfunktion|
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   printf("This EA is valid until %s", TimeToString(allowed_until, TIME_DATE|TIME_MINUTES));
   datetime now = TimeCurrent();
   
   if (now < allowed_until) 
         Print("EA time limit verified, EA init time : " + TimeToString(now, TIME_DATE|TIME_MINUTES));
   
    
//---
   return(0);

zu

double allowed_tf = 7; // in Tagen
                             
int password_status = -1;

//+------------------------------------------------------------------+
//| Experten-Initialisierungsfunktion|
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   printf("This EA is valid until %s", TimeToString(allowed_until, TIME_DATE|TIME_MINUTES));
   datetime now = TimeCurrent();
   datetime allowed_until = TimeCurrent() + allowed_tf;
   if (now < allowed_until) 
         Print("EA time limit verified, EA init time : " + TimeToString(now, TIME_DATE|TIME_MINUTES));
   
    
//---
   return(0);

??

 

guter Artikel...

 

Syntaxfehler im Titel "...oorg anisation pr time...". Bitte korrigieren Sie ihn.

Es ist ein interessanter Artikel. Wir werden ihn uns ansehen...

 

Base64-Verschlüsselung nennen...

Diese Kodierung ist übrigens leicht zu erkennen und schreckt niemanden ab. Außerdem wird sie häufig bei der Kommunikation von Webanwendungen mit anderen verwendet (wenn Sie nicht nur Zeichenketten austauschen müssen).

Bei der Dekompilierung von Code hilft auch PGP nicht weiter, und auch die Indexverschlüsselung hilft nicht weiter. Ganz zu schweigen davon, dass PGP eine separate DLL erfordert, was bedeutet, dass z. B. eine Fernoptimierung nicht mehr möglich ist. Ganz zu schweigen davon, dass viele Händler Angst davor haben, dass alle möglichen Skripte/Indikatoren/Berater ins Internet gelangen und wer weiß was übertragen.

Generell gibt es, wie immer, etwas zu verteidigen.

 

Der Artikel ist nützlich und zeigt Wege für die Anwendung von Schutzmaßnahmen in Ihrer Software auf.

Wir denken darüber nach, eine standardmäßige und schnelle MQL5-Schnittstelle für die Arbeit mit Kryptosystemen (MD5, SHA, RSA, DES usw.) bereitzustellen, was die Arbeit mit Verschlüsselung erleichtern wird.


Wenn wir über den Massenmarkt sprechen, haben wir speziell einen guten und menschlichen Schutzmodus in MQL5 Market implementiert - Anwendungen werden für jedes Gerät einzigartig verschlüsselt und erlauben bis zu 3 Aktivierungen.

Wir laden Autoren dazu ein, ihre Anwendungen aktiver zu veröffentlichen.

 
Renat:

Wir fordern die Autoren auf, ihre Anwendungen aktiver zu veröffentlichen.

Ist es möglich, dass Autoren, die freie Software veröffentlichen wollen, die Angabe von Passdaten nicht zur Pflicht machen?
 
sergeev:
Ist es möglich, dass Autoren, die freie Software veröffentlichen wollen, die Angabe von Passdaten nicht zur Pflicht machen?

Leider liegt das Problem genau in der entgegengesetzten Richtung. Wir erleiden direkte Verluste durch verschiedene Betrüger (Karteileichen, gestohlene Paypal-Konten usw.) in verschiedenen Diensten, obwohl wir gelernt haben, sie wirksam zu bekämpfen.

Wir sind gezwungen, in erster Linie die Verkäufer zu kontrollieren, um die Unversehrtheit des Dienstes zu gewährleisten. Mit einem öffentlichen Dienst kann man nicht leichtfertig umgehen - der allgemeine Trend geht dahin, die Sicherheit vieler ähnlicher Dienste zu verstärken.

Unser Ansatz ist es, die Endnutzer zu schützen und nichts Gefährliches in ihre Infrastruktur zu lassen.


Für völlig freie Software mit Quellen gibt es Code Base - das ist eine gute Möglichkeit, Ihre Bewertung zu verbessern.

Übrigens werden wir demnächst ein großes Bewertungssystem für alle Benutzer veröffentlichen. Es wird eine sehr interessante Neuerung sein - "gib mir einen Händler der Stufe 80!".

 

Renat:

Für völlig kostenlose Software mit Quellcode gibt es Code Base - eine gute Möglichkeit, Ihre Rankings zu verbessern.

Das ist eine etwas falsche Bezeichnung.

Ein Marktplatz ist eine Sache, eine Code Base eine ganz andere.

Ein Produkt auf dem Markt ist großartig, weil es in Bezug auf die Qualität vertrauenswürdiger ist. Vielleicht ist hier das Wort "Respekt" angebracht. Freie Software auf dem Markt wird automatisch zu "Level 80". Und die Codebase verblasst irgendwie zur Bedeutungslosigkeit ...

Übrigens werden wir demnächst ein großes Bewertungssystem für alle Benutzer veröffentlichen. Es wird eine sehr interessante Neuerung sein - "gib mir einen Händler der Stufe 80!".

Auf diesem Forum ist eine Bewertung für "Level 80 Programmierer" wünschenswert. Trader nicht detektiert.

Wenn es im Forum irgendwelche Indikatoren für die Qualität eines Programmierers gibt - seine Artikel, Beiträge, veröffentlichten Entwicklungen oder Serviceleistungen- dann gibt es für Trader absolut nichts Objektives.
Ein Trader kann nicht bewertet werden. Wenn er sich selbst bewertet, wissen Sie, wozu Spam-Werbung führen wird :).

Как заказать торгового робота на MQL5 и MQL4
Как заказать торгового робота на MQL5 и MQL4
  • 2010.06.18
  • MetaQuotes Software Corp.
  • www.mql5.com
С запуском сервиса "Работа" MQL5.community становится идеальным местом для размещения заказов и оказания услуг программирования. Тысячи трейдеров и разработчиков ежедневно посещают этот ресурс и с легкостью могут помочь друг другу. Для трейдера сервис "Работа" - это легкая возможность получить свой собственный эксперт. Для MQL5-разработчика это возможность легко найти новых клиентов. В данной статье мы рассмотрим возможности этого сервиса.
 
sergeev:

... Es gibt absolut nichts Objektives für Trader. Ein Trader kann nicht bewertet werden.

Nun, mit Ausnahme des Signaldienstes, der vielleicht in naher Zukunft eröffnet wird. Das wird auch interessant sein. :) Es wird ein eindeutiges"Gebt mir einen Trader der 80er Stufe!:)