攻撃は最大の防御なり

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

[Android] adbの使い方 その2

2011-09-28 15:11:23 | Android
今回はadbを使って通常起動状態の端末にリソースを突っ込む方法を解説します。
まずは端末の状態を確認します。「adb shell」で端末に入りましょう。
ここでカーソルが「$」の人と「#」の人が居ると思います。
以前にも書きましたが「$」は一般ユーザー「#」はrootユーザーでしたね。
機種にもよりますが何も弄っていない状態だと「$」だと思います。
root端末の場合はここで「su」と入力するとrootに切り替わります。

この挙動の違いは/default.propに記載されているro.secureの値によって決まります。
0の場合はrootでログイン。1の場合は一般ユーザーでログイン。
どちらも出来る事は変りませんが一般ユーザーの場合は若干面倒臭いかな?といったレベルですね。
これを変更するにはdefault.propの値を書き換えてしまえば良いのですが
以前話したinit.rcと同じでこのファイルはboot.imgに入っていて書き換えられないようになっています。
この変更を施したboot.imgを「unsecureなboot.img」と呼びます。

前置きはこの位にして本題に入ります。
端末にリソースを突っ込むには前回書いた「adb push」を使うのですが
/system以下は書き換えが出来ないように読み取り専用でmountされています。
先ずは/systemを一度umountして読み書き可能な状態で再mountしてやる必要があります。
上記のunsecureな状態になっている人は「exit」で一度shellを抜けて

adb remount

を実行するだけでOKです。
それ以外の人で例えばHTC Sensationの場合は

mount -o rw,remount /dev/block/mmcblk0p22 /system

と入力します。
この例の「/dev/block/mmcblk0p22」はsystemに割り当てられた、NANDパーティションのデバイス名です。
これは機種毎に違います。
「mount」と入力すると各領域に割り当てられたデバイス名が表示されるので置き換えて下さい。



これで「adb push」を使えば突っ込める状態になりましたが、あと一点気をつけたい所があります。
「adb shell」上で「df」を実行します。



これはパーティション毎の空き容量です。
以前話ましたがAndroidは同一ディレクトリーツリー上に複数のデバイスが割り当てられているんでしたよね。
これを見れば一目瞭然。この場合system以下は120128Kの空き容量があるということになります。
systemにサイズのでかいファイルを突っ込もうとすると途中でディスクフルになる場合があり
端末上には壊れたファイルが残ります。
端末が起動しなくなった場合はこの辺りも疑ってみてください。

pushを使って物を突っ込む場合はshellから抜けてこう入力します。
shellを抜けるには「exit」若しくは、ちょっと荒っぽいですがctrl-Cですよ。

adb push a.txt /system/

この場合はa.txtをsystem直下に突っ込みます。

adb push [入れたいリソース] [入れる場所]

と言う構文ですね。
これはあくまで一例でFontの入れ方の方で詳しく書きます。

次回はリカバリー状態の端末にリソースを突っ込む方法についてです。

[ダークソウル] 呪死ってそんなにきつく無いかも知れない

2011-09-28 08:47:22 | ダークソウル
一昨日、最下層のカエル毒で呪死状態に陥り、体力1/4になって非常に苦労していましたが
昨日再開したら何故か体力が1/2に復活していました。

元々そう言う仕様なのかオンラインに繋がった影響なのか分かりませんが
兎に角、楽勝で生還、武器修理、呪死解除完了であります。
こんなんで最初からやり直しとかなったら苦情殺到だと思うので正しい動きなのかな?
多分24H経つと一回分の呪いが解ける仕様なんですよね。
次に出向くときはちゃんと準備して行こうと思います。

昨夜はそこまでで息子と交代。
やっぱりソフト一本だと取り合いになりますね。