0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

upxをビルドする。

Posted at

UPXという実行ファイル圧縮環境がある。
諸般の事情でこれをビルドする機会があったのだが、今後もビルドするかもしれないので、とりあえずメモ。

普通のビルド

ここらへんを用意する。

Ubuntu 12.04

ちなみに、同じ手順でcygwinでもやったけどできた。
cygwinはdev環境が全てインストールされた状態。

UCL 1.0.3

圧縮解凍ライブラリ。
ここで入手する(http://www.oberhumer.com/opensource/ucl/download/)

ubuntu
./configure
make install

zlib

zlibも使うオプションがあって、ビルドには必要なので用意する。
ubuntuだとaptから入手できたけど、cygwinの場合はサイトから落としてきてmakeしないといけなかった。(http://www.zlib.net/)

ubuntu
apt-get install zlib1g-dev

UPX 3.91(source code)

これが本体。
ここで入手する(http://upx.sourceforge.net/#downloadupx)

ubuntu
make all

スタブのビルド

先の分で普通にビルドできるが、stub(パック済みEXEにつく解凍プログラム)はビルドされていない。これはビルド済みバイナリ相当のモノがsrc/stubに配置されていて、基本的に操作不要になっている。
ただし、stubに改造を加える場合(src/stub/src/*)はこれらもビルドと変換をしなければならない。
# ちなみに、perlとpythonも必要になる。

UPX-TOOLS

クロスコンパイラ環境的な何からしい。他環境向けstubもビルドされるので、そこら辺に対して対応するためのもの。
ここで入手する(http://sourceforge.net/projects/upx/files/upx-tools/20130920/)

READMEを読むと古いバージョンを落とすようにURLが書かれているが、しれっと新しいバージョンが置いてある。どうもこちらが正解っぽい。
解凍してパスの通った所にディレクトリごとコピーする。あまりずっと使うものじゃないので、適当な場所に落として一時的にPATHを変えるのが良いか。これでsrc/stubの下で

ubuntu
make all

ちなみに、stubのビルドは今の所cygwinでは上手くいっていない。
たぶんWin版だけMakefileから切り出すとか、工夫しないといけないんじゃないかと思う。

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?