Futtatható fájlok csomagolása

A végrehajtható csomagolás a végrehajtható fájl tömörítéséből és a fájl tartalmának kicsomagolásához és végrehajtásához szükséges kód csatolásából áll. A csomagolást számos okból használják:

Végrehajtható csomagoló

A végrehajtható csomagoló egy program a végrehajtható fájlok méretének csökkentésére. A tömörített fájl tartalmazza a forrásfájl tömörített másolatát és egy kicsomagoló programot.

A tömörített fájl futtatása után a kicsomagoló kibontja a programkódot az archívumból (általában közvetlenül a memóriába, bár vannak olyan csomagolók is, amelyek lemezre írják a fájlt), és átadja neki a vezérlést.

A csomagolt végrehajtható fájl egyfajta önkicsomagoló archívum ( SFX ), amely egyetlen fájlban tartalmazza a tömörített információkat és a kicsomagolót.

Példák csomagolókra

Az egyes fordítókba és fejlesztőeszközökbe (például Visual C++ stb.) beépített csomagolási algoritmusok mellett számos olyan eszköz is rendelkezésre áll, amelyek specifikusabb feladatok elvégzésére szolgálnak, mint pl.

Kicsomagolók

A végrehajtható fájlok pontos kicsomagolása, mint általában a visszafejtés , gyakran nehéz vagy lehetetlen.

Sok dekompresszor (például a procdump ) egy fájlt futtat, és a memóriába betöltött képből létrehozza a fájl kicsomagolt verzióját. Ha azonban ez a fájl vírust tartalmazott, a rendszer megsérülhet. Ezenkívül a csomagolóknak számos trükkje is van a dinamikus kicsomagolás kezelésére: például a kód visszafejtése nem teljesen, hanem csak a végrehajtás során, vagy például a teljes vírus dekódolása és elindítása a hét egy bizonyos napján. .

A statikus kicsomagolók, amelyek megpróbálnak kicsomagolni egy fájlt futtatás nélkül (például a CUP386 vagy az UNP ), haszontalanok, ha a csomagoló algoritmus megköveteli a fájl futtatását.

Lásd még