Wat is het CRX-bestandsformaat?
De .crx bestandsextensie wordt gebruikt door Google Chrome en andere op Chromium gebaseerde browsers. Een .crx-bestand is een Chrome Extension package - een installatiebestand voor browser-plugins en extensies. Het is in feite een pakket bestaande uit verschillende bestanden, zoals JavaScript (.js), manifest (.json), CSS-stylesheets, HTML-pagina's en afbeeldingen die samen het gedrag en uiterlijk van de extensie bepalen.
.crx-bestanden worden door Google Chrome gebruikt voor het toevoegen van nieuwe functies of functionaliteit aan de browser, of voor het aanpassen van de gebruikersinterface met aangepaste thema's en interactieve elementen. Op Chromium gebaseerde browsers zoals Microsoft Edge, Brave en Opera ondersteunen dit formaat ook.
ZIP-compressie en bestandsstructuur
.crx-bestanden gebruiken ZIP compressie om het bestand kleiner te maken en zo gemakkelijker te delen via internet. Een .crx-bestand kan worden geopend met archiveringsprogramma's zoals 7-Zip. Een .crx is echter geen kaal ZIP-bestand - elk bestand begint met een binaire header die start met de magic bytes Cr24 (hex 43 72 32 34), die een ingebedde cryptografische handtekening en publieke sleutel bevat. Standaard archiveringstools herkennen deze header mogelijk niet, dus deze moet worden verwijderd voordat de ZIP-inhoud kan worden uitgepakt.
Het huidige CRX3-formaat is verplicht sinds Chrome 75 (juni 2019) en vervangt het oudere CRX2-ondertekeningsschema. Ontwikkelaars ondertekenen hun pakketten met een privésleutel die is opgeslagen in een .PEM-bestand; de bijbehorende publieke sleutel is ingebed in de .crx-header. Het MIME-type is application/x-chrome-extension.
Distributie en installatie
De meeste .crx-bestanden kunnen worden gedownload en geïnstalleerd via de Chrome Web Store. Na een succesvolle installatie verwijdert de browser automatisch het .crx-bestand. Aangepaste .crx-bestanden kunnen handmatig vanaf de schijf worden geïnstalleerd, hoewel Chrome vereist dat de Ontwikkelaarsmodus is ingeschakeld in de extensie-instellingen voor installaties buiten de store.
Beveiliging & veiligheid
RISICO: HIGHEen CRX is uitvoerbare browsercode met toegang tot de pagina's die u bezoekt, uw cookies en (afhankelijk van de machtigingen) uw wachtwoorden en geschiedenis. Het installeren van een bestand van buiten de Chrome Web Store omzeilt de controle en malwarescan van Google, dus behandel gesideloadde CRX-bestanden als gesideloadde apps: installeer ze alleen van een ontwikkelaar die u vertrouwt. Modern Chrome blokkeert om deze reden bewust informele CRX-installaties. Inspecteer een verdachte CRX door deze te hernoemen naar .zip en manifest.json te lezen (vooral de lijst met „permissions”) voordat u deze laadt. Wees op uw hoede voor „gratis premium extensie” CRX-downloads van willekeurige sites - veel daarvan zijn adware of gegevensdieven.
Formaatdetails
in een notendop- CryENGINE / CRYENGINE resourcebestand - Sommige game-engines en tools gebruiken .crx voor gecompileerde brongegevens of archiefgegevens - niet gerelateerd aan Chrome-extensies.
- IBM/Lotus en andere legacy app-data - Een paar oudere zakelijke applicaties gebruikten .crx voor interne databestanden; deze zijn app-specifiek en geen browserextensies.
Programma's die CRX-bestanden openen
Technische details
diepe specificaties| Magic bytes | Cr24 (hex 43 72 32 34) op offset 0; bytes 4-7 coderen het CRX-versienummer |
| Formaat type | Ondertekend ZIP-archief met een binaire CRX-header prefix |
| Huidige formaatversie | CRX3 - verplicht sinds Chrome 75 (juni 2019) |
| Legacy formaatversie | CRX2 - gebruikt vóór Chrome 75; niet geaccepteerd door modern Chrome |
| CRX3 header-structuur | Magic bytes, versieveld, headerlengte, dan een protobuf-geserialiseerd SignedData-blok met het bewijs van de publieke sleutel |
| Ondertekeningsalgoritme | RSA-2048 met SHA-256 (CRX2); AsymmetricKeyProof protobuf-structuur (CRX3) |
| MIME-type | application/x-chrome-extension |
| Payload-compressie | ZIP (DEFLATE) - standaard ZIP-archief begint onmiddellijk na de header |
| Vereist hoofdbestand | manifest.json - declareert de naam, versie, machtigingen en toegangspunten van de extensie |
| Afleiding van extensie-ID | 32-tekens lange string in kleine letters afgeleid van de SHA-256 hash van de publieke sleutel van de extensie |
| Sleutelbestand ontwikkelaar | .pem (RSA-privésleutel) gebruikt om het pakket te ondertekenen; de bijbehorende publieke sleutel is ingebed in de CRX-header |
| Installatie buiten de store | Vereist Ontwikkelaarsmodus ingeschakeld op chrome://extensions; zakelijke implementatie via ExtensionInstallForcelist groepsbeleid |
| Gedrag na installatie | Chrome verwijdert het .crx-bestand automatisch van de schijf na een succesvolle installatie |
| Compatibele browsers | Google Chrome, Microsoft Edge (v79+), Brave, Opera, Vivaldi en andere op Chromium gebaseerde browsers |
| Uitgebracht | 2010 (CRX2); CRX3 format mandatory since Chrome 75, June 2019 |
| Open standaard | Ja · royaltyvrij |
| Specificatie | developer.chrome.com |
CRX conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over CRX-bestanden.