Schutz des Quellcodes vor der Kompilierung - Seite 7

 
pako:
Sie haben nicht geantwortet.
Bitte beachten Sie, dass es in diesem Thread nicht um Hacking geht, sondern um zusätzlichen Schutz für Entwickler und um das Testen eines dynamischen Verschlüsselungsalgorithmus.
 
Vladimir Pastushak:

Leider gibt Ihr Encoder keinen Vorteil, der maximale Vorteil wurde bereits von den Entwicklern der mt4 und mt5 Terminals gegeben.

+1

Wladimir Pastuschak:

Obwohl ich wirklich gerne eine wirklich starke Sache sehen würde.

Ausgeschlossen

 
Pavel Izosimov:
Bitte beachten Sie, dass es in diesem Thread nicht um Hacking geht, sondern um zusätzlichen Schutz für Entwickler und das Testen des dynamischen Verschlüsselungsalgorithmus.
Nichts über irgendetwas
 
Pavel Izosimov:
Bitte beachten Sie, dass es in diesem Thread nicht um Hacks geht, sondern vielmehr um zusätzlichen Schutz für Entwickler und das Testen des dynamischen Verschlüsselungsalgorithmus.
Leider ist es aufgrund der Ergebnisse des verschleierten Codes nicht klar, ob Sie den folgenden Trick anwenden:

1) Der Hauptteil der Funktion ist in mehrere Teile aufgeteilt (dies erfordert eine Analyse des Ausführungsablaufs):
// для примера

void func()
  {
   // часть #1
   // декларация переменных 

   // часть #2
   // инициализация цикла

   // часть #3
   // тело цикла

   // часть #4
   // инкременты цикла

   // часть #5
   // выход из функции
  }
2) wird ein globales Array ExecutePath deklariert, das mit einigen Werten initialisiert wird
3) Der Körper unserer Funktion wird durch eine Schleife mit einem Schalter aus dem ExecutePath-Array ersetzt
4) Ergebnis:
ExecutePath[]={ PART_3,PART_2,PART_1,PART_4, PART_N };

void func()
  {
   for(int i=0;;i++)
     {
      switch(ExecutePath[i])
        {
         case PART_3:
            // выполняем часть 1 нашей функции

         ...
  
         case PART_N:
            // выполняем часть N нашей функции


          case PART_RET:
            // выполняем часть с кодом выхода из нашей функции
        }
     }
  }

5) Zusätzlich zu den Blöcken erzeugt die ursprüngliche Funktion Blöcke mit Code im Schalter, deren Ausführung nie bis zum
 
Ilyas:
Leider geht aus den Ergebnissen des verschleierten Codes nicht hervor, ob Sie den folgenden Trick anwenden oder nicht:

1) Der Funktionskörper ist in mehrere Teile aufgeteilt (dies erfordert eine Analyse des Ausführungsflusses):
2) wird ein globales Array ExecutePath deklariert, das mit einigen Werten initialisiert wird
3) Der Körper unserer Funktion wird durch eine Schleife mit einem Schalter aus dem ExecutePath-Array ersetzt
4) Ergebnis:
5) Zusätzlich zu den Blöcken erzeugt die ursprüngliche Funktion Blöcke mit Code im Schalter, deren Ausführung nie bis zum
Ich und der Leiter unseres Entwicklungsteams, das an der Umsetzung dieses Projekts beteiligt ist, danken Ihnen herzlich für Ihren praktischen Ansatz zu unserem Thema!

Der nützliche Trick, den Sie vorschlagen, ist in unserem Plan für die Änderung der nächsten Schutzstufe zusammen mit anderen Tricks enthalten.

Wie Sie gut verstehen, können wir nicht offenlegen, die vollständige Liste der verwendeten Algorithmen, aber die Tatsache, dass die Ergebnisse der ersten obfuscated Code, ist es nicht klar, was verwendet wird, kann es nicht helfen, aber bitte :)
 
Pavel Izosimov:

Igor, guten Tag!

Alle notwendigen Informationen, einige Dateibeispiele und direkte Links zu Primärquellen wurden dem MQL-Administrator Renat gleich zu Beginn dieses Themas zur Verfügung gestellt.

Wir haben nicht vor, den Kummer unserer Kollegen mit jedem zu teilen, der neugierig ist, denn die erwähnte Quelle ist immer noch voll von frisch geknackten Produkten.

Wir respektieren unsere Kollegen und werden nicht zum illegalen Vertrieb ihrer Produkte beitragen!

Wir respektieren auch die Entwickler von Metatrader-Terminals, da wir glauben, dass sie viel tun, um ihren Code zu schützen und alle notwendigen Informationen über ihre Anfragen bereitzustellen.

Bitte beachten Sie, dass es in diesem Thread nicht um Hacks geht, sondern im Gegenteil um zusätzlichen Schutz für Entwickler und das Testen des dynamischen Verschlüsselungsalgorithmus.

Um Ihre Produkte zu schützen, müssen Sie die Methoden der Cracker kennen. Ich bitte Sie nicht darum, die Methoden, die Sie irgendwo gefunden haben, mitzuteilen, sondern nur das, was bereits öffentlich zugänglich ist. Sie sagten, der Einbrecher habe in der Öffentlichkeit gehandelt. Diese Informationen sind also bereits im Netz und Sie werden nicht zur Verbreitung von Geheimnissen beitragen. Außerdem haben Sie die Methoden des Crackers bereits in Ihrem Obfuscator berücksichtigt.

Wenn Sie den Link weitergeben würden, bekäme alles, worüber Sie hier sprechen, mehr Gewicht.

Ich bin speziell als Entwickler interessiert, nicht als Hacker. Ich würde niemals den Weg gehen, die Software eines anderen zu hacken, denn das ist ein destruktiver Weg. Sie führt in die entgegengesetzte Richtung zur Entwicklung.

 
Игорь Герасько:

Um Ihre Produkte zu schützen, müssen Sie die Methoden der Cracker kennen. Ich bitte Sie nicht darum, die Methoden, die Sie irgendwo gefunden haben, mitzuteilen, sondern nur die, die bereits öffentlich zugänglich sind. Sie sagten, der Einbrecher habe in der Öffentlichkeit gehandelt. Diese Informationen sind also bereits im Netz und Sie werden nicht zur Verbreitung von Geheimnissen beitragen. Außerdem haben Sie die Methoden des Crackers bereits in Ihrem Obfuscator berücksichtigt.

Wenn Sie also den Link weitergeben würden, würde das alles, worüber Sie hier sprechen, untermauern.

Igor, ich glaube nicht, dass ich dir zu nahe treten will, aber wir brauchen kein Gewicht, wir tun es auch für unseren eigenen praktischen Nutzen und sind sicher, dass es für viele Entwickler nützlich sein wird.

Wir werden niemanden von irgendetwas überzeugen, wir führen einfach die gestellte Aufgabe aus, egal was irgendjemand will.

Intelligente Menschen verstehen, dass die Kritik an einer solchen Lösung im Interesse derjenigen liegt, die sich später damit auseinandersetzen müssen - derjenigen, die auf der anderen Seite der "Barrikaden" stehen, d.h. der Fachleute für "Alien"-Hacking.

Wir werden unsererseits versuchen, unser Bestes zu tun, um es ihnen so "unbequem" wie möglich zu machen, um das zu brechen, was ihnen nicht gehört :)

 
Pavel Izosimov:

Igor, denken Sie nicht, dass ich Ihnen zu nahe treten will, aber wir brauchen kein Gewicht, wir machen das für unseren eigenen praktischen Nutzen und wir sind sicher, dass es für viele Entwickler nützlich sein wird.

Wir werden niemanden von irgendetwas überzeugen, wir führen einfach die anstehende Aufgabe aus, ganz gleich, was irgendjemand will.

Intelligente Menschen verstehen, dass die Kritik an einer solchen Lösung im Interesse derjenigen liegt, die sich später damit auseinandersetzen müssen - derjenigen, die auf der anderen Seite der "Barrikaden" stehen, d.h. der Fachleute für "Alien"-Hacking.

Wir werden unsererseits versuchen, unser Bestes zu tun, um es ihnen so "unbequem" wie möglich zu machen, um das zu brechen, was ihnen nicht gehört :)

Womit? Ich bin ein auf dem Marktplatz veröffentlichter Entwickler, wie kann mir das helfen?
 
Игорь Герасько:

Ich werde niemals den Weg einschlagen, die Software eines anderen zu hacken, denn das ist ein destruktiver Weg. Sie führt in die entgegengesetzte Richtung zur Entwicklung.

Sag niemals nie
 
Vladimir Pastushak:
Womit? Ich bin ein Entwickler, der auf dem Markt veröffentlicht, wie kann ich davon profitieren?

Wir veröffentlichen auch auf dem Marktplatz, aber es ist bei weitem nicht immer angebracht, alles über den Marktplatz zu veröffentlichen.

So organisieren wir beispielsweise öffentliche Tests unserer Entwicklungen im Internet, geben Testversionen heraus und lizenzieren bestimmte Konten von Nutzern, die mit uns zusammenarbeiten, bevor wir die Endprodukte veröffentlichen.

Oder wir erstellen ein Produkt für eine bestimmte Gruppe von Nutzern.

Dies sind nicht alle Fälle, in denen eine Veröffentlichung auf dem Markt nicht angebracht ist.