UPX
https://gyazo.com/912bbba88a0be768536256e23775003e
UPX - the Ultimate Packer for eXecutables
アプリケーションのバイナリを実行可能な状態で圧縮する仕組み (実行ファイル圧縮ソフト)
バイナリサイズの圧縮の他、アプリの難読化に使用されることがある
対象の実行可能ファイルにごく小さな展開用のコードを付与することで、圧縮済みのファイルがそのまま実行されているかのように振る舞う
2つの解凍方式に対応している
インプレース方式
基本的に使用される方式。メモリ上にアプリを展開し、そこから実行する。
一時ファイル
一時領域に実行ファイルを展開し、実行する。
Tips
一部のアンチウィルスソフトはUPXの解凍コードを誤検知し、正常なファイルをブロックすることがある
一部の古い Linux では解凍コードが使用しているAPIに対応しておらず圧縮済みのアプリが実行できなくなる事がある