Wat is het CMP-bestandsformaat?
.cmp is een archiefbestand geproduceerd door de PKWARE Data Compression Library (DCL). Het formaat is gemaakt door PKWARE, een IT-beveiligings- en datacompressiebedrijf. Het past het DCL Implode-algoritme toe - een sliding-window methode die verwant is aan, maar ouder is dan de DEFLATE die wordt gebruikt in standaard ZIP-archieven - om een enkele datastream te comprimeren, zonder interne bestandsnaamtabel of mappenstructuur.
Een .cmp-stream begint met één of twee header-bytes die de literal-coding modus (binair of ASCII) en de grootte van het woordenboek coderen: 1 KB, 2 KB of 4 KB. Deze worden gevolgd door een reeks lengte-, afstand- en literal-tokens en een afsluitende end-of-stream markering. Er is geen vaste magic-byte signatuur, dus identificatie hangt af van de kennis over de producerende applicatie.
DCL-gecomprimeerde data wordt vaker aangetroffen ingebed in andere formaten - legacy game-archieven, oudere installatiepakketten en eigen databestanden - dan opgeslagen als zelfstandige .cmp-bestanden. De .cmp-extensie wordt veelvuldig hergebruikt door veel niet-gerelateerde programma's, dus context is essentieel voor een correcte identificatie.
PKWARE biedt ook het PKWare Platform aan, een bredere zakelijke oplossing voor het beheren van veilige documentuitwisseling binnen organisaties. .cmp-bestanden die aan dat platform zijn gekoppeld, zijn niet uitwisselbaar met generieke DCL-streams. Tools die met DCL .cmp-data kunnen werken zijn onder andere blast (de DCL-decompressor in de zlib-broncode), evenals hex-editors zoals 010 Editor en ImHex voor inspectie en analyse.
Beveiliging & veiligheid
RISICO: LOWEen DCL .cmp is passieve gecomprimeerde data en niet uitvoerbaar, dus het bestandstype zelf is laag risico. Het praktische gevaar is misidentificatie: een .cmp kan in werkelijkheid een ander (mogelijk eigen) formaat zijn, en het decompresseren van onbetrouwbare gecomprimeerde data met een buggy decompressor zou in theorie geheugenfouten kunnen veroorzaken. Inspecteer met een hex-editor en gebruik onderhouden tools (zlib's blast) in plaats van willekeurige „CMP opener”-downloads, waarvan vele PUP/adware zijn.
Formaatdetails
in een notendop- JEDMICS C4 gecomprimeerde afbeelding (CALS Raster Type 4) - U.S. DoD bitmap-afbeelding: 128-byte header, tegel-index, daarna 512x512 CCITT Group 4-tegels - zelfde .cmp (of .c4) extensie, niet gerelateerd aan PKWARE.
- Yamaha keyboard performance/setup bestand - Sommige Yamaha PSR/Tyros arranger-keyboards slaan registratie-/performance-gegevens op met een .cmp-extensie.
- Generiek 'compare' / bitmap component bestand - Verschillende CAD-, GIS- en imaging-tools genereren .cmp voor color-map, vergelijkings- of componentgegevens.
Programma's die CMP-bestanden openen
Technische details
diepe specificaties| Compressie-algoritme | DCL Implode - een LZ77/Huffman sliding-window methode ontwikkeld door PKWARE, verschillend van DEFLATE |
| Opties voor woordenboekgrootte | Drie groottes selecteerbaar via header-vlag: 1 KB (vlag 4), 2 KB (vlag 5), of 4 KB (vlag 6) |
| Literal coding modi | Binaire modus (0) of ASCII-modus (1), gekozen door de eerste header-byte om token-codering te optimaliseren voor het datatype |
| Bestandsstructuur | Ruwe gecomprimeerde data in een enkele stream - geen interne map, bestandsnamen of multi-bestands archiefwrapper |
| Magic bytes / signatuur | Geen - de eerste bytes zijn DCL-header-vlaggen die de modus en woordenboekgrootte coderen, geen vast magisch getal |
| Byte-volgorde | Little-endian bit- en byte-stream |
| MIME-type | application/octet-stream (geen formaatspecifiek MIME-type geregistreerd voor DCL .cmp) |
| Ambiguïteit van extensie | De .cmp-extensie is zwaar overbelast en wordt hergebruikt door veel niet-gerelateerde applicaties; het producerende programma moet bekend zijn voor correcte identificatie |
| Typische inbeddingscontext | DCL-streams verschijnen meestal als blokken binnen legacy game-archieven, oudere installatiepakketten en eigen databestanden in plaats van als zelfstandige .cmp-bestanden |
| Ondersteuning voor versleuteling | Niet ondersteund - DCL is een puur compressie-algoritme; versleuteling moet afzonderlijk op containerniveau worden toegepast |
| Canonieke open-source decompressor | blast - opgenomen in de zlib-broncode (contrib/blast/) en specifiek geschreven om DCL Implode-streams te decoderen |
| Relatie met PKZIP Implode | DCL Implode is een apart algoritme van PKZIP Implode (compressiemethode 6); ze delen een naam maar zijn niet uitwisselbaar |
| End-of-stream markering | Een speciaal eind-token ingebed in de bitstream signaleert de beëindiging, onafhankelijk van de fysieke bestandsgrootte |
| Geassocieerde platforms | Windows en DOS (legacy oorsprong); cross-platform via DCL-bibliotheekinbedding in applicatiecode van derden |
| Typische bestandsgrootte | 1 KB tot enkele MB afhankelijk van de brongegevens; het kleine woordenboek beperkt de compressieratio vergeleken met moderne algoritmen |
| Uitgebracht | 1990s (PKWARE Data Compression Library, DCL) |
| Laatste versie | PKWARE DCL (the 'implode'/'explode' algorithm; not separately versioned) |
| Specificatie | www.pkware.com |
CMP conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over CMP-bestanden.