攻撃は最大の防御なり

50代おやじの適当なブログです。

[Android] boot.imgを展開してみる

2011-11-17 11:35:01 | Android
さて、今回はAndroidのboot.imgを展開してみます。
俺はLinuxで作業していますが、WindowsでもCygwinを使うと同様のことが出来ます。

まずは、ここからunpack-bootimg.plを取得してきます。
boot.imgはClockworkModで取った物を使えば良いんですが
ついでに他の取得方法も書いておきますね。
busyboxがインストしてあることとbootバーティションのデバイス名を知っている事が条件です。
例えばHTC Sensationの場合はこんな感じ。
adbで

dd if=/dev/block/mmcblk0p20 of=/sdcard/boot.img

dd if=デバイス名 of=出力ファイル名

こんな感じですね。

この方法は単純なパーティションダンプなので、
ClockworkModで取得した物に比べてファイルサイズが大きくなります。
当然ですがhbootやsystemもこの方法でダンプできますし、
用途不明なパーティションの中身を調べるのにも使えます。

boot.imgとunpack-bootimg.plを同じディレクトリに置き、カレントディレクトリで以下の様に入力しますが
確かCygwinをディフォルトでインストしただけではcpioが入らなかった気がしますので
setup.exeを使ってパッケージを追加して下さいね。Utilsカテゴリーの中にあります。

./unpack-bootimg.pl boot.img


Cwdパッケージが無いと警告が出ますが気にしないで下さい。
中身が出ましたか?
recovery.imgも同様の方法で展開出来るので見比べてみると面白いですよ。

つづく…