X systémy pro Amigu
Seznam kapitol
XFD - eXternal File Decruncher
Umístění: LIBS:xfdmaster.library a LIBS:xfd/ (doplňkové externí decrunchery)
Jeden z nejlepších depakovacích systémů pro Amigu. Jeho autorem je Georg Hörmann, který stojí také za velmi známým antivirovým programem Virus Z. Tento systém dokáže depakovat jakýkoli typ zapakovaných dat na Amize (spustitelné soubory, datové soubory). Na rozdíl od systému XPK, který dokáže depakovat pouze vlastní formáty, XFD dokáže depakovat všechny pakovací formáty vyvinuté v průběhu let a to samozřejmě včetně XPK. XFD neumí data pakovat, slouží výhradně k rozbalování souborů pro jakékoliv účely.
S hlavní ideou přišel Georg Hoermann, na vývoji celého systému se ale podílelo mnohem větší množství lidí, kteří psali rutiny pro externí decrunchery. Autorovi XFD se tak podařilo sjednotit rozbalování prakticky všech známých i neznámých packerů (včetně podpory systému XPK), čímž se XFD systém stal standardem jak pro skoro všechny antivirové programy, tak i v samotné oblasti rozbalování souborů. XFD nepodporuje archivační programy a neumí tedy rozbalit žádný z archivů typu LHA, LZX, ZIP, ARJ, ARC, RAR apod., pro rozbalování archivů je určen další popsaný systém XAD.

Celý systém se skládá z hlavní knihovny xfdmaster.library, doplňkových externích decruncherů a ovládacích případně informačních utilit. Všechny služby spojené s depakováním obstarává uvedená knihovna xfdmaster.library, kterou je možné ovládat buď přímo voláním jednotlivých funkcí (tedy programově) nebo klasicky s pomocí utilit přiložených v archivu. Obrovskou výhodou celého systému je funkčnost od AmigaOS 1.2 a výše, pouze utility xfdPatch a xfdDecrunchAddr vyžadují AmigaOS 2.0 a novější. Počet podporovaných interních i externích decruncherů je opravdu značný a nebudeme si je zde rozepisovat.
Ovládací utility
xfdDecrunch
Hlavní program sloužící k rozbalování souborů. Vyžaduje Kickstart V37+, v případě starších verzí AmigaOS pak ještě arp.library. Utilitka používá obvyklé parametry SOURCE pro název souboru a DEST pro určení adresáře nebo názvu samotného souboru určeného k depakování. Pokud zadáte v parametru SOURCE adresář nebo použijete wildcards, DEST pochopitelně musí být také adresář. V případě zadání pouze názvu souboru (xfdDecrunch) bude uvedený soubor přepsán jeho rozbalenou podobou se stejným názvem. Parametr COPYALL způsobí okopírování zadaných souborů do DEST adresáře, který musí být v tomto případě uveden. Uvedete-li ještě parametr ALL, bude se prohledávat kompletní adresářová struktura od úrovně zadané parametrem SOURCE. Obvyklý parametr FORCE způsobí zákaz dotazu na případné přepsání souboru. Další parametr CLONE určí, že rozbalený soubory (včetně adresářů) budou mít stejný komentář a stavové bity (atributy) jako originální zabalený soubor či soubory. Při chybě způsobené např. neočekávanou strukturou souboru nebo nekorektní funkcí externího decruncheru se objeví hlášení, zda chcete v rozbalování pokračovat, čemuž lze zamezit parametrem NOASK. U souborů pakovaných s pevnou paměťovou adresou (dost nebezpečný stav, ale většina těch exotičtějších pakovacích formátů je založena právě na principu pevné adresy) máte k dispozici parametry LINKSIMPLE a LINKPRO. První z nich přilinkuje k rozbaleným datům pouze jednoduchou hlavičku, která data či soubor rozbalí na určenou adresu a v případě executable souboru jej spustí. LINKPRO je mnohem inteligentnější způsob, kdy je zkoušeno alokovat očekávaný paměťový prostor a s pomocí overlay technik není třeba pevná adresa ani kontinuální paměťový rozsah, tedy tento systém funguje i v různých typech paměti. Dalším speciálním parametrem je STRIPHUNKS, který umí odstranit z některých souborů různé části hunků a s jeho pomocí lze někdy rozbalit i mnohé jinak nedepakovatelné soubory či data. Poslední parametr NOEXTERN zakáže používání externích decruncherů, což je užitečné zejména v případě havárie depakování některých typů souborů jako jsou SFX (samorozbalitelné) soubory.
xfdDecrunchAddr
Velmi podobná utilitka jako xfdDecrunch specializovaná na rozbalování souborů pakovaných na určenou adresu. Vyžaduje Kickstart V37+, parametry jsou podobné jako u xfdDecrunch. SOURCE udává zdrojový soubor, DEST pak výstupní soubor, wildcards tentokrát nejsou podporovány. Parametr HEADER může nabývat hodnot 0-4 a 11-13 dle žádaného typu hlavičky souboru (podrobný popis viz manuál). S číselnými hodnotami udávanými za parametrem HEADER souvisí ještě několik dalších speciálních parametrů, jejichž popis opět najdete v manuálu.
xfdLibInfo
Informační utilitka o packerech podporovaných samotnou xfdmaster.library. Zobrazený přehled obsahuje jméno packeru, jeho identifikátor a další podrobné informace. xfdLibInfo vyžaduje Kickstart V37+ nebo starší AmigaOS společně s arp.library. Utilitka nemá žádné parametry.
xfdList
xfdList zkoumá soubory a informuje o případném použitém packeru. Vyžaduje opět Kickstart V37+ nebo starší AmigaOS s arp.library. Parametr FILE nemusí být uveden, s obvyklým ALL lze navíc prozkoumat celé adresářové struktury. NOEXTERN zakáže použití externích decruncherů pro zkoumání a může tak zamezit padání systému v případě neodladěného nebo zcela nového externího decruncheru (který většinou není bez chyb).
xfdPatch
Tato utilita patchne dos.library/[New]LoadSeg() vectory a zabrání spuštění hlavičky rozbalovaného souboru, což je užitečné zvláště v případě nesprávné funkce hlavičky starých cruncherů pod novými AmigaOS.
xfdPatch
Vyžaduje Kickstart v37+. Odstranění xfdPatch z paměti lze provést pomocí parametru REMOVE. Další parametr DEFAULT určuje, že se soubor nebo jeho části rozbalí na určené místo v paměti (CHIP nebo FAST RAM). Parametry EXTERN a NOEXTERN povolí či zakážou použití externích decruncherů, pomocí FAILATERROR a NOFAILATERROR můžete sdělit utilitce xfdPatch jak má reagovat při chybě vzniklé při depakování.
xfdScan
xfdScan prohledává soubory a snaží se v nich najít nějaká zapakovaná data. Utilita vyžaduje Kickstart V37+ nebo starší AmigaOS + arp.library. Parametr SOURCE udává název prohledávaného souboru, DEST pak určuje základní kořenové jméno, ke kterému se v případě nalezených zabalených dat připojí číselné parametry „.xx“ počínaje číslem „00“. NOEXTERN opět zamezí používání externích decruncherů. Parametr SCANODD nastaví prohlížení souboru vždy od sudé adresy, vyžaduje však procesor 68020 a novější.
xfdUnlink
Jak už název napovídá, slouží tato utilita k odlinkování souborů. Vyžadován je opět Kickstart V37+ nebo starší verze AmigaOS + the arp.library. SOURCE jako vždy udává soubor, DEST1 a DEST2 určují výstupní soubory.
HackProPack
Utilita sloužící výhradně k rozbalování souborů zapakovaných s cruncherem ProPack z produkce Rob Northen Computing, neboť tento packer používá speciální pakovací metody s pomocí 16bitového klíče. HackProPack umí najít správný klíč pro takto zabalená data. Vyžadován je Kickstart V37+, u starších verzí AmigaOS pak také arp.library. Pro název souboru tentokrát funguje parametr FILE, s další volbou FROM a TO lze určit, od jakého rozsahu se budou zkoušet jednotlivé klíče (165535/$1-$ffff).
Není mi známo žádné GUI pro ovládací utility, takže nejjednodušším způsobem použití je nastavit si xfdDecruch a ostatní například do Directory Opusu, DOS Controlu, BD Manageru a dalších diskových / souborových managerů. XFD je vynikající pomůckou všude, kde je potřeba rozbalit nějaký zapakovaný soubor či soubory. Snadno se ovládá a je velmi spolehlivý.






