Discussione sull’articolo "Sicurezza del codice MQL5: Protezione con password, generatori di chiavi, limiti di tempo, licenze remote e tecniche avanzate di crittografia delle chiavi di licenza EA" - pagina 5

 

e cosa significa il messaggio "Licence server not connected. " ?

A proposito, conoscete: https://www.mql5.com/en/forum/432897?

Una semplice ricerca per RemoteProtectedEABase6.

Communicating with an api/custom server using a HTTP request inside of .mq5 indicator code - I'm trying to find out what I was doing with A. Mq5 indicator and Winlet DLL?
Communicating with an api/custom server using a HTTP request inside of .mq5 indicator code - I'm trying to find out what I was doing with A. Mq5 indicator and Winlet DLL?
  • 2022.09.19
  • www.mql5.com
Indicator code: python flask server code: so i was toying with the idea of just using winlet or using something like curl in a c++. In essence a service and a script behave basically the same, but to keep a service alive and running you have to use a loop
 
Carl Schreiber #:

e cosa significa il messaggio "Licence server not connected. " ?

A proposito, conoscete: https://www.mql5.com/en/forum/432897?

Una semplice ricerca per RemoteProtectedEABase6.

e cosa vi dice: "Server di licenza non connesso. " ?

Cosa mi dice? Beh cosa, nessuna connessione ... Non so cosa intendiate con questa domanda.

L'articolo collegato è bello ma non mi aiuta.

Io uso WinInet.dll.

Al meglio delle mie conoscenze non riesco a pensare a dove dovrebbe essere l'errore.

 

Ho anche provato a usare i socket in passato, ma ho smesso perché il server si blocca finché non riceve qualcosa ...

Una volta c'era anche una soluzione che utilizzava la memoria condivisa, ma non sono riuscito a far funzionare nemmeno quella.

Utilizzavo un disco RAM e poi semplicemente scrivevo, leggevo e cancellavo i file con le funzioni di Windows(kernel32.dll), il che funziona ed è abbastanza semplice.

 
Carl Schreiber #:

Ho anche provato a usare i socket in passato, ma ho smesso perché il server si blocca finché non ottiene qualcosa ....

Ho capito bene che devo prima inviare tutti i dati e poi chiedere se c'è una connessione?

 

Secondo il modello client-server, il server viene avviato per primo, perché attende le domande dei (molti) client e poi i client.

Non succede nulla nel programma del server (bloccato) finché non arriva qualcosa dai clienti, quindi fa qualcosa brevemente e poi torna nel suo stato di attesa.

Cercare trade copier nel CodeBase...
 
Carl Schreiber #:

Secondo il modello client-server, il server viene avviato per primo, perché attende le domande dei (molti) client e poi i client.

Non succede nulla nel programma del server (bloccato) finché non arriva qualcosa dai client, quindi fa qualcosa brevemente e poi torna nel suo stato di attesa.

Ahhh logico, prima si invia tutto e poi il server risponde. Se il server risponde, la connessione è stabilita e posso interrogare la risposta e reagire di conseguenza. Se non c'è risposta, il messaggio " Server di licenza non connesso. "
 

Deepl dice questo: https://www.deepl.com/translator#en/de/License%20server%20not%20connected

La domanda ora è: perché? È in esecuzione? È protetto? ...

 

Salve, come posso inserire il punto 7 nel mio EA per evitare di decompilare il file ex.5?

Avete esempi di codice per evitare questo?

Potresti spiegarmi in dettaglio?

 
Grazie per questo articolo.

Alla fine, il dibattito verte su: "quanto tempo posso guadagnare prima che il prodotto venga craccato". L'obiettivo è quello di rendere così costoso il cracking che non ne vale più la pena.

Un metodo che si potrebbe implementare è l'offuscamento del codice. Rinominare ogni variabile e metodo con un nome casuale. double Signal diventerebbe double AB1234, double IndicatorValue diventerebbe CD1234. Non risolve il problema, ma di sicuro rende il codice più difficile da decompilare. Rende molto difficile trovare il punto in cui viene effettuato il controllo della licenza per poterlo modificare.

Un'altra soluzione sarebbe quella di gestire tutto internamente, ogni indicatore, ogni expert advisor viene calcolato solo sul server del proprietario. L'utente invia al server le licenze, i dati delle barre, l'ora del server, ecc. Il server risponde con il valore dell'indicatore o l'azione dell'EA. Questa soluzione, di per sé piuttosto costosa e lunga da implementare, risolve la maggior parte dei problemi.

Spero di aver suscitato un po' di curiosità e di essere stato d'aiuto.
 
Winged Trading #:

Una piccola nota: in MQL5 il compilatore elimina già i nomi delle variabili, i nomi delle funzioni e i commenti quando genera il file .ex5.

L'eseguibile è quindi già abbastanza "opaco", quindi l'offuscamento mediante la ridenominazione degli identificatori non aggiunge un ulteriore livello di protezione.