Co to jest format pliku FF?
Plik .ff to FastFile używany przez serię Call of Duty, znany również nieformalnie jako „plik strefy” (zone file). Jest to zastrzeżony kontener binarny opracowany przez Infinity Ward i Treyarch dla silnika IW, który pojawił się po raz pierwszy około 2005-2007 roku w *Call of Duty 2*, a później w *Call of Duty 4: Modern Warfare*.
Każdy plik .ff pakuje kompletną „strefę” zasobów gry - modele, tekstury, materiały, animacje, odniesienia audio, skrypty i zlokalizowane ciągi znaków - w jeden blok, który silnik ładuje jako jednostkę, co umożliwia szybkie przesyłanie strumieniowe poziomów. Plik zaczyna się od 8-bajtowego nagłówka ASCII, takiego jak IWffu100 lub IWff0100, który identyfikuje gałąź silnika i wersję formatu, po czym następuje serializowany strumień zasobów skompresowany algorytmem zlib.
Format nie jest jednolity dla wszystkich tytułów: każda gra z serii Call of Duty definiuje własną sygnaturę nagłówka i układ strefy, więc narzędzia zbudowane dla jednej gry nie mogą odczytać plików innej. Wczesne części używają zwykłej kompresji zlib/DEFLATE, podczas gdy późniejsze gry (od *Modern Warfare 2* wzwyż) stopniowo wprowadzają szyfrowanie i podpisywanie kryptograficzne, co blokuje generyczne ekstraktory.
Społeczność moderska stworzyła narzędzia dedykowane dla konkretnych tytułów, takie jak FFViewer i różne ekstraktory stref dla wcześniejszych, niezaszyfrowanych gier. Na dysku pliki .ff mają rozmiar od kilku megabajtów w przypadku małych map do kilkuset megabajtów w przypadku dużych zestawów zasobów.
Rozszerzenie .ff jest sporadycznie używane przez niepowiązane formaty, ale w kontekście gier odnosi się niemal wyłącznie do plików Call of Duty FastFiles. Powiązanym formatem Infinity Ward jest archiwum .IWD, czyli przemianowany ZIP używany obok plików FastFiles dla luźnych zasobów na tym samym silniku.
Bezpieczeństwo
RYZYKO: MEDIUMGłówne ryzyko wynika z własnych działań: usunięcie, zmiana nazwy lub błędna edycja pliku .ff Call of Duty psuje lub uszkadza grę - nigdy nie usuwaj ich, aby „zwolnić miejsce”; zamiast tego odinstaluj grę i wykonaj kopię zapasową każdego pliku .ff przed modowaniem. Kontener zawiera pasywne dane zasobów i nie uruchamia automatycznie kodu, ale pobrane mody CoD mogą być dostarczane wraz ze skryptami/plikami wykonywalnymi, więc pobieraj je tylko z renomowanych witryn społecznościowych. Uważaj na strony obiecujące „otwarcie dowolnego .ff” - wiele z nich jest niskiej jakości lub zawiera niechciane oprogramowanie (PUP); narzędzia muszą być specyficzne dla danej gry.
Szczegóły formatu
w pigułce- Grafika Heretic / Hexen 'FF' (legacy) - Niektóre stare gry na silniku id/Raven używały .ff dla spakowanej grafiki; niepowiązany, przestarzały format.
- Generyczny plik 'Far'/font/data - Kilka aplikacji i czcionek używało .ff dla własnych danych; niepowiązane z Call of Duty.
Programy otwierające pliki FF
Szczegóły techniczne
specyfikacja| Magic bytes | `IWff` na offsecie bajtowym 0; przykłady pełnych 8-bajtowych tagów ASCII: `IWffu100` (znacznik nieskompresowany), `IWff0100` |
| Kolejność bajtów | Little-endian |
| Kompresja | zlib/DEFLATE we wczesnych tytułach CoD; późniejsze tytuły używają innych lub dodatkowych schematów kompresji |
| Szyfrowanie | Brak we wczesnych tytułach (CoD2, CoD4, WaW); szyfrowanie oparte na Salsa20 i podpisywanie kryptograficzne dodane w późniejszych grach |
| Typ kontenera | Serializowany pakiet zasobów „strefy” - nie jest to prosty katalog plików ani tabela archiwum |
| Przechowywane typy zasobów | Modele 3D, tekstury, materiały, animacje, metadane audio, skrypty, zlokalizowane ciągi znaków |
| Struktura nagłówka | 8-bajtowy tag wersji ASCII, po którym następuje bezpośrednio skompresowany ładunek strefy |
| Warianty formatu dla poszczególnych tytułów | Sygnatura nagłówka i schemat strefy różnią się w każdym tytule CoD; narzędzia zbudowane dla jednej gry nie są kompatybilne z inną |
| Typowy rozmiar pliku | Od kilku MB (małe mapy lub poprawki) do kilkuset MB (pełne poziomy) |
| Typ MIME | `application/octet-stream` |
| Kodowanie | Binarne (brak warstw tekstowych lub base64) |
| Platformy docelowe | Windows PC; ta sama rodzina formatów jest używana w wersjach na konsole Xbox i PlayStation |
| Mechanizm integralności | Suma kontrolna strumienia zlib we wczesnych tytułach; podpisywanie kryptograficzne dodane w późniejszych grach |
| Kompatybilność narzędzi | Zależna od tytułu; FFViewer i społecznościowe ekstraktory stref działają tylko na wybranych wczesnych, niezaszyfrowanych tytułach |
| Wydano | 2005-2007 (Call of Duty 2 / Call of Duty 4: Modern Warfare, IW engine) |
| Najnowsza wersja | Format evolves per CoD title (header magic and encryption differ between games; later titles add encryption/signing) |