実行ファイル圧縮
ソフトウェアの配布にあたって実行ファイル圧縮を行う理由は、第一に二次記憶装置で占める容量をなるべく削減するためである。実行ファイル圧縮ソフトウェアは、実行ファイル専用に設計されている。圧縮することでソフトウェアが配布媒体(CD-ROM、DVD、フロッピーディスク)に収まるということもあるし、インターネット上でダウンロードするのにかかる時間も節約できる。
実行ファイル圧縮は、圧縮と同時に暗号化することでリバースエンジニアリングを阻止するために使われることもある。また、マルウェアの存在をアンチウイルスソフトウェアから隠す目的で使われることもある。実行ファイル圧縮をしておくと、直接的な逆アセンブルが不可能となり、ファイル内容を見ても通常の実行ファイルに見られるような文字列リテラルが見つからない。もっとも、これでリバースエンジニアリングが完全に不可能というわけではなく、単に手間がかかるようになるというだけである。
補助記憶装置上の容量や転送時間の削減が可能になる反面、実際の実行を開始する前に伸張(解凍)する時間がかかる。ただし、一般に補助記憶装置のアクセスにかかる時間はCPUの速度に比較して非常に大きいため、圧縮されて小さくなった実行ファイルをロードすることで時間が短縮されており、伸張にかかる時間をほぼ相殺すると言える。
実行ファイルの一部をオンデマンドで読み込むオペレーティングシステム(OS)では(仮想記憶参照)、実行ファイル圧縮はその効率を悪化させる。伸張機能部分は伸張したデータをメモリ上に展開し、その実行ファイルを実行中はそれを保持する。これは、各ページを実際に使用するか否かに関わらない。