解析ツールいろいろ

バッファオーバーフローを突く例で紹介したページで使われていたツールは何だろう、という疑問からスタート。ページの内容からコードの分岐状況を解析ツールがあるのではないかと思ったので。
で、件のページの「TOOLS」には、IDA Proという文字が。

そこから調べたことをメモメモ。

  • リバースエンジニアリングのスタンダード「IDA Pro」
    @ITの記事で大体雰囲気がわかった
  • Hex-Rays
    本家本元はここのようだ。Ver5.0は条件付きで無償で使えそう。
  • BackTrack5収録ツールリスト
    BackTrackには収録はされてないが、インストーラを起動するコマンドは入っているようだ。

ということで試してみるにはBackTrackをインストールして、さらにIDA Pro Freeをインストールしてみるのが良さげな感じ。

他にもイメージファイルの中からファイルシステムのイメージなんかを抜き出すBinwalkなんかも役に立つ感じがする。

Linux from Scratch

ちょっと最近興味をもっているのですが、「Linux from Scratch」というものがあります。略して「LFS」と呼ばれるようなのですが、文字通りゼロからLinux環境を構築していくもので、Linuxシステムがどのように動いているのか仕掛けがわかりそうです。できれば試してみたいと思うのですが、なかなか時間がないので情報源だけ。

  • linux from scratch
    本家本元のサイト。クロス版?のCLFSもここにリンクがあります。
    作業をまとめたものが「LFS BOOK」というもので、ftpなどで容易に取得できる。
  • LFSブック日本語版
    文字通り、LFS BOOKの日本語版。SourceForgeがホストしている。
    ブック自体はプロジェクトページから取得できる。

 

カスタムカーネル作成の続き

しばらく前に作ったカスタムカーネルを改めて作り直してみました。前回は遅いUSB外付け1.8inchHDDで構築したのですが、今回はもっと速い外付けHDDを使っています。(シーケンシャルアクセスで4倍くらい出てます)
設定は前回同様、SATA関連のものをすべて外しただけです。
(自分用のメモとして、 .configファイルをアップロードしておきます。→config.tar.gz

前回の手順でカスタムカーネルでブートするようになったのですが、起動時のカーネルのメッセージが何もでないので何をやっているのかさっぱり分からない状態です。
これはGRUBがなにかおかしいということで調べてみると、GRUB2ではデフォルトでは起動時のコンソール画面表示がOFFになっているとのことです。
これをONにするには、/etc/default/grub を編集します。

7行目、8行目のGRUB_HIDDEN_TIMEOUT関連の2行をコメントアウトした後、最後に「$ sudo update-grub」を実行します。

他の設定項目もこのファイルの編集で可能なようなのですが、簡単に済ますにはSynapticパッケージマネージャで「startupmanager」を検索してインストールすればGUIで設定できるようです。インストールすると、「システム管理」の下に「StartUp-Manager」が出てきますので、これで設定します。

参考:http://viva-ubuntu.com/tag/grub2

設定後、RemasterSysでインストールDVD用のISOファイルを抽出しました。最新版のRemasterSysをインストールするには、

とした後、/etc/apt/sources.listにLinuxMint13の場合には

を書き足して、

としてISOファイルを抽出しました。なお、apt-get install で remastersys-gui を追加するとGUI版がインストールされるようです。(自分はGUI版の存在に気づく前にコマンドラインでマスター作っちゃいました)
remastersysの設定ファイルは /etc/remastersys.conf にあって、上記の手順でのライブCDのログインIDは「custom」、パスワードは無しになります。

USBメモリにはISOファイルを書き込んで作ったライブDVDでインストールすることができます。
(USBメモリは遅いので、USBメモリ上でのカーネル再構築は大変です・・・)

<追伸>
できたISOファイルは2.2GBと巨大になりました。よく考えたらカーネルインストールした後はソースを消してからライブCDを作るべきだったかも。

VMware上でbasix-1.0を動かしてみた

いろいろ環境をいじっているのですが、ちょっと怪しい作業は極力仮想マシン上で行うようにしています。これまでは仮想マシン上でUbuntu10.04LTSを動かしていたのですが、こちらもサポート期限が切れています。そこで、代わりのものを考えているのですが、できれば軽い方がいい、ということで、いろいろ試してみることにしました。

そんな中で、LiveCDの部屋でbasix-1.0を見つけたので、試してみています。元は、UbuntuのLXDE版のlxubuntuだったようなのですが、それが改称してbasix-1.0になったようです。

“VMware上でbasix-1.0を動かしてみた” の続きを読む

ISOイメージからブータブルUSBメモリを作ってみる

NM70I-847のリブート問題は、結局CentOS6.3/FreeBSD9.0なら安定動作、LinuxMint13/14/Ubuntu12.10は不安定、という状況になっています。現状はCentOS6.3で運用していますが、元々の狙いは「省電力で静かでつけっぱなしにできるクライアントLinuxデスクトップ」だったので、狙いとはちょっと外れています。CentOS6.3上のLinuxMint14も安定はしていますが、CPU負荷が増えるためかCPUファンが回る頻度が増えています。(そうでなくてもNM70Iはケースファンが全力で回るので、うるさかったりしますが、そっちは自作FANコントローラを入れることで処置するつもりです。)

ここで気づいたのは、CentOS6.3はLinuxのカーネルのバージョンが2.6.32と古いことです。LinuxMint13は3.2.0、Mint14は3.5.0ベースで、このあたりに何かヒントがあるような気がします。それで、最新カーネルはどうだっ!と思って、試そうとしたらあえなく挫折・・・したわけですが・・・。

さて、OSもインストール済みなので、安易にOS入れ替えもしたくないけど、解決策も探りたい、というわけで、いろんなディストリビューションを試してみたくなりました。

かといって、DVDにひたすら焼くのも面倒くさい、ということで、LiveDVDのISOイメージをUSBメモリに書き込んでブータブルなLive USBメモリを作る UNetbootin を試してみました。環境はLinuxMint13 64bitです。

“ISOイメージからブータブルUSBメモリを作ってみる” の続きを読む

gNewSenseを試してみる

たまたまFSF(Free Software Fundation)のことを調べていたら、gNewSenseというUbuntuベースのFSF公式支援のディストリビューションがあることを知りました。もちろんLiveCDがあるようなので、ちょっと試してみることにします。

Wikipediaによると、最新版は2.3(実際にダウンロードできるものも2.3)で2009年リリース、ubuntu8.04がベースのようです。ちょっと古いのですが、試してみようと思ったきっかけは、パーソナライズ版の作成ができるBuilderというツールに関する記述があったからです。

で、CD-Rにイメージを焼いて起動してみると・・・・ちょっとデザインが違うだけで、まんまUbuntuでした・・・。(当たり前か・・・)