Ad ogni modo per crittografare un'estensione di Chrome non esponendo il codice sorgente?Encrypt Chrome-extension?
risposta
si può nascondere il proprio codice utilizzando obfuscator. ci sono molti disponibili sul mercato.
ci sono pochi strumenti come Google compilatore di chiusura, e un sacco di linea javascript sono disponibili nel mercato ofuscators. puoi usare qualsiasi ma non garantisce la riservatezza del codice. chiunque sia esperto di javascript può de-offuscare quel codice.
Qui ci sono due metodi: 1. rendere il vostro funzionalità disponibili tramite servizi web. il codice così importante risiede sul server e l'estensione comunicherà con il server e elaborerà l'output dal server. 2. usa NPAPI ma non è un buon metodo.
Secondo me una buona strategia è quella di cercare di dare un buon estensioni per l'utente. se c'è già qualcosa di fantastico nel mercato nessun corpo proverà a copiare il tuo addon. cerca di essere davanti ai tuoi concorrenti.
EDIT: NPAPI è deprecato.
Poiché Chome ha aggiornato tutta la loro sicurezza in manifest v2, la funzione 'eval' non può più essere utilizzata. Penso che a causa del modo in cui gli obfuscator funzionano, tutti hanno bisogno di eval, quindi non puoi più proteggere il codice usando questo metodo. –
@ChristianJuth Gli Obfuscator non usano sempre 'eval', e anche con v2 è possibile abilitare' unsafe-eval' se necessario. – Xan
@Xan Il mio male. Ho cambiato un po 'il testo della mia risposta. Solo per curiosità puoi pubblicare un link a Obfuscator che non usa eval. Sono curioso di sapere come funzionano. –
come si può leggere here non si può. puoi rendere il tuo codice difficile da leggere e capire, ma questo è tutto.
(l'altra domanda riguarda il nascondere il codice javascript in una pagina html, ma questo è per lo più lo stesso (per quanto ne so, l'estensione chrome è appena scritta in js/css/html, correggimi se sbaglio))
Oppure potrebbe essere scritto usando NPAPI/NaCL/PEPPER :) (C++) –
- lasciare la logica del codice importante sul vostro server (webservices aiuto)
- iniettare HTML sensibile e js in iframe (la creazione di questo html può essere fatto in modo dinamico)
Ma credo che tutto si riduce giù all'architettura del tuo codice
Con manifest offuscamenti v2 sono più difficili da utilizzare perché eval
sono considerati motivi di sicurezza non sicuri.
Forse uno dei più grandi cambiamenti nel nuovo schema v2 manifesta è che le estensioni non possono più utilizzare dinamiche tecniche di valutazione script come eval() o new Function(), o passare stringhe di codice JS per le funzioni che causeranno un eval() da utilizzare, come setTimeout(). Inoltre, alcune librerie JavaScript comunemente usate, come Google Maps e alcune librerie di modelli, sono conosciute per utilizzare alcune di queste tecniche.
Fonte https://developer.chrome.com/extensions/tut_migration_to_manifest_v2#using
mi raccomando solo minifying il codice. Il modo in cui i minificatori funzionano (dato che non funzionano tutti nello stesso modo) rimuove ogni spazio modificando i nomi delle variabili in lettere singole per ridurre i caratteri. Ciò rimuove molto il significato dal tuo codice e rende molto difficile da leggere. Non è a prova piena, ma aggiungerà un ulteriore molto fastidioso passo per leggere il tuo codice. Inoltre, i minificatori erano progettati per la compressione e per far funzionare il codice più velocemente. Il mio minifier preferito è UglifyJS.
- 1. Encrypt tomcat keystore password
- 2. PGP Encrypt and Decrypt
- 3. Spring Security Encrypt MD5
- 4. Encrypt Mongo data in Meteorjs
- 5. errore Encrypt di Azure Let
- 6. Encrypt password fields in mongodb
- 7. PHP Encrypt and Windows Decrypt
- 8. M2Crypto Encrypt/Decrypt utilizzando AES256
- 9. Encrypt/decrypt .plist file ios
- 10. Entity Framework Encrypt Connection String
- 11. Let's Encrypt Failing DVSNI Challenge
- 12. encrypt- decrypt con AES utilizzando C/C++
- 13. Richieste SSL Python e Let Encrypt certs
- 14. Encrypt ConnectionString in entità framework (primo codice)
- 15. Encrypt/codifica un ID nella stringa URL
- 16. Android AES 256-bit Encrypt data
- 17. Lets Encrypt errore "urn: acme: Errore: non autorizzato"
- 18. Come aggiungere il certificato per il sottodominio usando Lets Encrypt
- 19. Encrypt and Decrypt by AES algorithm in python e android
- 20. Encrypt in Ruby e Decrypt in Java - Perché non funziona?
- 21. AES Encrypt in CryptoJS e decifrare in Coldfusion
- 22. Come configurare l'applicazione server Let's Encrypt for a Go
- 23. Come funziona mvn --encrypt-master-password <password>?
- 24. HowTo Cripta/Encrypt qualche stringa (ad esempio password) su Qt semplice
- 25. Codec.Crypto.RSA: (decrypt. Encrypt)/= id quando si utilizza il padding PKCS # 1 v1.5?
- 26. howto encrypt erlang chiamate rpc (e replica Mnesia) e altro traffico
- 27. Utilizzo di Encrypt = yes in una stringa di connessione Sql Server -> "provider: Provider SSL, errore: 0 - Il nome CN del certificato non corrisponde al valore passato."
- 28. Caricare una libreria in un modello in CodeIgniter
- 29. Come decifrare sha1 in php?
- 30. Cifriamo il certificato, Python e Windows
Confuso per un po ', fino a quando ho visto dai tag che intendi estensione di Chrome :) - è necessario modificare la domanda. –
Aggiornato grazie. – jprim