Discussão do artigo "Código MQL5 de segurança: Proteção de senha, geradores de chaves, limites de tempo, licenças remotas e técnicas de codificação de chave de licença de EA avançadas"

 

Novo artigo Código MQL5 de segurança: Proteção de senha, geradores de chaves, limites de tempo, licenças remotas e técnicas de codificação de chave de licença de EA avançadas foi publicado:

A maioria dos desenvolvedores precisa ter seu código protegido. Este artigo apresentará alguns meios diferentes para proteger o software MQL5 - ele apresenta métodos para fornecer recursos de licenciamento para Scripts do MQL5, Exper Advisors e Indicadores. Ele cobre a proteção de senha, geradores de chave, licença de conta, avaliação de limite de tempo e proteção remota usando chamadas MQL5-RPC.

Autor: investeo

 
Muito obrigado! O artigo é muito útil. Teria levado muito tempo para descobrir isso por conta própria.
 

Excelente implementação! O script Datetime expire seria simplesmente colocado no código do EA, correto? Em caso afirmativo, como seria possível criar uma expiração predefinida com base em um limite de tempo, por exemplo, 2 semanas a partir da primeira colocação no gráfico?

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

//+------------------------------------------------------------------+
//| Função de inicialização de especialista|
//+------------------------------------------------------------------+
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);

para

double allowed_tf = 7; // em dias
                             
int password_status = -1;

//+------------------------------------------------------------------+
//| Função de inicialização de especialista|
//+------------------------------------------------------------------+
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);

??

 

bom artigo...

 

Erro de sintaxe no título "...oorg anização pr time...". Por favor, corrija-o.

É um artigo interessante. Daremos uma olhada nele...

 

chame a criptografia base64...

A propósito, essa codificação é facilmente reconhecível e não assusta ninguém. Além disso, ela é amplamente usada na comunicação de aplicativos da Web com outros (se você precisar trocar não apenas strings).

Ao descompilar o código, nem mesmo o PGP ajudará e a criptografia de índice também não ajudará. Sem mencionar que o PGP requer uma dll separada, o que significa que, por exemplo, a otimização remota não é mais possível. Isso sem mencionar o fato de que muitos traders ficam assustados quando todos os tipos de scripts/indicadores/consultores entram na Internet e transmitem sabe-se lá o quê.

Em geral, como sempre, há algo a ser defendido.

 

O artigo é útil e mostra instruções para a aplicação de proteções em seu software.

De nossa parte, estamos pensando em fornecer uma interface MQL5 padrão e rápida para trabalhar com sistemas de criptografia (MD5, SHA, RSA, DES, etc.), o que facilitará o trabalho com criptografia.


Se falarmos sobre o mercado de massa, implementamos especialmente um modo bom e humano de proteção no MQL5 Market - os aplicativos são criptografados para cada dispositivo exclusivamente, permitindo até 3 ativações.

Convidamos os autores a publicar seus aplicativos de forma mais ativa.

 
Renat:

Convidamos os autores a publicar seus aplicativos de forma mais ativa.

é possível que os autores que desejam publicar software livre não tornem obrigatório o preenchimento de dados de passaporte?
 
sergeev:
é possível que os autores que desejam publicar software livre não tornem obrigatório o preenchimento de dados de passaporte?

Infelizmente, o problema está exatamente na direção oposta. Sofremos perdas diretas devido a vários fraudadores (carteadores, contas roubadas do Paypal etc.) em vários serviços, embora tenhamos aprendido a combatê-los com eficácia.

Somos forçados a avançar na direção do controle, em primeiro lugar, dos vendedores, para garantir a inviolabilidade do serviço. Não se pode tratar um serviço público de forma descuidada - a tendência geral é fortalecer a segurança de muitos serviços semelhantes.

Nossa abordagem é proteger os usuários finais e não permitir que nada perigoso entre em sua infraestrutura.


Para software totalmente gratuito com códigos-fonte, há o Code Base, que é uma boa maneira de aumentar sua classificação.

A propósito, estamos prestes a lançar um grande sistema de classificação para todos os usuários. Será uma inovação muito interessante: "Dê-me um comerciante de nível 80!".

 

Renat:

Para software totalmente gratuito com código-fonte, há o Code Base - é uma boa maneira de aumentar suas classificações.

Esse é um termo um pouco equivocado.

Um marketplace é uma coisa, e uma base de código é outra bem diferente.

Um produto no mercado é ótimo porque é mais confiável em termos de qualidade. Talvez a palavra "respeito" seja apropriada aqui. O software livre no mercado se torna automaticamente "nível 80". E a base de código de alguma forma se torna insignificante...

A propósito, em breve lançaremos um grande sistema de classificação para todos os usuários. Será uma inovação muito interessante: "Dê-me um operador de nível 80!".

Neste fórum, é desejável uma classificação para "programador de nível 80". O operador não é detalhado.

Se houver algum indicador da qualidade de um programador no fórum - seus artigos, postagens, desenvolvimentos publicados ou trabalho de serviço- não há absolutamente nada objetivo para os operadores.
Um operador não pode ser avaliado. Se ele avaliar a si mesmo, você sabe a que a publicidade de spam levará :).

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

... Não há absolutamente nada objetivo para os traders. Um operador não pode ser avaliado.

Bem, exceto pelo serviço de sinais, que poderá ser aberto em um futuro próximo. Isso também será interessante. :) Haverá um inequívoco"me dê um operador do 80º nível!". :)