Che cos'è il formato di file CRX?
L'estensione del file .crx è utilizzata da Google Chrome e altri browser basati su Chromium. Un file .crx è un pacchetto di estensione Chrome - un file di installazione per plugin ed estensioni del browser. Si tratta di fatto di un pacchetto composto da vari file, come JavaScript (.js), manifest (.json), fogli di stile CSS, pagine HTML e risorse grafiche che insieme definiscono il comportamento e l'aspetto dell'estensione.
I file .crx sono utilizzati da Google Chrome per aggiungere nuove caratteristiche o funzionalità al browser, o per modificare l'interfaccia utente utilizzando temi personalizzati ed elementi interattivi. Anche i browser basati su Chromium come Microsoft Edge, Brave e Opera supportano questo formato.
Compressione ZIP e struttura dei file
I file .crx utilizzano la compressione ZIP per ridurre le dimensioni del file e facilitarne la condivisione su Internet. Un file .crx può essere aperto utilizzando strumenti di archiviazione dati come 7-Zip. Tuttavia, un .crx non è un semplice ZIP - ogni file inizia con un'intestazione binaria che parte con i magic bytes Cr24 (hex 43 72 32 34), che trasporta una firma crittografica incorporata e una chiave pubblica. Gli strumenti di archiviazione standard potrebbero non riconoscere questa intestazione, quindi deve essere rimossa prima che il contenuto ZIP possa essere estratto.
L'attuale formato CRX3 è obbligatorio da Chrome 75 (giugno 2019), sostituendo il vecchio schema di firma CRX2. Gli sviluppatori firmano i loro pacchetti utilizzando una chiave privata memorizzata in un file .PEM; la chiave pubblica corrispondente è incorporata nell'intestazione del .crx. Il tipo MIME è application/x-chrome-extension.
Distribuzione e installazione
La maggior parte dei file .crx può essere scaricata e installata tramite il Chrome Web Store. Dopo l'installazione riuscita, il browser elimina automaticamente il file .crx. I file .crx personalizzati possono essere installati manualmente dal disco, sebbene Chrome richieda l'abilitazione della Modalità sviluppatore nelle impostazioni delle estensioni per le installazioni esterne allo store.
Sicurezza e incolumità
RISCHIO: HIGHUn CRX è codice eseguibile del browser con accesso alle pagine che visiti, ai tuoi cookie e (a seconda dei permessi) alle tue password e cronologia. Installarne uno dall'esterno del Chrome Web Store scavalca la revisione di Google e la scansione malware, quindi tratta i file CRX caricati lateralmente come app esterne: installali solo da sviluppatori di cui ti fidi. Le versioni moderne di Chrome bloccano deliberatamente le installazioni casuali di CRX per questo motivo. Ispeziona un CRX sospetto rinominandolo in .zip e leggendo manifest.json (specialmente l'elenco «permissions») prima di caricarlo. Diffida dei download di CRX pubblicizzati come «estensioni premium gratuite» da siti casuali: molti sono adware o ladri di dati.
Dettagli del formato
in sintesi- CryENGINE / File risorsa CRYENGINE - Alcuni motori di gioco e strumenti utilizzano .crx per risorse compilate o dati di archivio - non correlati alle estensioni di Chrome.
- IBM/Lotus e altri dati di app legacy - Alcune vecchie applicazioni aziendali utilizzavano .crx per file di dati interni; questi sono specifici dell'app e non sono estensioni del browser.
Programmi che aprono file CRX
Dettagli tecnici
specifiche approfondite| Magic bytes | Cr24 (hex 43 72 32 34) all'offset 0; i byte 4-7 codificano il numero di versione CRX |
| Tipo di formato | Archivio ZIP firmato con un prefisso di intestazione CRX binario |
| Versione attuale del formato | CRX3 - obbligatorio da Chrome 75 (giugno 2019) |
| Versione legacy del formato | CRX2 - utilizzato prima di Chrome 75; non accettato dalle versioni moderne di Chrome |
| Struttura intestazione CRX3 | Magic bytes, campo versione, lunghezza intestazione, quindi un blocco SignedData serializzato con protobuf contenente la prova della chiave pubblica |
| Algoritmo di firma | RSA-2048 con SHA-256 (CRX2); struttura protobuf AsymmetricKeyProof (CRX3) |
| Tipo MIME | application/x-chrome-extension |
| Compressione payload | ZIP (DEFLATE) - l'archivio ZIP standard inizia immediatamente dopo l'intestazione |
| File radice richiesto | manifest.json - dichiara il nome dell'estensione, la versione, i permessi e i punti di ingresso |
| Derivazione ID estensione | Stringa di 32 caratteri minuscoli derivata dall'hash SHA-256 della chiave pubblica dell'estensione |
| File chiave sviluppatore | .pem (chiave privata RSA) utilizzato per firmare il pacchetto; la chiave pubblica corrispondente è incorporata nell'intestazione CRX |
| Installazione esterna allo store | Richiede la Modalità sviluppatore abilitata su chrome://extensions; distribuzione aziendale tramite la policy di gruppo ExtensionInstallForcelist |
| Comportamento post-installazione | Chrome elimina automaticamente il file .crx dal disco dopo un'installazione riuscita |
| Browser compatibili | Google Chrome, Microsoft Edge (v79+), Brave, Opera, Vivaldi e altri browser basati su Chromium |
| Rilasciato | 2010 (CRX2); CRX3 format mandatory since Chrome 75, June 2019 |
| Standard aperto | Sì · royalty-free |
| Specifica | developer.chrome.com |
Conversioni CRX
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file CRX.