Hard diskovi su računarske komponente kojima cena najbrže pada, a kapaciteti još brže rastu. U vreme od pre desetak godina kada su diskovi bili veličine nekoliko kutija disketa zavidnu popularnost stekao je program pod imenom PK Lite. On je vršio kompresiju izvršnih programa, ali na taj način da su se i dalje mogli startovati.
Sada kada se diskovi mere desetinama gigabajta lako je pomisliti kako nam neki takav program više nikad neće zatrebati. Međutim, nije baš tako. Iznenadićete se koliko ljudi ima prepunjene hard diskove. Takvim korisnicima je namenjen program pod imenom ASPack. On vrši kompresiju EXE i DLL datoteka na sličan način kao i pomenuti PK Lite, samo što se sada mogu kompresovati Windows programi. Kompresovani fajl je obično za nekih 60% do 70% manji od originala, što uopšte nije zanemarljivo. ASPack koristi veoma kvalitetan algoritam kompresije, a fajlu se dodaje i mala procedura za dekompresiju (koja zauzima manje od 1 KB). Način na koji program funkcioniše je sledeći: ASPack posle kompresije na kraj kompresovanog fajla upisuje proceduru za dekompresiju. Startna adresa kompresovanog fajla prebacuje se na početak dekompresora, dok se originalna startna adresa snima negde u telu procedure za dekompresiju. Posle dekompresije pozvanog fajla u memoriji, dekompresor poziva orginalnu startnu adresu i program se tada startuje. Ovako kompresovani fajlovi se brže učitavaju (jer se pri učitavanju manje koristi disk), ali je ovo i dobra zaštita od reverznog inženjeringa. Testiran je sa izvršnim fajlovima kreiranim sa svim poznatijim programskim jezicima za Windows. Pri kompresiji se kreira bekap fajl. Po završetku kompresovanja korisnik mora da testira (odnosno da startuje) kompresovani program pa ako je sve u redu, bekap kopija fajla će se automatski obrisati. Na taj način se osigurava da u slučaju neuspelog kompresovanja orginalni fajl ne bude izgubljen. Korišćenje DLL fajlova moguće je na dva načina. Prvi je upotrebom Windows DLL loadera, a drugi poziva dekompresor upisanog u sam DLL fajl. Jedini je nedostatak što se kompresovani programi ne mogu vratiti u orginalno stanje. To znači da pre upotrebe ASPacka treba dobro da razmislite koje ćete fajlove kompresovati. Program se može naći na adresi www.aspack.com. Branislav BUBANJA |