Méthodes de protection Mq4.. - page 4

 
Vous avez besoin d'une solution professionnelle pour protéger votre code mql. Ce n'est pas un sujet facile. Tous ces trucs de dll discutés sont inutiles pour protéger votre code.
 

Avez-vous déjà envisagé ce qui suit ?

Exécutez MetaTrader comme vous le faites habituellement. Chargez vos indicateurs lourdement protégés ou autres. Exécuter un outil de vidage de processus et vider toute la mémoire du processus terminal.exe dans un fichier (... et peut-être d'autres plages de mémoire qu'il alloue) utiliser un éditeur hexadécimal ou un éditeur de texte normal et rechercher des fragments de vos indicateurs si parfaitement protégés.

Je n'ai pas encore essayé, mais j'ai près de 30 ans de connaissances en programmation de bas niveau (assembleur 680x0, powerpc, etc.).

Bonne chasse.

:)

 

J'étais un peu pressé lorsque j'ai répondu à ce fil de discussion et j'aimerais donc ajouter quelques lignes. Quelque chose comme une véritable protection du code n'existe pas. Vous pouvez être capable de crypter, déplacer, tourner, copier votre code mais à la fin il est à nouveau nu.

Par exemple : Dans le passé, j'ai écrit des programmes et vidé les adresses de début et de fin du code dans un fichier. Tous les sauts à l'intérieur du code ont été réglés sur un décalage relatif et le code (qui est une donnée normale après tout) a été tourné d'un bit. Le code n'existe donc plus. Vous pouvez ajouter une partie chargeur à votre code et le faire dérotter à nouveau et lui faire réallouer les adresses des étiquettes (généralement trouvées dans les hunks). Passez à l'entrée et voilà, vous exécutez à nouveau le programme.

Par conséquent, la majorité des gens croiront que votre programme ou indicateur est bien protégé parce que vous ne pouvez lire aucune étiquette ou autre chose dans la crypte (exécutable). A la fin, il est à nouveau visible. Visible une fois que vous l'exécutez et qu'il est exécuté par votre processus (ou programme).

Vous pouvez paralyser, modifier le code et protéger autant que vous le souhaitez. Une fois que le programme s'exécute, la plupart des protections disparaissent à nouveau (avec quelques exceptions comme les fichiers clés ou les numéros de série, etc.)

Je suppose donc qu'il en va de même pour les indicateurs. Ils sont compilés oui. Est-ce un binaire ? Je ne sais pas. Est-ce un bytecode ? Je ne sais pas non plus. Mais je suis sûr qu'une fois que vous l'aurez exécuté dans terminal.exe et que vous aurez vidé les zones de mémoire que terminal.exe a allouées à l'indicateur, vous pourrez peut-être obtenir des traces de votre code (même si ce sont des chaînes de texte utilisées à l'intérieur ou autre).

Vous pourriez peut-être récupérer une sorte de CODE comme dans vos fichiers *.mql4. Peut-être que vous ne le ferez pas. Peut-être que vous obtiendrez du bytecode, peut-être pas. Peut-être que vous obtiendrez quelque chose. Peut-être que terminal.exe possède son propre interpréteur de code qui interprète le code généré par le metaeditor.exe pour que terminal.exe le comprenne. Comme je l'ai dit précédemment, je n'ai pas essayé.

Ce que j'aime expliquer, c'est que si vous voulez crypter ou protéger votre code, vous ne devez pas toujours le voir d'un seul côté (par exemple, les fichiers ex4 que le metaeditor a compilés et recouverts d'un code inconnu. Vous devez également le voir de l'autre côté. Une fois que vous l'exécutez, votre code protégé est à nouveau nu. Et c'est une partie pour mettre les doigts dessus. Peut fonctionner. Ne doit pas.

Un effet négatif en vidant l'adresse de début et de fin d'un code en cours d'exécution est le suivant. Tout est initialisé. Les tableaux sont remplis de valeurs, les placeholders peuvent avoir des valeurs, etc.

 

Bons points Ali. Merci.

L'extraction dans le vidage de la mémoire semble être une solution coûteuse. Jusqu'à présent, la seule solution bon marché provenait de la fuite de connaissances de Metaquotes. Je m'attends à ce que quelqu'un - qui est capable d'extraire le code de la mémoire - puisse coder le MQL4 lui-même à partir de zéro pour un effort moindre. Je me sens actuellement en sécurité jusqu'à ce que de nouvelles fuites de connaissances apparaissent pour permettre des décodeurs bon marché. Ensuite viendra le plan B - le coder de manière à ce que l'altération du code désassemblé soit très coûteuse.