0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ざっくり用語解説】UPX(Ultimate Packer for eXecutables)について

Posted at

概要

UPX(Ultimate Packer for eXecutables)は、実行形式のファイルやライブラリを圧縮し、サイズを大幅に削減するOSSのツール。

サポート形式

・PE:(Portable Executable):Windowsの.exe/.dllなど
・ELF:(linux/Unix系のバイナリ)
・Mach-O:macOSの実行ファイル
などなど

特徴

圧縮率

・一般的に50%~70%のサイズ削減が可能。Zip/Gzipよりも高い圧縮率を実現。

高速展開

・解答は、10MB/s以上と高速である。古いハードウェアでもリアルタイムに実行可能。

自己完結型実行

・圧縮後のバイナリには展開用のスタブが組み込まれ、追加ライブラリ不要で動作する。

拡張性

・OSSかつプラグイン機構により、独自のフォーマットの追加も可能。

簡単な動作原理

スタブと圧縮

  1. 元のバイナリをブロック単位で圧縮
  2. 圧縮済みデータと展開用スタブを連結
  3. 起動時にスタブが展開し、メモリ上で実行

メモリとランタイム

・圧縮前と比べたメモリ使用量の増加は最小限に抑えられている。完全にオーバーヘッドがないわけではない。

参考文献(参照日2025年5月24日)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?