Co to jest format pliku CMP?
.cmp to plik archiwum utworzony przez PKWARE Data Compression Library (DCL). Format ten został opracowany przez PKWARE, firmę zajmującą się bezpieczeństwem IT i kompresją danych. Wykorzystuje on algorytm DCL Implode - metodę przesuwanego okna (sliding-window) spokrewnioną z DEFLATE stosowanym w standardowych archiwach ZIP, ale starszą od niego - do kompresji pojedynczego strumienia danych, bez wewnętrznej tabeli nazw plików czy struktury katalogów.
Strumień .cmp zaczyna się od jednego lub dwóch bajtów nagłówka, które kodują tryb kodowania literałów (binarny lub ASCII) oraz rozmiar słownika: 1 KB, 2 KB lub 4 KB. Po nich następuje sekwencja tokenów długości, odległości i literałów oraz znacznik końca strumienia. Format nie posiada stałej sygnatury magicznych bajtów, więc identyfikacja zależy od znajomości aplikacji generującej plik.
Dane skompresowane za pomocą DCL najczęściej znajdują się wewnątrz innych formatów - archiwalnych plików gier, starszych pakietów instalacyjnych i autorskich kontenerów danych - rzadziej jako samodzielne pliki .cmp. Rozszerzenie .cmp jest intensywnie wykorzystywane przez wiele niepowiązanych programów, dlatego kontekst jest niezbędny do poprawnej identyfikacji.
PKWARE oferuje również PKWare Platform, szersze rozwiązanie korporacyjne do zarządzania bezpieczną wymianą dokumentów w organizacjach. Pliki .cmp powiązane z tą platformą nie są zamienne z generycznymi strumieniami DCL. Narzędzia obsługujące dane DCL .cmp to między innymi blast (dekompresor DCL w drzewie źródłowym zlib), a także edytory szesnastkowe, takie jak 010 Editor i ImHex, służące do inspekcji i analizy.
Bezpieczeństwo
RYZYKO: LOWPlik DCL .cmp to pasywne dane skompresowane i nie jest wykonywalny, więc sam typ pliku niesie niskie ryzyko. Praktycznym zagrożeniem jest błędna identyfikacja: .cmp może być w rzeczywistości innym (prawdopodobnie autorskim) formatem, a dekompresja niezaufanych danych za pomocą wadliwego dekompresora mogłaby teoretycznie wywołać błędy pamięci. Należy sprawdzać pliki edytorem szesnastkowym i używać sprawdzonych narzędzi (blast z pakietu zlib) zamiast pobierać przypadkowe programy typu „CMP opener”, z których wiele to PUP/adware.
Szczegóły formatu
w pigułce- Skompresowany obraz JEDMICS C4 (CALS Raster Type 4) - Obraz bitmapowy Departamentu Obrony USA: 128-bajtowy nagłówek, indeks kafelków, a następnie kafelki 512x512 CCITT Group 4 - to samo rozszerzenie .cmp (lub .c4), niepowiązane z PKWARE.
- Plik ustawień/wykonań instrumentów klawiszowych Yamaha - Niektóre keyboardy aranżacyjne Yamaha PSR/Tyros zapisują dane rejestracji/wykonań z rozszerzeniem .cmp.
- Generyczny plik porównania / komponentu mapy bitowej - Różne narzędzia CAD, GIS i graficzne generują pliki .cmp dla map kolorów, danych porównawczych lub składowych.
Programy otwierające pliki CMP
Szczegóły techniczne
specyfikacja| Algorytm kompresji | DCL Implode - metoda przesuwanego okna LZ77/Huffman opracowana przez PKWARE, odrębna od DEFLATE |
| Opcje rozmiaru słownika | Trzy rozmiary wybierane za pomocą flagi nagłówka: 1 KB (flaga 4), 2 KB (flaga 5) lub 4 KB (flaga 6) |
| Tryby kodowania literałów | Tryb binarny (0) lub tryb ASCII (1), wybierany przez pierwszy bajt nagłówka w celu optymalizacji kodowania tokenów dla danego typu danych |
| Struktura pliku | Surowe dane skompresowane w jednym strumieniu - brak wewnętrznego katalogu, nazw plików czy kontenera wieloplikowego |
| Magiczne bajty / sygnatura | Brak - pierwsze bajty to flagi nagłówka DCL kodujące tryb i rozmiar słownika, a nie stała liczba magiczna |
| Kolejność bajtów | Strumień bitów i bajtów Little-endian |
| Typ MIME | application/octet-stream (brak zarejestrowanego specyficznego typu MIME dla DCL .cmp) |
| Niejednoznaczność rozszerzenia | Rozszerzenie .cmp jest mocno przeciążone i używane przez wiele niepowiązanych aplikacji; do poprawnej identyfikacji niezbędna jest znajomość programu źródłowego |
| Typowy kontekst osadzania | Strumienie DCL najczęściej pojawiają się jako bloki wewnątrz archiwalnych plików gier, starszych instalatorów i autorskich kontenerów danych, a nie jako samodzielne pliki .cmp |
| Obsługa szyfrowania | Brak - DCL to czysty algorytm kompresji; szyfrowanie musi być stosowane oddzielnie na poziomie kontenera |
| Kanonizowany dekompresor open-source | blast - dołączony do drzewa źródłowego zlib (contrib/blast/) i napisany specjalnie do dekodowania strumieni DCL Implode |
| Relacja do PKZIP Implode | DCL Implode to oddzielny algorytm od PKZIP Implode (metoda kompresji 6); dzielą nazwę, ale nie są zamienne |
| Znacznik końca strumienia | Dedykowany token końcowy osadzony w strumieniu bitów sygnalizuje zakończenie, niezależnie od fizycznego rozmiaru pliku |
| Powiązane platformy | Windows i DOS (pochodzenie historyczne); wieloplatformowość dzięki osadzaniu biblioteki DCL w kodzie aplikacji firm trzecich |
| Typowy rozmiar pliku | Od 1 KB do kilku MB w zależności od danych źródłowych; mały słownik ogranicza współczynnik kompresji w porównaniu do nowoczesnych algorytmów |
| Wydano | 1990s (PKWARE Data Compression Library, DCL) |
| Najnowsza wersja | PKWARE DCL (the 'implode'/'explode' algorithm; not separately versioned) |
| Specyfikacja | www.pkware.com |
Konwersje CMP
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki CMP.