Protection de l'auteur du code MQL dans MT5. - page 6

 

Tout d'abord, veuillez décrire en détail votre mécanisme avec les clés et tout le mécanisme des relations acheteur-vendeur. Il s'avérera être une chose trop compliquée que personne ne veut soutenir. Sans parler du fait que les clés se retrouveront partout sur Internet. Je suis sûr qu'aucun d'entre vous n'a réfléchi en détail à l'ensemble du système, mais n'a fait que des suppositions superficielles.

Nous avons développé un système très facile, automatique et assez fiable pour acheter/vendre des programmes MQL5 avec protection :

  1. le vendeur met son code en vente et en précise le prix
  2. L'acheteur télécharge la démo reconditionnée et la teste dans le testeur, mais ne peut pas utiliser ce code physiquement dans le terminal.
  3. L'acheteur achète le programme adapté à son matériel, il ne fonctionnera que sur son ordinateur (quelques clics suffisent pour l'acheter).
  4. Le vendeur vérifie les rapports de vente et calcule le bénéfice
  5. Nous effectuons tous les calculs et les paiements
Ainsi, le vendeur n'a pas à s'inquiéter, tout le travail de sécurité se fait automatiquement. L'acheteur obtient le programme en quelques clics et ne se préoccupe pas de la génération, de la transmission, de l'affectation des clés. Si la licence est réinitialisée, il peut réactiver le logiciel précédemment acheté sur un nouveau matériel jusqu'à 3 fois.
Документация по MQL5: Программы MQL5
Документация по MQL5: Программы MQL5
  • www.mql5.com
Программы MQL5 - Документация по MQL5
 
Renat:

Tout d'abord, veuillez décrire en détail votre mécanisme avec les clés et tout le mécanisme des relations acheteur-vendeur. Il s'avérera être une chose trop compliquée que personne ne veut soutenir. Sans parler du fait que les clés se retrouveront partout sur Internet. Je suis sûr qu'aucun d'entre vous n'a réfléchi en détail à l'ensemble du système, mais n'a fait que des suppositions superficielles.

Nous avons développé un système très facile, automatique et assez fiable pour acheter/vendre des programmes MQL5 avec protection :

  1. le vendeur met son code en vente et en précise le prix
  2. L'acheteur télécharge la démo reconditionnée et la teste dans le testeur, mais ne peut pas utiliser ce code physiquement dans le terminal.
  3. L'acheteur achète le programme reconditionné pour son matériel, et il ne fonctionne que sur son ordinateur (quelques clics pour l'acheter).
  4. le vendeur regarde les rapports de vente et calcule le bénéfice
  5. Nous effectuons tous les calculs et les paiements
Ainsi, le vendeur n'a pas à s'inquiéter, tout le travail de sécurité se fait automatiquement. L'acheteur obtient le programme en quelques clics et ne se préoccupe pas de la génération, de la transmission, de l'affectation des clés. En cas de panne de la licence, il peut réactiver un programme précédemment acheté sur le nouveau matériel jusqu'à 3 fois.

concentrons-nous.

Après tout, c'est sérieux.

Plus vous nous donnerez de détails, plus nous aurons l'esprit tranquille.

 
api:


Ce qui est construit par l'un peut être brisé par l'autre.

A proprement parler, il n'existe pas de protection absolue et elle ne sera jamais mise en œuvre.

C'est pourquoi j'ai écrit "En général, je suis assez sceptique quant à la protection contre la décompilation des EA/indicateurs. Je pense que c'est probablement un rêve inaccessible."

Si vous vous enfoncez dans la nature, il y a bien sûr l'ASM, le code...

Mais avec les volumes actuels, peu de gens vont s'asseoir et analyser la logique, en traduisant de l'asm vers le C++ ou au moins obtenir un algorithme...

Par exemple, la possibilité de faire entrer Microsoft Office dans le code source !

si vous commencez avec la version 2007, lorsque la version 2057 sortira (par an), vous serez peut-être prêt.

surtout s'il n'y a qu'une seule personne pour le faire !


en règle générale, il est plus facile d'écrire son propre algorithme


 
Renat:

Nous avons déjà un certain nombre de protections spécifiques pour les développeurs experts. Nous les annoncerons plus tard.


Votre idée est bonne et elle peut être mise en œuvre.


Chacun est invité à donner son avis sur les méthodes de sécurité souhaitées.



d'une part, le code est caché, par exemple sur un serveur qui produit des données et reçoit des données en entrée.

Vous n'avez pas le code dans vos mains, seulement les résultats.

 
vicondi:

"Vendre des conseillers..." - pour ceux qui ne savent pas comment utiliser MT pour l'usage auquel il est destiné - le trading.

"Et voici toutes sortes d'outils pour faciliter la vie du commerçant..." devrait être la norme dans le terminal.

Il est impossible de tout résoudre ! Il est irréaliste de vouloir résoudre TOUT ce qui peut être utile dans le terminal !

 
Renat:

3. le client achète le logiciel reconditionné pour son matériel, il ne fonctionnera que sur son ordinateur (quelques clics suffisent pour l'acheter).

Si la licence devient invalide, il pourra réactiver le programme précédemment acheté sur le nouveau matériel jusqu'à 3 fois.

L'expérience de l'utilisation de la liaison au matériel a montré l'inefficacité de cette approche. Surtout si le nombre de réactivations est limité. La pratique montre que cela limite considérablement la liberté des utilisateurs de mettre à niveau, de mettre à jour ou de modifier leur matériel. Et ceci, dans le monde actuel de l'informatique qui évolue rapidement, a un impact négatif sur les développeurs de logiciels payants (augmentation du nombre d'erreurs liées à l'activation légale, augmentation du nombre d'appels au support, augmentation des coûts, tant financiers que de soutien moral du produit). En général, ceux qui ont déjà effectué une telle fixation sur le matériel savent combien de tracas cela va ajouter...

En option, il est possible d'organiser dans le code compilé une section verrouillée protégée, à laquelle on ne peut accéder qu'avec un certificat de confiance de l'utilisateur du développeur du code, lié à un compte spécifique, un DC et/ou autre. Dans ce cas, MQ n'est plus obligé de prendre des mesures pour protéger le code MQL. Ce sera le développeur lui-même qui écrira quelque chose en MQL. MQ ne s'occupera plus que de vérifier les certificats et de distribuer l'accès à la partie fermée du code MQL. S'il y a un certificat, le code entier ou une partie du code sera indisponible, s'il n'y a pas de certificat, le code entier sera dans la section ouverte. Eh bien, dans le compilateur MQL, nous devrons intégrer un mécanisme qui fermera le code avec un certificat de développeur. Comme on dit "simple et de bon goût"... :) C'est actuellement l'une des méthodes de protection logicielle les plus fiables et les plus abordables que je connaisse. Où peut-on obtenir des certificats ? Oui, le même VerySign ou des services similaires (là où c'est plus pratique ou rentable), professionnellement engagés dans ce métier.

 
ir0407:

L'expérience du tethering matériel a montré l'inefficacité de cette approche. Surtout si le nombre de réactivations est limité. La pratique montre que cela limite considérablement la liberté de l'utilisateur de mettre à niveau, de mettre à jour ou de modifier son matériel. Et ceci, dans le monde actuel de l'informatique qui évolue rapidement, a un impact négatif sur les développeurs de logiciels payants (augmentation du nombre d'erreurs liées à l'activation légale, augmentation du nombre d'appels au support, augmentation des coûts, tant financiers que moraux du produit). Dans l'ensemble, ceux qui ont déjà effectué de telles fixations sur du matériel savent combien de tracas cela va ajouter...

En option, il est possible d'organiser dans le code compilé une section verrouillée protégée, à laquelle on ne peut accéder qu'avec un certificat de confiance de l'utilisateur du développeur du code, lié à un compte spécifique, un DC et/ou autre. Dans ce cas, MQ n'est plus obligé de prendre des mesures pour protéger le code MQL. Ce sera le développeur lui-même qui écrira quelque chose en MQL. MQ ne s'occupera plus que de vérifier les certificats et de distribuer l'accès à la partie fermée du code MQL. S'il y a un certificat, le code entier ou une partie du code sera indisponible, s'il n'y a pas de certificat, le code entier sera dans la section ouverte. Eh bien, dans le compilateur MQL, nous devrons intégrer un mécanisme qui fermera le code avec un certificat de développeur. Comme on dit "simple et de bon goût"... :) C'est actuellement l'une des méthodes de protection logicielle les plus fiables et les plus abordables que je connaisse. Où peut-on obtenir des certificats ? Oui, vous pouvez les obtenir auprès du même VerySign, ou de services similaires (selon ce qui est le plus pratique ou le plus rentable), engagés professionnellement dans ce métier.

1. La liaison avec le matériel entraîne certains inconvénients. Mais pour l'instant (si elle est suffisamment bien organisée), c'est un moyen de protection efficace et fiable.

La seule question est de savoir à quoi le lier. Je suggère également d'augmenter le nombre d'"installations" de 3 à 10 (au moins).

2. Je suis sûr que c'est tout le contraire, tout le travail de protection doit être fait par MQ. Peut-être faudrait-il également prévoir un lien vers le compte de trading et une limite de temps d'utilisation (mais il s'agit d'une option supplémentaire, au choix du développeur).

 
Comme s'il y avait d'autres options pour se protéger ?
 
Renat:
Comme s'il existait d'autres moyens de protection ?

Si l'on se place du point de vue d'un programmeur écrivant pour les traders en MQL

mql5 - durera probablement plus longtemps - peut-être très longtemps - mais ce n'est pas un fait qu'ils ne font pas de décompilateur.

mql4 - malheureusement, il n'y a pas de protection de code - seules certaines méthodes donnent une petite marge de sécurité


Il est possible de ne pas se lier au fer dans certains cas,

Par exemple, créer un site sur le type de fonction du site - le code fait appel au site - ce qui donne une solution toute prête, mais tout le monde ne voudra pas utiliser cette solution.

Il existe une dépendance à l'égard de certains matériels et logiciels, généralement à l'égard de quelqu'un d'autre, généralement la personne qui a vendu le produit.

----

une autre option

Dans le contexte de MT4/MT5 MQL4/MQL5 + DLL la liaison peut être faite non pas au fer et au numéro de compte (numéros), pour l'argent réel et/ou le nom complet, alternativement le deuxième prénom.

Cette méthode est la plus simple en termes de protection (juste pour cette application spécifique) - elle est mobile et ne nécessite aucune connexion au matériel.

Et les garçons avec fauspatron (sous la forme d'un décompilateur MT4) tombent.

Les seuls qui restent sont les personnes plus sérieuses qui connaissent l'ASM et peuvent le décomposer au niveau du débogueur, des divers enregistreurs, décompilateurs et autres dispositifs avancés,

et ils sont moins nombreux et leurs services sont plus chers.

 
Renat:

Tout d'abord, veuillez expliquer en détail votre mécanisme avec les clés et l'ensemble du mécanisme des relations acheteur-vendeur. ...

par exemple


Acheteur : trouve des informations sur l'internet et écrit pour acheter.

Vendeur : décrit le mécanisme de paiement - si vous ne souhaitez pas publier vos coordonnées, demandez la personnalisation.

Acheteur : il paie et envoie les données de personnalisation, le numéro de compte ou le nom, qui sont les clés.

Vendeur : envoie les marchandises liées à vos données personnelles.


idéalement, c'est ça !

J'ai de tels cas, et pas seulement

Raison: