Ubuntu 12.04 (amd64) で IDA Pro を実行する方法

IDA Pro というリバースエンジニアリング用のツールがありますが、Windows 版、Linux 版、Mac 版が用意されています。

現在の仕事の開発環境は Linux なので Linux 版をダウンロードします。

特にインストールとかはしなくてもパッケージを展開したらすぐに実行できるのですが、Ubuntu 12.04 の 64bit バージョンではいくつかパッケージが足りない(というか IDA Pro から 32bit 版のライブラリが要求される)のでインストールする必要があります。

まずは普通に起動しようとすると、

$ ./idaq
./idaq: error while loading shared libraries: libgthread-2.0.so.0: cannot open shared object file: No such file or directory

こんな感じのエラーになると思います。
この libgthread-2.0.so.0 というファイルがシステムにインストールされていないので、それをシステムにインストールする必要があります。
このファイルがどのパッケージに含まれているかを dpkg コマンドで調べます。

$ dpkg -S libgthread-2.0.so.0
libglib2.0-0: /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0.3200.3
libglib2.0-0: /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0

一番左のカラムに書かれているのがパッケージ名です。この例では libglib2.0-0 というパッケージに含まれているようです。

ではインストールしてみましょう。

$ sudo apt-get install libglib2.0-0
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libglib2.0-0 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

おや、すでにインストールされているようですね。

32ビット版のパッケージをインストールする必要があるのでした。

パッケージ名の後ろに :i386 を付与します。

$ sudo apt-get install libglib2.0-0:i386

今度はインストールできました。

では再び IDA Pro を実行してみましょう。

$ ./idaq
./idaq: error while loading shared libraries: libfreetype.so.6: cannot open shared object file: No such file or directory

今度はまた別のライブラリが見つからないと言っています。

いったいいくつのライブラリが見つからないのか、ldd コマンドでちょっと見てみましょう。

$ ldd idaq | grep 'not found'
	libfreetype.so.6 => not found
	libSM.so.6 => not found
	libICE.so.6 => not found
	libXrender.so.1 => not found
	libfontconfig.so.1 => not found
	libXext.so.6 => not found
	libX11.so.6 => not found

それぞれのライブラリについて、dpkg でパッケージを探して i386 版をインストールする必要があります。

$ ldd idaq | \grep 'not found' | awk '{ print $1 }' | xargs dpkg -S | awk '{ print $1 "i386" }' | sort | uniq 

このワンライナーを実行して表示されるパッケージをすべてインストールしましょう。

インストールまで一括でやっちゃいたい猛者はこちらをどうぞ:

$ ldd idaq | \grep 'not found' | awk '{ print $1 }' | xargs dpkg -S | awk '{ print $1 "i386" }' | sort | uniq | xargs sudo apt-get install -y

インストールが終わったら、

$ ./idaq

でようやく起動できました。


The Ida Pro Book: The Unofficial Guide to the World's Most Popular Disassembler

The Ida Pro Book: The Unofficial Guide to the World's Most Popular Disassembler


The IDA Pro Book: The Unofficial Guide to the World's Most Popular Disassembler

The IDA Pro Book: The Unofficial Guide to the World's Most Popular Disassembler


Reverse Engineering Code with IDA Pro

Reverse Engineering Code with IDA Pro


Disassembling Code: IDA Pro And SoftICE

Disassembling Code: IDA Pro And SoftICE