Fehler, Irrtümer, Fragen - Seite 2443

 
Sergey Dzyublik:

Fügen Sie den Quellcode im .mq5-Format als Ressource ein und lesen Sie den Hash des Quellcodeinhalts.
Wenn Sie den Quellcode ändern, wird bei der Kompilierung automatisch der neue Quellcode als Ressource herangezogen und ein neuer Hash berechnet.
Was ist so schwierig?

Wenn ein Kommentar zur Quelle hinzugefügt wird, ändert dies nichts an der Logik des EA. Das heißt, es ist ein und derselbe EA.

Sie und Igor bieten die einfachsten Lösungen an. Die elementarste Sache ist, sich selbst eine Raute zu geben. Ein Weg zu sich selbst ist gegeben. Die Raute ist aus irgendeinem Grund eingeklemmt.
 
fxsaber:

D.h. wenn EX5 geändert wird, ändern sich auch die von ihm erzeugten Dateinamen.

EX5 ändert sich mit jeder Kompilierung. Warum kann dann die Kompilierzeit nicht als eindeutiger Name dienen?

 
fxsaber:

Das Grundlegendste ist, dass man ein Haschisch von sich gibt. Ein Weg zum Selbst ist gegeben. Das Haschisch wird - aus welchen Gründen auch immer - unterdrückt.

Ihre Aufgabe sieht aus wie ein Rätsel in den "Software-Sicherheitsforschungs"-Foren, normalerweise "wie man eine ausführbare Datei dazu bringt, in einen anderen Ordner zu schreiben, nachdem man sie ausgeführt hat".

Normalerweise blockiert das Betriebssystem nach dem Ausführen einer ausführbaren Datei den Zugriff auf die Datei, bis die Anwendung abgeschlossen ist. Ich denke, dass dies auch bei der ausführbaren Datei .ex5 der Fall ist - solange sie ausgeführt wird, ist der Zugriff auf sie verweigert

HH: Ich kann nicht anders, ich bin darauf trainiert, die Aufgabe in kleinere aufzuteilen, so schlug ich vor, es in 2 Module aufzuteilen - eine ausführbare, die zweite zum Schreiben in Dateien, können Sie verbinden und 3 Module (Bibliotheken)

 
Igor Makanu:

Wenn eine ausführbare Datei ausgeführt wird, blockiert das Betriebssystem normalerweise den Zugriff auf die Datei, bis die Anwendung beendet ist. Ich denke, dass die gleiche Situation für die ausführbare Datei .ex5 gilt - solange sie ausgeführt wird, wird der Zugriff auf sie verweigert

Nein, sie ist im Speicher. Sie können die Datei sogar löschen, das schadet Ihrer Arbeit nicht.

 
fxsaber:

Wenn ein Kommentar zur Quelle hinzugefügt wird, ändert dies nichts an der Logik des EA. Mit anderen Worten, es ist derselbe EA.

Sie und Igor schlagen die einfachsten Lösungen vor. Die grundlegendste davon ist, sich selbst Haschisch zu geben. Der Weg zum Selbst ist vorgegeben. Die Raute ist aus irgendeinem Grund eingeklemmt.

Wenn Kommentare im Weg sind, entfernen Sie sie vor der Hash-Berechnung mit Handles.
Die Hauptsache ist, dass man Lust hat und nicht immer mehr Ausreden findet.

 
Sergey Dzyublik:

Wenn Kommentare im Weg sind, entfernen Sie sie mit den Händen, bevor Sie den Hash berechnen.

Mit dieser Vorstellung von der Lösung des Problems können Sie einfach vorschlagen, den Namen der vom Programm erstellten Datei von Hand im Quelltext zu ändern.

Die Hauptsache ist, dass man Lust hat und nicht immer mehr Ausreden findet.

Das Wichtigste sind die Möglichkeiten.

 
Andrey Khatimlianskii:

EX5 ändert sich mit jeder Kompilierung.

Daran habe ich nicht gedacht.

Warum kann die Kompilierzeit dann nicht als eindeutiger Name dienen?

Ich wollte, dass es eine Reaktion auf Codeänderungen gibt. Offenbar ist das Problem noch nicht gelöst.

 
fxsaber:

Ich wollte, dass es eine Reaktion auf Codeänderungen gibt. Offenbar ist das Problem nicht gelöst.

Gelöst durch eigenen Code-Analysator (nicht ganz einfach).
Der manuelle Modus ist einfacher (Version ändern).
 
Andrey Khatimlianskii:
Gelöst mit Ihrem eigenen Code-Analysator (nicht ganz einfach).

Auf der Entwicklerseite braucht man nur den Willen, denn es dauert nur eine Minute, um es zu tun.

Sie müssen nur einen Hash des nativen Codes vor der "Verschleierung" in EX5 angeben.

 
fxsaber:

Ich danke Ihnen vielmals! Ich werde den Auftrag veröffentlichen, wenn er fertig ist.

ZZZ Nur 64 Zeichen pro Pfadlänge zum EA - nicht zu wenig?

Falsch - 128.