2015-12-19 11 views
11

Mi piacerebbe sapere come proteggere un'applicazione commerciale creata con Electron.Come si protegge un'app commerciale costruita con Electron?

Non sto parlando del codice sorgente. Almeno per il mio scenario specifico, credo che il bundle miniato generato da Webpack sia abbastanza sicuro (tranne che per la parte di sicurezza). Sto parlando di impedire agli utenti non paganti di accedere effettivamente all'applicazione.

Ecco cosa ho pensato:

Nel sito, l'utente può generare un codice di attivazione. Il codice di attivazione è semplicemente Base64 dell'indirizzo e-mail dell'utente più una firma digitale. L'app contiene la chiave pubblica della firma in modo che possa verificare il codice di attivazione. Questo sembra abbastanza sicuro per me, tranne per il fatto che qualcuno può hackerare il pacchetto per iniziare a tornare vero ogni volta. Non riesco a pensare a un modo per aggirare questo.

Quindi, c'è un modo migliore per proteggere un'app commerciale costruita con Electron?

Se non trovo un modo migliore, probabilmente sto andando con quello che ho descritto e vivo con il rischio.

+0

Discussione sull'elettrone sulla protezione del codice sorgente, che può fornire ulteriori informazioni sull'argomento: https://github.com/atom/electron/issues/3041 – leroydev

risposta

8

Credo che questo argomento non abbia nulla a che fare con l'app in fase di costruzione con elettrone poiché quasi tutte le app possono essere decodificate. È solo più facile per le app create con javascript, ma è sempre possibile con altre app.

Ciò che si potrebbe desiderare è che alcune funzionalità dipendono da alcune parti non incluse nel codice dell'app. Come una funzionalità non inclusa nell'app ma che deve essere scaricata da un server al momento dell'attivazione. Questo sarebbe un buon vantaggio per avere un'app js dato che è più facile iniettare nuovi script.

+1

Questo è un buon consiglio +1. Per me è ancora astratto come creare qualcosa da cui dipende la mia app e che non è inclusa, in modo tale che sarebbe difficile decifrare semplicemente copiando e incollando. Ma sto pensando di vivere con il rischio usando l'approccio che ho descritto. Per ogni uscita qualcuno dovrebbe craccare il pacchetto per smettere di guardare il codice di attivazione firmato, che sto iniziando a pensare è troppo di una seccatura per un'app che avrà un costo di $ 15. Grazie! –

+0

Idea solida. Posso interrogare il server e verificare se un utente ha una chiave per ricevere i dati. – Antoine

Problemi correlati