How Does the CRX Extractor and Inspector Work?
The QikSoft CRX Extractor has been created with the assistance of official Google documentation which describes the .crx Chrome Extensions file format. Now that Microsoft has based Edge on Chromium, the documentation pretty much works the same for Edge store extensions.
To get a Chrome or Edge Extension’s source code, the CRX utility parses the provided .crx file, extracts the extensions “magic” header and the stored code signature.
Along with meta-data, the .CRX file contains a complete .zip-archive. This archive contains the extension manifest, source code, popup.html and all related source files.
In general, .CRX file format consist of a few parts:
– Magic header
– Version of file format
– Public Key information and a package signature
– Zipped contents of the extension source code
Magic header is the file signature telling that the file is a Chrome Extension. The operating system uses this info to determine the actual type of the file (MIME type is application/x-chrome-extension). The operating system now knows how to treat the file (is it executable? is it a text file?).
In .CRX files, the magic header has a constant value Cr24 or 0x43723234. The version is provided by vendor. The version bytes are 0x02000000.
The next part of the .CRX file contains the length of the public key information and the length of a digital signature.
All .CRX packages distributed via Chrome & Edge WebStore’s should (actually must) have public key information and a digital signature. This makes it possible for browsers to check that the package has been transmitted without modifications and that no additions or replacements were made.
After all of the header information and typically on 307th byte, comes the actual extension code which is stored as a zip archive. The remainder of the .CRX file is the .zip archive.
You can inspect extensions online using our Extension Inspector (link above). Take a look at this video to see how the online extension inspector works: