Protezione della paternità del codice MQL in MT5. - pagina 6

 

Per prima cosa, descrivete in dettaglio il vostro meccanismo con le chiavi e tutto il meccanismo delle relazioni acquirente-venditore. Si rivelerà una cosa troppo complicata che nessuno vuole sostenere. Per non parlare del fatto che le chiavi saranno sparse su internet. Sono sicuro che nessuno di voi ha pensato a tutto il sistema in dettaglio, ma solo a supposizioni superficiali.

Abbiamo sviluppato un sistema molto facile, automatico e abbastanza affidabile per comprare/vendere programmi MQL5 con protezione:

  1. il venditore mette in vendita il suo codice e specifica il prezzo
  2. L'acquirente scarica il demo riconfezionato e lo prova nel tester, ma non può usare questo codice fisicamente nel terminale
  3. L'acquirente acquista il programma hardcovered per adattarsi al suo hardware, funzionerà solo sul suo computer (pochi click sono sufficienti per acquistare)
  4. Il venditore controlla i rapporti di vendita e calcola il profitto
  5. Facciamo tutti i calcoli e i pagamenti
Di conseguenza, il venditore non si preoccupa, tutto il lavoro di sicurezza viene fatto automaticamente. L'acquirente ottiene il programma in pochi clic e non si preoccupa della generazione, trasmissione, assegnazione delle chiavi. Se la licenza viene resettata, può riattivare il software precedentemente acquistato su un nuovo hardware fino a 3 volte.
Документация по MQL5: Программы MQL5
Документация по MQL5: Программы MQL5
  • www.mql5.com
Программы MQL5 - Документация по MQL5
 
Renat:

Per prima cosa, descrivete in dettaglio il vostro meccanismo con le chiavi e tutto il meccanismo delle relazioni acquirente-venditore. Si rivelerà una cosa troppo complicata che nessuno vuole sostenere. Per non parlare del fatto che le chiavi saranno sparse su internet. Sono sicuro che nessuno di voi ha pensato a tutto il sistema in dettaglio, ma solo a supposizioni superficiali.

Abbiamo sviluppato un sistema molto facile, automatico e abbastanza affidabile per comprare/vendere programmi MQL5 con protezione:

  1. il venditore mette in vendita il suo codice e specifica il prezzo
  2. L'acquirente scarica il demo riconfezionato e lo prova nel tester, ma non può usare questo codice fisicamente nel terminale
  3. L'acquirente compra il programma riconfezionato per il suo hardware, e funziona solo sul suo computer (pochi clic per acquistarlo)
  4. il venditore guarda i rapporti di vendita e calcola il profitto
  5. Facciamo tutti i calcoli e i pagamenti
Di conseguenza, il venditore non si preoccupa, tutto il lavoro di sicurezza viene fatto automaticamente. L'acquirente ottiene il programma in pochi clic e non si preoccupa della generazione, trasmissione, assegnazione delle chiavi. Se la licenza va fuori uso, può riattivare un programma precedentemente acquistato sul nuovo hardware fino a 3 volte.

Affrontiamo il problema.

Dopo tutto, è una cosa seria.

Più dettagli ci dai, più tranquillità avremo.

 
api:


Ciò che è costruito da uno può essere rotto da un altro.

In senso stretto, non esiste una protezione assoluta e non sarà mai attuata.

Ecco perché ho scritto "In generale, sono abbastanza scettico sulla protezione dalla decompilazione EA/indicatore. Penso che sia probabilmente un sogno irraggiungibile".

Se vi addentrate nella natura selvaggia, c'è naturalmente ASM, il codice...

Ma con i volumi attuali, poche persone si siederanno e analizzeranno la logica, traducendo da asm a C++ o almeno ottenere un algoritmo

per esempio la possibilità di ottenere Microsoft Office in codice sorgente!

solo se si inizia sulla versione 2007, quando esce la versione 2057 (per anno) potrebbe essere pronto

specialmente se c'è solo una persona che lo fa!


come regola è più facile scrivere il proprio algoritmo


 
Renat:

Abbiamo già una serie di protezioni specifiche per gli sviluppatori esperti. Li annunceremo più tardi.


La tua idea è buona e può essere implementata.


Tutti sono invitati a dare il loro feedback sui metodi di sicurezza desiderati.



in un modo, il codice è nascosto ad esempio su un server che emette alcuni dati, ricevendo alcuni dati come input

Non avrete il codice nelle vostre mani, ma solo i risultati.

 
vicondi:

"Vendere consiglieri..." - per coloro che non sanno come usare MT per il suo scopo - il trading.

"E qui ci sono tutti i tipi di strumenti per rendere la vita più facile al trader..." dovrebbe essere standard nel terminale.

È impossibile risolvere TUTTO! Non è realistico risolvere TUTTO ciò che può essere utile nel terminale!

 
Renat:

3. il cliente compra il software riconfezionato per il suo hardware, funzionerà solo sul suo computer (bastano pochi clic per acquistarlo).

Se la licenza non è più valida, potrà riattivare il programma precedentemente acquistato sul nuovo hardware fino a 3 volte.

L'esperienza dell'uso del binding all'hardware ha dimostrato l'inefficacia di questo approccio. Soprattutto se il numero di riattivazioni è limitato. La pratica dimostra che questo limita drammaticamente la libertà degli utenti di aggiornare, aggiornare o modificare il loro hardware. E questo, nell'attuale mondo in rapida evoluzione della tecnologia informatica ha un impatto negativo sugli sviluppatori di software a pagamento (aumenta il numero di errori associati all'attivazione legale, aumenta il numero di chiamate al supporto, aumenta i costi, sia finanziari che di supporto morale del prodotto). In generale, coloro che hanno già fatto questo tipo di collegamento all'hardware sanno quanto fastidio questo aggiungerà...

Come opzione, è possibile organizzare nel codice compilato una sezione protetta bloccata, a cui si può accedere solo con un certificato di fiducia dell'utente sviluppatore del codice, legato a un account specifico, DC e/o altro. In questo caso, MQ non è più obbligato a prendere misure per proteggere il codice MQL. Questo sarà lo sviluppatore stesso che scrive qualcosa in MQL. MQ sarà ora impegnato solo nella verifica dei certificati e nell'invio dell'accesso alla parte chiusa del codice MQL. Se c'è un certificato, l'intero codice o parte di esso non sarà disponibile, se non c'è un certificato, l'intero codice sarà nella sezione aperta. Bene, nel compilatore MQL dovremo incorporare un meccanismo che chiuderà il codice con un certificato dello sviluppatore. Come si dice "semplice e di buon gusto"... :) Attualmente questo è uno dei metodi più affidabili e convenienti di protezione del software che conosco. Dove si possono ottenere i certificati? Sì, lo stesso VerySign o servizi simili (ovunque sia più conveniente o redditizio), professionalmente impegnati in questo mestiere.

 
ir0407:

L'esperienza con il tethering hardware ha dimostrato l'inefficacia di questo approccio. Soprattutto se il numero di riattivazioni è limitato. La pratica dimostra che questo limita drasticamente la libertà dell'utente di aggiornare, aggiornare o modificare il proprio hardware. E questo, nell'attuale mondo in rapida evoluzione della tecnologia informatica ha un impatto negativo sugli sviluppatori di software a pagamento (aumenta il numero di errori associati all'attivazione legale, aumenta il numero di chiamate al supporto, aumenta i costi, sia finanziari che di supporto morale del prodotto). Tutto sommato, coloro che hanno già fatto questo tipo di legatura all'hardware sanno quanto fastidio questo aggiungerà...

Come opzione, è possibile organizzare nel codice compilato una sezione protetta bloccata, a cui si può accedere solo con un certificato di fiducia dell'utente sviluppatore del codice, legato a un account specifico, DC e/o altro. In questo caso, MQ non è più obbligato a prendere misure per proteggere il codice MQL. Questo sarà lo sviluppatore stesso che scrive qualcosa in MQL. MQ sarà ora impegnato solo nel controllo dei certificati e nell'invio dell'accesso alla parte chiusa del codice MQL. Se c'è un certificato, l'intero codice o parte di esso non sarà disponibile, se non c'è un certificato, l'intero codice sarà nella sezione aperta. Bene, nel compilatore MQL dovremo incorporare un meccanismo che chiuderà il codice con un certificato dello sviluppatore. Come si dice "semplice e di buon gusto"... :) Attualmente questo è uno dei metodi più affidabili e convenienti di protezione del software che conosco. Dove si possono ottenere i certificati? Sì, puoi ottenerli dallo stesso VerySign, o da servizi simili (quello che è più conveniente o redditizio), impegnati professionalmente in questo mestiere.

1. Il legame con l'hardware porta a qualche inconveniente. Ma al momento (se abbastanza ben organizzato) è un modo di protezione abbastanza efficace e affidabile.

L'unica questione è a cosa legarlo. Suggerisco anche di aumentare il numero di "installazioni" da 3 a 10 (almeno).

2. Sono sicuro che proprio il contrario, tutto il lavoro di protezione deve essere fatto da MQ. Forse ci dovrebbe essere anche un collegamento al conto di trading e un limite di tempo per l'uso (ma questa è un'opzione aggiuntiva, come desiderato dallo sviluppatore).

 
Come se ci fossero altre opzioni di protezione?
 
Renat:
Come se ci fossero altri modi per proteggersi?

Se lo guardiamo dal punto di vista di un programmatore che scrive per i trader in MQL

mql5 - probabilmente durerà più a lungo - forse molto a lungo - ma non è un fatto che non fanno un decompilatore.

mql4 - purtroppo, non c'è protezione del codice - solo alcuni metodi danno un piccolo margine di sicurezza


In alcuni casi è possibile non legarsi al ferro,

Per esempio creando un sito sul tipo di funzione del sito - il codice piace al sito - che dà una soluzione pronta, ma non tutti vorranno usare questa soluzione.

C'è una dipendenza da qualche hardware e software, di solito da qualcun altro, di solito la persona che ha venduto il prodotto.

----

un'altra opzione

Nel contesto di MT4/MT5 MQL4/MQL5 + DLL il binding può essere fatto non al ferro e al numero di conto (numeri), per denaro reale e/o nome completo, in alternativa il secondo nome

Questo modo è il più semplice in termini di protezione (solo per questa specifica applicazione) - è mobile e non richiede alcuna connessione all'hardware.

E i ragazzi con fauspatron (sotto forma di decompilatore MT4) cadono.

Restano solo i ragazzi più seri che conoscono ASM e possono scomporre a livello di debugger, vari logger, decompilatori e altri schemi avanzati,

e ce ne sono meno e i loro servizi sono più costosi.

 
Renat:

Per prima cosa, spiegate in dettaglio il vostro meccanismo con le chiavi e l'intero meccanismo delle relazioni acquirente-venditore. ...

per esempio


Acquirente: trova informazioni su Internet, scrive vuole comprare

Venditore: descrive il meccanismo di pagamento - se non vuoi pubblicare i tuoi dati, chiedi la personalizzazione

Acquirente: paga e invia i dati di personalizzazione, il numero di conto o il nome, che sono le chiavi.

Venditore: invia la merce legata ai tuoi dati personali.


idealmente è questo!

Ho tali casi, e non pochi