理科弄っていると、そろそろ、本気で鰤る予感

うーん。
recovery起動で自由に動き回れる=鰤ってもsystem updateせずに、bootイメージだけを焼き直したりとか、ちょいとfastbootライクになれるという利点があるのですが、それと同時にrecoveryの仕組みもログを通したりして追えるとワクワクして徘徊。
 dmesgになんか面白いの吐かれてないかなぁと、ちょいと見ていますが

<4>[    2.596171] nv_access: module license 'Toshiba Proprietary' taints kernel.

これくらいの差分。いや、ちゃんとdiffってないけど。insmod時、このモジュール(nv_access.ko)は糞芝のもんじゃい!て、アレ。

ところで、今更ながらに気付いた点をメモ。

通常起動 (bootパテのイメージ起動)
1.防水
2.regza
3.docomo
4.home

リカバリ起動 (なぞらー)
1.sd downloader
  -> factory reset
  -> system update

ファクトリリセット選択後の再起動 (recoveryパテのイメージ起動)
1.防水
2.regza
3.factory reset (泥アニメ)

つまり。つまり。つまり。
いやいや、ちょと待って。
いやいやいや。やはり。

脱出

閃き。
recoveryキックを止めれば良いじゃん。

そそくさ、recoveryイメージのinit.rcを弄り、焼き込み。

そうそう、systemのマウントだけは、init.rcに仕込んでおくこと。

sd downloaderを起動。
factory resetを選択。
rebootが掛かる。

regzaで止まる。

adb接続


おっしゃあああああああああああああああああああああああああああああああああ!

ちょいと珍しいので散策。
パス通してなかった。

$ /system/bin/mount
rootfs / rootfs rw 0 0
tmpfs /dev tmpfs rw,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
/dev/block/mtdblock1 /system yaffs2 rw,relatime 0 0

$ /system/bin/ls -l
crw-rw-rw- root     root     235,   0 2009-08-30 00:26 nv_access

init.rcで仕込んでいる、このスペシャルについては、後日ちょっと探ってみよう。
nvidiaアクセスとかだったら嫌だな。
あと、/cache/recovery/commandは存在しなかったな。
てっきり、--wipe_dataが記載されているbcbがあると思っていたのに(昨晩の読解では)

さて、パス仕込みとかしておくかーと、

# /system/bin/reboot

regzaで止まる

れ?

というか、bootパテからのロードと踏んでいたけど、recoveryからのロード。
recoveryモードのままになっている。
rebootコマンドのパラなしって、そういう動きだったのか。てっきりbootパラになると思っていた。

adbには接続出来るので、んーと、そうだ。

# /sbin/recovery

と本来叩かれるべきコマンドを打つと、factory resetが働き始め、rebootが掛かりbootパテからの起動。

これで、systemパテは弄り放題。

ukiukiとの本格的な別れは近い。

maze8

recovery.cに何かヒントがあるのではないかと。
コードリーディングする前にコメント読んでみた。


 * FACTORY RESET
 * 1. user selects "factory reset"
 * 2. main system writes "--wipe_data" to /cache/recovery/command
 * 3. main system reboots into recovery
 * 4. get_args() writes BCB with "boot-recovery" and "--wipe_data"
 *    -- after this, rebooting will restart the erase --
 * 5. erase_root() reformats /data
 * 6. erase_root() reformats /cache
 * 7. finish_recovery() erases BCB
 *    -- after this, rebooting will restart the main system --
 * 8. main() calls reboot() to boot main system
 *
 * OTA INSTALL
 * 1. main system downloads OTA package to /cache/some-filename.zip
 * 2. main system writes "--update_package=CACHE:some-filename.zip"
 * 3. main system reboots into recovery
 * 4. get_args() writes BCB with "boot-recovery" and "--update_package=..."
 *    -- after this, rebooting will attempt to reinstall the update --
 * 5. install_package() attempts to install the update
 *    NOTE: the package install must itself be restartable from any point
 * 6. finish_recovery() erases BCB
 *    -- after this, rebooting will (try to) restart the main system --
 * 7. ** if install failed **
 *    7a. prompt_and_wait() shows an error icon and waits for the user
 *    7b; the user reboots (pulling the battery, etc) into the main system
 * 8. main() calls maybe_install_firmware_update()
 *    ** if the update contained radio/hboot firmware **:
 *    8a. m_i_f_u() writes BCB with "boot-recovery" and "--wipe_cache"
 *        -- after this, rebooting will reformat cache & restart main system --
 *    8b. m_i_f_u() writes firmware image into raw cache partition
 *    8c. m_i_f_u() writes BCB with "update-radio/hboot" and "--wipe_cache"
 *        -- after this, rebooting will attempt to reinstall firmware --
 *    8d. bootloader tries to flash firmware
 *    8e. bootloader writes BCB with "boot-recovery" (keeping "--wipe_cache")
 *        -- after this, rebooting will reformat cache & restart main system --
 *    8f. erase_root() reformats /cache
 *    8g. finish_recovery() erases BCB
 *        -- after this, rebooting will (try to) restart the main system --
 * 9. main() calls reboot() to boot main system
 *
 * ENCRYPTED FILE SYSTEMS ENABLE/DISABLE
 * 1. user selects "enable encrypted file systems"
 * 2. main system writes "--set_encrypted_filesystem=on|off" to
 *    /cache/recovery/command
 * 3. main system reboots into recovery
 * 4. get_args() writes BCB with "boot-recovery" and
 *    "--set_encrypted_filesystems=on|off"
 *    -- after this, rebooting will restart the transition --
 * 5. read_encrypted_fs_info() retrieves encrypted file systems settings from /data
 *    Settings include: property to specify the Encrypted FS istatus and
 *    FS encryption key if enabled (not yet implemented)
 * 6. erase_root() reformats /data
 * 7. erase_root() reformats /cache
 * 8. restore_encrypted_fs_info() writes required encrypted file systems settings to /data
 *    Settings include: property to specify the Encrypted FS status and
 *    FS encryption key if enabled (not yet implemented)
 * 9. finish_recovery() erases BCB
 *    -- after this, rebooting will restart the main system --
 * 10. main() calls reboot() to boot main system

maze7


ちょっと進展かも。


persist.service.adb.enable=1で仕込んだイメージをrecoveryに焼く。

そいで、recoveryで立ち上げて、factory reset掛けると/data/recovery/log内容が変わる。
その差分は以下
--
/data/recovery/log
[1] -> factory reset前
[2] -> factory reset後

[1] [UA]FOTA read nv:0x00000050
[2] [UA]FOTA read nv:0x00000010

[1] I:Got arguments from CACHE:recovery/command

[1] Command: "/sbin/recovery" "--wipe_data"
[2] Command: "/sbin/recovery"

[1] init.svc.adbd=stopped
[2] init.svc.adbd=running
--

走ってるねぇ。
じゃあ、factory reset中にadb繋がるんでは?と、試すと。

$ adb shell
error: device not found
★ ここで箱出し泥アニメ
$ adb shell
- exec '/system/bin/sh' failed: No such file or directory (2) -

おおぉおおおおおぉぉぉ。繋がる。
shell用意していないから酢エラー出すのは良いとして、確実にadbdが生きている証拠。

ということは?

factory reset選択後の再起動時には、recoveryパテイメージで立ち上がっているということ。
まー、reset終わるまでの運命ですが。
ちゅか、dataマウントしていますが。

ということは?

やはり、recovery起動時は、recoveryパテイメージとは無縁。したら、bootパテからの立ち上がりしかない。それならば辻褄が合う。あくまでもrecovery起動という判定が入り、そこでsd downloaderを立ち上げる。sd downloaderでfactory reset(もしくはsystem update)選択すると再起動が掛かる。そこからはrecoveryパテからの立ち上がり。
という推測。
んー、ならば、sd downloader起動中にadbdが生きていても良いはずだし、まだモヤモヤするな。
何のために、そんな回りくどいことしているのか謎だけど。
そもそも、bootパテ立ち上げ時に鰤ってもsd downloaderが起動する説明が付かないぞ?

はい、やり直しー

sd downloaderのバイナリ実体て、どのファイルか謎のままだな、そいや。

いあ、にしても、前からそんなもん存在するの?と懐疑的だった/cache/recovery/commandのログが拝めただけでも何か進んだ気がする。"--wipe_data"なの?て感じ。
あと、あれだ、nv_access.koちゅうか、read nvのところ。nvて何だろうな。想像が付いていない。

maze6

system update後に吸い出したrecoveryイメージのdefault.propには
persist.service.adb.enable=0
と。
なるほど。書き戻されてる。
recoveryパテにフラッシュしてリブートして吸い出しても変動なかったので、factory resetやsystem update実行がトリガなんだろうな。
applypatchの線はinstall-recovery.shが存在しないし、.pファイルないしでスルー。
init.rcに記載されている/cache/recoveryも存在しないけど、微妙に怪しい。
system updateで書き戻すのは別に良いとして、通常のrecoveryパテからの起動で読み込まれていないように見えるのは、どうやっても説明が付かない。
あの3Mイメージがどこかにひっそり内包されて潜んでいると考えたくなるけど、そんなことする?この逼迫しているflash内で。ちゅか、そんなアホなことしないよな。にしても、recoveryパテイメージのsbinにデフォでadbdが存在することが挑発以外の何物でもない。
■ recovery boot時のログを採取する術
■ applypatch

■ install-recovery.sh

■ /cache/recovery

■ SD Downloaderの実体
■ T01C_TO_SP_FY1.encのデコード(w
■ msmデータシート






maze5

System update完了したれぐぽんに火を入れ。

adb push psneuter /data/local/
adb shell
chmod 755 /data/local/psneuter
/data/local/psneuter
adb shell
mount -o rw,remount /system /system
cd /system/bin
cat sh > su
chmod 4755 su
reboot

と。
えと。
何だっけ。

あぁ、msn_nand.c弄って鰤ったところで終わりか。

何気なく/data/recovery/logを閲覧すると。

え?


Starting recovery on Fri Aug 14 22:11:23 2009
can't open /dev/tty0: No such file or directory
framebuffer: fd 3 (480 x 854)
[UA]FOTA read nv:0x00000010
E:Can't find MISC:
Fixing execute permissions for /cache
E:Can't find MISC:
Command: "/sbin/recovery"

ro.secure=1
ro.allow.mock.location=1
ro.debuggable=1
persist.service.adb.enable=1
init.svc.recovery=running
init.svc.adbd=running

Formatting DATA:...
Formatting CACHE:...
force_wipe_data is done.
[UA]FOTA read nv:0x00000010
[UA]FOTA write nv:0x00000000
Fixing execute permissions for /data

いや?
あぷでする前に読んだときは、確実に0だったし、stoppedだった。
そして、あぷでした時のリカバリパテは手を入れた状態(persist.service.adb.enable=1)
夢じゃない。

-rw-rw-rw- root     root         2747 2009-08-15 07:11 log

このタイムスタンプも謎らー。
でも、確実に内容は更新されている。

そこで、わくわくしながらリカバリ起動しadb接続してみるとダメでした。
これで、リカバリパテを吸い出して展開し、default.prop見てpersist.service.adb.enableが0になっていたら、あぷでにおいてリカバリパテを書き直していることになる。

残念ながら、今ちょうど昨日購入した外付けに窓のバックアップが終わって、これからクリーンインストールするところ。

もうちょい、色々と仮説を立てながら慎重に進めてみることにする。

巡礼

1TB wd 外付け 7880
ボルフォス(ps1) 200
プリズナーオブアイス(ps1) 200
スペクトラルブレイド(ps1) 100

ついに外付け既製品を購入。
家に転がっているHDて、640MBとか骨董品ちゅうか産廃レベル。これにIDE-USB変換マウンタ装填して騙しながらバックアップしたり、しこしことDVD焼きとかしてきた訳です。
先日、zuneインストでレジ飛んで窓機が真っ青になり応急処置で起動までは持っていったけど、いい加減更地にしたいし、それ以上にcdやps1のリップファイルをバックアップするのは面倒くさいわと絶賛放置中。あとは、娘の写真やら動画とか、これ飛ばすと(対奥さん的に)大変なことになるわーと、色々と熟慮して購入。

購入したps1のソフト群は地雷臭がきっついけど、どういったゲームかも分からないし、そういう意味では楽しみ。ps1コンバータをlinux向けに移植したいけど、れぐぽんが落ち着くまで集中出来ないなーと言い訳。

maze4

grep -r 糞芝 ./ での調査で、お!とヒットしたのが

kernel/drivers/mtd/devices/msm_nand.c
 #define APPS_PARTITION_BOUNDNAME    "boot"

これ。

こんな判定して
if (!strcmp(pdata->parts[i].name, APPS_PARTITION_BOUNDNAME))
{
 apps_partition_offset = pdata->parts[i].offset;
 pr_info("APPS OFFSET: 0x%08x \n", apps_partition_offset);
}
こんなことして
unsigned partinfo = (apps_partition_offset > from) ? 1 : 0;

パテの読み書きで

if ( partinfo )
{
 cfg0_back         = chip->CFG0;
   ecc_buf_cfg_back  = chip->ecc_buf_cfg;
   chip->CFG0        = CFG0_M;
   chip->ecc_buf_cfg = 0x1FF;
}

if ( partinfo )
{
 sectordatasize = 512;
}
こんなことしている。

素人目にこれは怪しい。
bootパテで出来ていることがrecoveryパテで出来ていないちゅうことは、逆に考えるとbootだけに施しているとも考えられる訳でして。

そういう訳で、recoveryパテも判定条件に含め、カーネルビルド。
とりあえず起動上問題ないか、bootイメージ作成して焼いてみる。

見事に鰤ってるし。

さて、消そうとして消えなかったsddownloaderちゃんに働いてもらうか。
皮肉なものです。


maze3

adb.c読んでいて理解したんだけど、adbdがusb開いて待ち受けるのね。
確かに、プロセス単位にusbポートとパイプするんだっけか。
だから、adbdが起動しない限り、lsusbに糞芝いなくて正解という。
kernelの奥底(msm)まで追って行ったんだけど答を得られなかった。
grep -r 糞芝 ./ で根こそぎ改訂箇所も追ってみたんだけど、それでも。
唯一、れれ?と思ったのは

pm.c pm2.c
static int msm_reboot_call
(struct notifier_block *this, unsigned long code, void *_cmd)
{
if ((code == SYS_RESTART) && _cmd) {
char *cmd = _cmd;
if (!strcmp(cmd, "bootloader")) {
restart_reason = 0x77665500;
} else if (!strcmp(cmd, "recovery")) {
restart_reason = 0x77665502;

の後に

msm_proc_comm(PCOM_RESET_CHIP, &restart_reason, 0);

なので、msm仕様読まないとね。
init.Sも読んだけど、その前だな、知りたいの。
なんか、方向性が間違っているような気もしている。
なんか、とてつもない勘違いをしている気もする。
いつものことだから。

dmesg
<6>[    0.000000] Partition (from atag) boot -- Offset:2b7 Size:50
<6>[    0.000000] Partition (from atag) system -- Offset:307 Size:a8c
<6>[    0.000000] Partition (from atag) cache -- Offset:d93 Size:320
<6>[    0.000000] Partition (from atag) recovery -- Offset:10b3 Size:50
<6>[    0.000000] Partition (from atag) userdata -- Offset:1103 Size:efd
<6>[    0.000000] Partition (from atag)  -- Offset:2b7 Size:0
<5>[    0.308556] 0x0000056e0000-0x0000060e0000 : "boot"
<5>[    0.315293] 0x0000060e0000-0x00001b260000 : "system"
<5>[    0.570475] 0x00001b260000-0x000021660000 : "cache"
<5>[    0.635471] 0x000021660000-0x000022060000 : "recovery"
<5>[    0.642268] 0x000022060000-0x000040000000 : "userdata"
<5>[    0.954340] 0x0000056e0000-0x000040000000 : ""


maze2


/proc/mtd

mtd0: 00a00000 00020000 "boot"
mtd1: 15180000 00020000 "system"
mtd2: 06400000 00020000 "cache"
mtd3: 00a00000 00020000 "recovery"
mtd4: 1dfa0000 00020000 "userdata"
mtd5: 3a920000 00020000 ""


/proc/partitions
  31        0      10240 mtdblock0
  31        1     345600 mtdblock1
  31        2     102400 mtdblock2
  31        3      10240 mtdblock3
  31        4     491136 mtdblock4
  31        5     959616 mtdblock5
 179        0   15622144 mmcblk0
 179        1   15618048 mmcblk0p1

/dev/block
brw------- root     root       1,   0 2012-03-21 22:52 ram0
brw------- root     root       1,   1 2012-03-21 22:52 ram1
brw------- root     root       1,   2 2012-03-21 22:52 ram2
brw------- root     root       1,   3 2012-03-21 22:52 ram3
brw------- root     root       1,   4 2012-03-21 22:52 ram4
brw------- root     root       1,   5 2012-03-21 22:52 ram5
brw------- root     root       1,   6 2012-03-21 22:52 ram6
brw------- root     root       1,   7 2012-03-21 22:52 ram7
brw------- root     root       7,   0 2012-03-21 22:52 loop0
brw------- root     root       7,   1 2012-03-21 22:52 loop1
brw------- root     root       7,   2 2012-03-21 22:52 loop2
brw------- root     root       7,   3 2012-03-21 22:52 loop3
brw------- root     root       7,   4 2012-03-21 22:52 loop4
brw------- root     root       7,   5 2012-03-21 22:52 loop5
brw------- root     root       7,   6 2012-03-21 22:52 loop6
brw------- root     root       7,   7 2012-03-21 22:52 loop7
brw------- root     root      31,   0 2012-03-21 22:52 mtdblock0
brw------- root     root      31,   1 2012-03-21 22:52 mtdblock1
brw------- root     root      31,   2 2012-03-21 22:52 mtdblock2
brw------- root     root      31,   3 2012-03-21 22:52 mtdblock3
brw------- root     root      31,   4 2012-03-21 22:52 mtdblock4
brw------- root     root      31,   5 2012-03-21 22:52 mtdblock5
brw------- root     root     179,   0 2012-03-21 22:52 mmcblk0
brw------- root     root     179,   1 2012-03-21 22:52 mmcblk0p1
drwxr-xr-x root     root              2012-03-21 22:52 vold

/dev/block/vold
brw-rw---- root     root     179,   0 2012-03-21 22:52 179:0
brw-rw---- root     root     179,   1 2012-03-21 22:52 179:1

/proc/mounts
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
/dev/block/mtdblock1 /system yaffs2 rw,relatime 0 0
/dev/block/mtdblock4 /data yaffs2 rw,nosuid,nodev,relatime 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
/dev/block/mtdblock2 /cache yaffs2 rw,nosuid,nodev,relatime 0 0
/dev/block/vold/179:1 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:1 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
tmpfs /mnt/sdcard/.android_secure tmpfs ro,relatime,size=0k,mode=000 0 0

以上のことから

mtdblock0 = boot
mtdblock1 = system
mtdblock2 = cache
mtdblock3 = recovery
mtdblock4 = data
mtdblock5 = 

というか。
このおさらい必要か?と。
いあ、mtdblock5が匂っていたので。

adb reboot recoveryやハードキー組み合わせでのrecovery起動なんだけど、要はbootパテからのイメージロードとrecoveryパテからのイメージロードの切り分けをするところはどこ?となると、それはbootloader以外の何物でもないでしょと。では、t-01cにおけるbootloaderは?というと、はて?そもそも、iplやsplの存在さえ全く見えてないという事実。
そこが分かれば、recovery起動時にmtdblock3からロードされていない理由も掴めるはず。
adbd.cでreboot recoveryをパラメタで喰った場合に、最終的に何を何しているのかを調べてみよう。

maze

とりあえず、imgの巻きや焼きには耐性が付いたので、cwmをt-01c向けに改変してみようと。
sbin中身入替え、init.rc、recovery.fstabなどを修正。
initfsパック。
recoveryパテで焼き。同期。再起動。

sd down loader.
sd down loader.
sd down loader.

最初、本気で目をパチクリしてしまった。
巻きミス?
焼きミス?

recoveryパテはcwmイメージに置き換わったはず。

本当に焼けたのか、recoveryパテからリップして展開確認。
焼けてるじゃん。

/sbin/recoveryは確かに内容は違うけど同一ファイル名。
んー、怪しいと。

とりあえず、renameしてinit.rcでのservice指定も変更。
initfsパック。
recoveryパテで焼き。同期。再起動。

もはや、憎き、
sd down loader.

のぉおおおおお。何か決定的な勘違いしているのか?
現象としては、書き換え前のrecoveryイメージで動作している。
キャッシュされているような雰囲気だけど、それ本当?て感じ。
また、usbデバイス認識もされていないので、/sbin/recoveryだけの問題ではなく、recoveryイメージ全体の問題。

悩んでも仕方がないので、正攻法にrecovery起動時のusb関連調査を進める。

いや、これって、結局のところrecoveryイメージを作ってもリカバリ起動で展開対象になっていないから、usb関連で頑張っても無意味(というか検証しても時間の無駄)。
まず、自分で焼いたrecoveryイメージがロードされることの方が先決か。

もの凄い確認方法を見つけた。


# cat /dev/zero > /dev/mtd/mtd3
# sync
# reboot recovery

ははは。落ちろ。

したら。



もはや、呆れの、
sd down loader.

cat /dev/mtd/mtd3 > /sdcard/recovery.imgして、hexdumpしてみたら0ラッシュ。
おぃ。
ぉい。
recovery起動した時はここからロードしてないのかい。
してないことだけは確証を得た。

念のために
cat /dev/zero > /dev/mtd/mtd2
でcacheパテもワイプしてリカバリ起動。

それでもスルー。

ここまで来たら、絶対吹っ飛ばしてやる(ぉぃ

かなり理解不足

cwmだとadb接続出来るの?と、確かにcwmでうんたらする場合、usb経由てなかったし。
とりあえず、導入済みl-04cの接続から

$lsusb
ID 1004:618e LG Electronics, Inc. Ally/Optimus One/Vortex (debug mode)

rule追記

あ、recovery立ち上げでも繋がる。

差分取ろうと、init.rc読んだけど、これじゃない感満載。まぁ、おぷちゃ向けだし。
ならば、カーネルイメージは同じなんだから、bootのinit.rcと比較すれば分かるんじゃないかと読んだけど、あちらは本起動なのでガッツリ。systemマウントありきだし。

usb関係なんて、こちらで弄る箇所より前に準備終わっていると思い込んでいたんだけどね。
init.tg03.rcの
service usb /system/bin/sh /system/etc/init.tg03.portbridge.sh
これが気になる。

夢のsystem入替えが出来る!と思いきや

再確認
adb reboot recovery
adb kill-server
sudo adb start-server
adb shell
error: device not found

recovery.img解体

[default prop]
persist.service.adb.enable=1
-> これでinit.rcにてadbd startが掛かる

initfs再作成
img再作成

recovery領域へflash

reboot recovery

adb shell
error: device not found

lsusb
糞芝いねー

結論。

usbでそもそもだ。


recovery

勢いでrecovery.imgの解体。
ramdisk展開。
あの、sddownloaderのアレソレどうなってんのかと。
init.rc読めば一目瞭然だけど。
ls -l /sbin
-rwxr-x--- 1 amelia amelia 138360 2012-03-19 00:38 adbd
-rwxr-x--- 1 amelia amelia  75806 2012-03-19 00:38 nv_access.ko
-rwxr-x--- 1 amelia amelia 500680 2012-03-19 00:38 recovery

なるるー
nv.access.koなるmoduleが何なのかは知らない。

flash boot



ここまで来たら、サイズ云々問わず腹括れちゅうことで。
とりあえず、分かりやすいようにkernel versionだけ弄ってrebuild

終わったら

mkbootimg --kernel zImage --ramdisk boot.img-ramdisk.gz --cmdline "androidboot.hardware=tg03" --base 0x20000000 -o amelia-boot.img

作成したイメージをデバイスへ転写。

adbで繋いで

# flash_image boot amelia-boot.img

mtd: successfully wrote block at a0f800000000
mtd: successfully wrote block at a0f800020000
mtd: successfully wrote block at a0f800040000
mtd: successfully wrote block at a0f800060000
mtd: successfully wrote block at a0f800080000
mtd: successfully wrote block at a0f8000a0000
mtd: successfully wrote block at a0f8000c0000
mtd: successfully wrote block at a0f8000e0000
mtd: successfully wrote block at a0f800100000
mtd: successfully wrote block at a0f800120000
mtd: successfully wrote block at a0f800140000
mtd: successfully wrote block at a0f800160000
mtd: successfully wrote block at a0f800180000
mtd: successfully wrote block at a0f8001a0000
mtd: successfully wrote block at a0f8001c0000
mtd: successfully wrote block at a0f8001e0000
mtd: successfully wrote block at a0f800200000
mtd: successfully wrote block at a0f800220000
mtd: successfully wrote block at a0f800240000
mtd: successfully wrote block at a0f800260000
mtd: successfully wrote block at a0f800280000
mtd: successfully wrote block at a0f8002a0000
mtd: successfully wrote block at a0f8002c0000
finish of flashing
# reboot

おー

大丈夫じゃん。

ready

無事にkernel-buildが通り、zImage作成された。

この環境でadb使えるようにしてなかったので作業開始。
http://developer.android.com/guide/developing/device.html#setting-up
仰せのままに。

$ lsusb
ID 0930:0d85 Toshiba Corp.

糞f糞芝のvendorIDは0930。
cat /etc/udev/rules.d/51-android.rules
UBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0666", GROUP="plugdev"

adb接続確認完了。

吸い出したboot.imgを一旦解体。

$ ./split_bootimg.pl boot.img
Base address: 0x20000000
Page size: 2048 (0x00000800)
Kernel size: 2802416 (0x002ac2f0)
Ramdisk size: 170189 (0x000298cd)
Second size: 0 (0x00000000)
Board name:
Command line: androidboot.hardware=tg03
Writing boot.img-kernel ... complete.
Writing boot.img-ramdisk.gz ... complete.

れぐぽんb11カーネルサイズ
2802416 2012-03-18 22:03 boot.img-kernel
昨晩、糞芝からソース落して素ビルドしたb11カーネルサイズ
2802028 2012-03-17 23:16 zImage

388の怪。
ここは同じにならないとダメだろ。
萎える。

building-kernels

いや、まてよ。
試してみたいことあったわ。

building-kernels

T-01C b11 kernel sourceはこちら
http://www.fmworld.net/product/phone/sp/android/develop/t-01c_froyo_oss/

toolchainはこちら
git clone https://android.googlesource.com/platform/prebuilt

.configはこちら
れぐぽんの/proc/config.gz

環境はubuntu 11.10

長丁場になるので朝まで走らせてみる。

dex odex

デコンする際にapk->dex->うにょにょて具合でしたので、dexの存在自体は把握していましたが改めて調べてみた。

dalvik vm前提なので、ある種、泥固有に近い。
dexはdalvik executableということで、dalvik vmで実行出来る形式。
java vmで言うところのclassファイルと同じて考えている。
それで、odexはというと、optimized dalvik excutableということで、最適化されたdexを意味する。
どう最適化されているのかはスルー。
さて。
プリインアプリ群は、/system/app内にapkとodexが対となって配置してあるパターンが多かった。
そうではないパターンは、apkだけが/system/appに存在し、/data/dalvik-cacheにdexが配置してあるパターンだった。
ストアなどからの外界からインストールするアプリ群は(sd moveしていない限り)、/data/appにapk、/data/dalvik-cacheにdexというパターン。
それで、odexがあるパターンのプリインは、apkにdexが内包されていない(する必要もない)ので、それをそのまま別機種に持って行きインストールちゅうのは実行ファイルがないので意味がない。
odexがないパターンのプリインは、持って行くことが理論的には可能。
ということなんだと思う。

しかし。

プリインで他機種にまで持ち込みたいアプリなんて皆無だからどうでも良いこと。
あと、時々耳にする、smali/baksmaliは、odex->smaliというbaksmaliコマンドとsmali->dexというsmaliコマンドのこと。合わせると、odex->dexになるので、プリインアプリのdex内包apkを作成することが事実上可能という。
心底どうでも良いわと思うのだが。
どうも、/system/framework配下を弄る場合、odexはframeworkに依存しているため(最適化に絡む何かだと思うけど)、改変した場合に狂ってしまうらしい。弄る前に作っておいたdexからodexに作り直す必要が出てくるのだろうかね。そんな煩わしいのならば、一様にdex内包しておいた方が良いと思うけどね。dataパテ圧迫ちゅうたって微々たるもんだろうし。アプリいっぱいな人は知らないけど。

という、物凄い軽薄な推論。

物は試しで、framework系を弄るという愚行に走りたいと思います。

視察

/system/framework

ext.jar
ext.odex
qcrilhook.jar
qcrilhook.odex
ime.jar
ime.odex
javax.obex.jar
javax.obex.odex
android.policy.jar
android.policy.odex
framework.jar
framework.odex
services.jar
services.odex
bmgr.jar
bmgr.odex
monkey.jar
monkey.odex
svc.jar
svc.odex
qcnvitems.jar
qcnvitems.odex
core.jar
core.odex
pm.jar
pm.odex
framework-tests.jar
framework-tests.odex
com.qualcomm.location.vzw_library.jar
com.qualcomm.location.vzw_library.odex
com.google.android.maps.jar
com.google.android.maps.odex
android.test.runner.jar
android.test.runner.odex
am.jar
am.odex
com.toshiba.extention.jar
com.toshiba.extention.odex
input.jar
input.odex
framework-res.apk

糞芝エクステンションとか。
抹殺してやりたい。

おぉ?そいや、根くさすにすることを忘れていた。

たー

busybox tar zcvf /sdcard/system.tar.gz /system/*
busybox tar zcvf /sdcard/data.tar.gz /data/*

/system/arcsoftでお茶噴いてしまった。
灯台下暗し。
何やってんだか。

カメラ/ムービーアプリを探そう(別にarcsoftが嫌いな訳ではないけど

排除7

ukiukiさん、しつこいな。

/data/dalvik-cache

data@app@com.google.android.apps.maps-1.apk@classes.dex
system@app@dixim-android-dmp.apk@classes.dex
system@app@Maps.apk@classes.dex
system@app@StartUpGuide.apk@classes.dex
system@app@RZTagler_1.apk@classes.dex
system@app@UkiUkiView.apk@classes.dex
system@app@GoogleQuickSearchBox.apk@classes.dex
system@app@t01c_manual.apk@classes.dex
system@app@dixim-android-dms.apk@classes.dex
system@app@Street.apk@classes.dex
system@app@spmode_mail.apk@classes.dex
system@app@MoshimoCamera.apk@classes.dex
system@app@Evernote_launcher_docomo.apk@classes.dex
system@app@PhoneBookCopy.apk@classes.dex
system@app@Talk.apk@classes.dex
system@app@GenieWidget.apk@classes.dex
system@app@Vending.apk@classes.dex
system@app@MarketUpdater.apk@classes.dex
data@app@com.google.android.gm-1.apk@classes.dex
system@app@GoogleCalendarSyncAdapter.apk@classes.dex
system@app@GoogleFeedback.apk@classes.dex
system@app@MediaUploader.apk@classes.dex
system@app@YouTube.apk@classes.dex
data@app-private@com.lpijapan.linux-1.apk@classes.dex
system@app@GooglePartnerSetup.apk@classes.dex
system@app@VoiceSearch.apk@classes.dex
data@app@com.google.android.apps.reader-1.apk@classes.dex
system@app@SetupWizard.apk@classes.dex
system@app@toruca.apk@classes.dex
data@app@jackpal.androidterm-1.apk@classes.dex
system@app@GoogleContactsSyncAdapter.apk@classes.dex
system@app@ATOK_IME.apk@classes.dex
data@app@com.aps.smartbar-1.apk@classes.dex
system@app@Gmail.apk@classes.dex
data@app@com.android.vending-1.apk@classes.dex
system@app@docomoAccountAuthenticator.apk@classes.dex
data@app-private@jp.theremin.PictureViewer2-1.apk@classes.dex
data@app@com.adobe.flashplayer-1.apk@classes.dex
system@app@GoogleServicesFramework.apk@classes.dex
system@app@docomo_market.apk@classes.dex
data@app@com.adamrocker.android.input.simeji-1.apk@classes.dex
system@app@IrDAApp.apk@classes.dex
data@app@com.nttdocomo.android.ipspeccollector-1.apk@classes.dex
data@app@com.google.android.apps.docs-1.apk@classes.dex
data@app@jp.smapho.battery_mix-1.apk@classes.dex
system@app@rwpushcontroller.apk@classes.dex


てな訳で。


# rm *Maps*
# rm *dixim*
# rm *StartUp*
# rm *RZT*
# rm *UkiUki*
# rm *GoogleQuick*
# rm *t01c_*
# rm *Street*
# rm *spmode*
# rm *Moshimo*
# rm *Evernote*
# rm *PhoneBook*
# rm *Talk*
# rm *Widget*
# reboot

おおおおおおおぉぉ。ドロワーからマップ及び派生のナビなども消滅した。
なるほど。

てか、/system/app/Maps.odexて確かに無かったような。
dex消せば良いのは当たり前の話か。

あぁ、7回に渡って消したのを整理してスクリプトにしておこう。

排除6

とりあえず、不要ぽいのは以下を残して除去。
もう、糞プロセスいないし、systemパテの容量減らしても楽しくないから終わりにしよう。

BTCN.*
LOCP_Alert.*
SetupWizard.apk
rwpushcontroller.apk
GoogleFeedback.apk
GooglePartnerSetup.apk

# rm Dmc*
-> 問題なし
# rm Recommend*
-> 問題なし。これ、ずっと消したかった糞芝サービス。
# rm Stk*
-> 問題なし。 Sim toolkitを消すとか我ながら恐ろしい。
# rm DSAC*
-> 問題なし。糞芝除去

久々に起動サービス確認したら新たに伏兵が。
googleのmusicとblogger。
うぜー。
消去だな。

/dev/block/mtdblock1    345600    201044    144556  58% /system

こんなんになりました。




ガラの主要機能をなんとか残しているのがね。

排除5

標準やgappsにも切り込む

# rm Mms*
# rm Music*
# rm Email*
# rm Talk*
# rm Protips*
# rm AlarmClock*
# rm Calculator*
# rm GoogleBackup*
# rm GoogleQuick*
# rm Street*
# rm Maps*
# rm DocViewer*
# rm docomo*
# reboot

うーん、Mapだけドロワーから消えないな。
付随する形で
Latitude
Navigation
Places
も消えない。

うぜー

不可解

/system/appには

-rw-r--r-- root     root       348686 2011-04-18 23:45 Music.apk
-rw-r--r-- root     root       206024 2011-04-18 23:44 Music.odex
てな感じに存在しているけど、ドロワーでは表示されていないし、アプリ管理で見ても0バイトというイミフ状態。とりあえず、gappsで揃えておこうと思ったのだが。
Music.apkを取り出し、

> adb install Music.apk

1281 KB/s (348686 bytes in 0.265s)
        pkg: /data/local/tmp/Music.apk
Failure [INSTALL_FAILED_ALREADY_EXISTS]

因みに、/data/appにはMusic.apkは存在しないので、やはりどこかで管理しているのかな。
れぐぽんは、arcのMusicPlayerがバンドルされているのでgappのMusicは最初から隠蔽されているんだけど、その隠蔽設定がポイントだと思う。

て。

間違えた。

Music.apkはgappsではなく、泥標準だったわ。
com.android.musicね。
com.google.android.musicは普通にインスト可能。
googleと密着しているので、google謹製かandroid謹製か一瞬分からなくなるわ。

それでも、ドロワーに泥標準音楽プレイヤが表示されないのは謎のまま。


排除4

子守しながら


# rm MyRoomWeb*
# rm docomo_market*
# rm Arc*
# rm dixim*
# rm RZT*
# rm Select*
# rm MoshimoCamera*
# rm Evernote_launcher_docomo*
# rm spmode_mail*
# rm MusicPlayer*
# rm PhoneBookCopy*
# rm *Weather*
# rm *Widget*
# rm NX*
->勢いでやってみた
# reboot

問題なし。
ドロワーがすっきりした。

/dev/block/mtdblock1    345600    262600    830000  76% /system

/dev/block/mtdblock1    345600    221128    124472  64% /system

brickの恐怖が、黒ひげ危機一髪と酷使。

それで、起動直後のプロセス状態。


USER     PID   PPID  VSIZE  RSS     WCHAN    PC         NAME
root      1     0     272    260   ffffffff 00000000 S /init
root      2     0     0      0     ffffffff 00000000 S kthreadd
root      3     2     0      0     ffffffff 00000000 S ksoftirqd/0
root      4     2     0      0     ffffffff 00000000 S events/0
root      5     2     0      0     ffffffff 00000000 S khelper
root      6     2     0      0     ffffffff 00000000 S async/mgr
root      7     2     0      0     ffffffff 00000000 S suspend
root      8     2     0      0     ffffffff 00000000 S sync_supers
root      9     2     0      0     ffffffff 00000000 S bdi-default
root      10    2     0      0     ffffffff 00000000 S kblockd/0
root      11    2     0      0     ffffffff 00000000 S ksuspend_usbd
root      12    2     0      0     ffffffff 00000000 S khubd
root      13    2     0      0     ffffffff 00000000 S kmmcd
root      14    2     0      0     ffffffff 00000000 S bluetooth
root      15    2     0      0     ffffffff 00000000 S rpciod/0
root      16    2     0      0     ffffffff 00000000 S modem_notifier
root      17    2     0      0     ffffffff 00000000 S qmi
root      18    2     0      0     ffffffff 00000000 S nmea
root      19    2     0      0     ffffffff 00000000 S rpcrouter
root      20    2     0      0     ffffffff 00000000 D rpcrotuer_smd_x
root      21    2     0      0     ffffffff 00000000 S kswapd0
root      22    2     0      0     ffffffff 00000000 S krpcserversd
root      23    2     0      0     ffffffff 00000000 S aio/0
root      24    2     0      0     ffffffff 00000000 S nfsiod
root      25    2     0      0     ffffffff 00000000 S crypto/0
root      36    2     0      0     ffffffff 00000000 S mdp_dma_wq
root      37    2     0      0     ffffffff 00000000 S mdp_vsync_wq
root      38    2     0      0     ffffffff 00000000 S mdp_pipe_ctrl_w
root      39    2     0      0     ffffffff 00000000 S diag_wq
root      40    2     0      0     ffffffff 00000000 S scsi_tgtd/0
root      41    2     0      0     ffffffff 00000000 S mtdblockd
root      42    2     0      0     ffffffff 00000000 S spi_qsd.0
root      50    2     0      0     ffffffff 00000000 D krtcclntd
root      51    2     0      0     ffffffff 00000000 D krtcclntcbd
root      52    2     0      0     ffffffff 00000000 D kbatteryclntd
root      53    2     0      0     ffffffff 00000000 D kbatteryclntcbd
root      54    2     0      0     ffffffff 00000000 S kstriped
root      55    2     0      0     ffffffff 00000000 S kondemand/0
root      56    2     0      0     ffffffff 00000000 S kconservative/0
root      57    2     0      0     ffffffff 00000000 S usbhid_resumer
root      58    2     0      0     ffffffff 00000000 S binder
root      59    2     0      0     ffffffff 00000000 S keventsGEO/0
root      60    2     0      0     ffffffff 00000000 S keventsIRDA/0
root      61    2     0      0     ffffffff 00000000 S tg03cap_wq
root      62    2     0      0     ffffffff 00000000 S krfcommd
root      63    2     0      0     ffffffff 00000000 D khsclntd
root      64    2     0      0     ffffffff 00000000 S flush-31:0
system    69    1     7780   700   ffffffff 00000000 S /system/bin/trpd
system    70    1     684    248   ffffffff 00000000 S /system/bin/tgmd
system    71    1     10616  1020  ffffffff 00000000 S /system/bin/tmsd
system    72    1     704    280   ffffffff 00000000 S /system/bin/servicemanager
root      73    1     4416   632   ffffffff 00000000 S /system/bin/vold
root      74    1     3640   568   ffffffff 00000000 S /system/bin/netd
root      75    1     564    248   ffffffff 00000000 S /system/bin/debuggerd
root      76    1     3860   388   ffffffff 00000000 S /system/bin/qmuxd
radio     77    1     17188  2516  ffffffff 00000000 S /system/bin/rild
root      78    1     115204 27704 ffffffff 00000000 S zygote
media     79    1     33032  5868  ffffffff 00000000 S /system/bin/mediaserver
bluetooth 80    1     1164   704   ffffffff 00000000 S /system/bin/dbus-daemon
root      81    1     708    300   ffffffff 00000000 S /system/bin/installd
keystore  83    1     1516   392   ffffffff 00000000 S /system/bin/keystore
root      88    1     700    296   ffffffff 00000000 S /system/bin/acceld
root      89    1     716    320   ffffffff 00000000 S /system/bin/geomagneticd
root      90    1     2748   308   ffffffff 00000000 S /system/bin/orientationd
shell     91    1     3304   184   ffffffff 00000000 S /sbin/adbd
root      92    2     0      0     ffffffff 00000000 S usb_mass_storag
root      116   2     0      0     ffffffff 00000000 S mmcqd
system    155   78    284260 43708 ffffffff 00000000 S system_server
root      177   1     4636   844   ffffffff 00000000 S /system/bin/CKPD-daemon
root      244   2     0      0     ffffffff 00000000 S AR6K Async
app_0     246   78    167656 25272 ffffffff 00000000 S com.adamrocker.android.input.simeji
radio     251   78    169088 24596 ffffffff 00000000 S com.android.phone
app_33    257   78    244012 34336 ffffffff 00000000 S com.android.launcher
root      280   2     0      0     ffffffff 00000000 S ksdioirqd/mmc0
app_5     288   78    176920 24036 ffffffff 00000000 S com.google.process.gapps
root      309   1     644    328   ffffffff 00000000 S /system/bin/sh
wifi      322   309   1956   1060  ffffffff 00000000 S /system/bin/wpa_supplicant
app_4     374   78    154924 21132 ffffffff 00000000 S android.process.media
fcdial    393   78    162976 23144 ffffffff 00000000 S com.android.contactsnx
root      410   2     0      0     ffffffff 00000000 S flush-179:0
app_7     422   78    156964 21788 ffffffff 00000000 S com.android.email
audio     462   78    176160 23120 ffffffff 00000000 S jp.pixela.StationMobile
app_79    492   78    160324 21364 ffffffff 00000000 S com.arcsoft.cameraV4_5
fcdial    501   78    168048 23208 ffffffff 00000000 S com.android.contactsnx:remote
app_46    504   78    153552 18976 ffffffff 00000000 S com.redbend.dmc
app_81    513   78    156112 23560 ffffffff 00000000 S com.toshiba.recommend.service
app_52    519   78    174972 26448 ffffffff 00000000 S com.google.android.apps.maps:FriendService
app_55    529   78    180692 28996 ffffffff 00000000 S android.process.acore
app_81    536   513   940    656   ffffffff 00000000 S logcat
app_54    542   78    193196 24764 ffffffff 00000000 S com.google.android.youtube
app_20    568   78    160776 22800 ffffffff 00000000 S com.google.android.gm
app_89    577   78    159400 21516 ffffffff 00000000 S com.google.android.googlequicksearchbox
app_83    589   78    152088 18808 ffffffff 00000000 S com.toshiba.Felica.BroadCast
dhcp      601   595   748    380   ffffffff 00000000 S /system/bin/dhcpcd
app_56    602   78    156156 19984 ffffffff 00000000 S com.google.android.apps.uploader
system    619   78    155972 20312 ffffffff 00000000 S com.android.settings
app_52    625   78    176160 27764 ffffffff 00000000 S com.google.android.apps.maps:LocationFriendService
app_52    634   78    175100 28176 ffffffff 00000000 S com.google.android.apps.maps

よし、糞プロセス消えた(当たり前だけど)。

ドロワーからukiukiが消えた日 (はたまた排除3)


>adb uninstall t01c_manual
Failure

やはり、data/appだけタゲってるぽい。まぁ当たり前なんだけど。ちゅうのも、どこかにインストール情報を保持していて、その情報からアンインスト処理していると推測していた。
だけど、rm {x}.apkで問題ないのであるならば、インストール情報も何もないという結論へ。

そうと分かれば
# rm t01c_manual.apk
# rm UkiUkiView.apk
さらばじゃ!!!!!!!!
# reboot


/dev/block/mtdblock1    345600    262600     83000  76% /system

/dev/block/mtdblock1    345600    261484     84116  76% /system

ドロワーからukiukiが消えた日 完

ちゅか、もう飽きた。

敢えて言うならば、
- MyRoomWeb
- スターメモ (根深そうなので、ちと嫌な感じはする)
- ドコモマーケット
は消し去りたい。

780%使わないから。
facebookとかのプリセットアプリとか何気にインストされているんだけど、ドロワーに表示されない限りは気にならないかな。

それより、糞プロセス排除か、優先すべきは。

排除2

adb uninstall {package}

なので、apk名ではアンインスト出来ない。
こんな時、皮肉なことに茸謹製端末仕様確認ツールが真価を発揮する。


>adb uninstall com.nttdocomo.android.startupguide
Failure

ふぁっく!

怒りに身を任せて

# rm StartUpGuide.apk

# reboot (影響無いか->ある訳がない)


ぉいぉい

ドロワーからは削除されている。
/dev/block/mtdblock1    345600    262600     83000  76% /system


/dev/block/mtdblock1    345600    262576     83024  76% /system

ちょっと大人気なく検証もせずに消してしまったけど、adb uninstallは/data/appだけをタゲっているのか、それとも、data/appのapkはフルパッケージ.apkなので、adb uninstall StartUpGuideとするべきだったのかは謎。
だけど、adbのusageでは、
adb uninstall [-k] <package> - remove this app package from the device
なので、どちらとも取れるな。

よし、次は冷静に排除しよう。

次は、

-rw-r--r-- root     root       118988 2011-04-18 23:45 t01c_manual.apk

君だ。取扱説明書。
にしても、消し方が慎重過ぎるな。

待ってろよ、ukiuki。

排除1


ホーム
- RSS
- カレンダ
- 天気ウィジェット
- ホームヘルプウィジェット
- Twitter
- スターメモ
- 電卓
ランチャ
- トグルウィジェット
- 天気ウィジェット
- 通知ウィジェット

NX抹殺したいのは世界共通だけど、根が深いちゅうか、先に消せそうな軽微アプリをタゲる。

プロセス調査

糞芝系
app_36    253   78    153192 18660 ffffffff 6fd0eb9c S com.toshiba.nx.widget.alarm
app_16    258   78    166440 22408 ffffffff 6fd0eb9c S com.softspb.toshiba.weather
app_81    331   78    159232 24432 ffffffff 6fd0eb9c S com.toshiba.recommend.service
app_66    389   78    160164 21540 ffffffff 6fd0eb9c S com.toshiba.nx.twitter
audio     531   78    306476 82012 ffffffff 6fd0eb9c S jp.pixela.StationMobile
app_30    839   78    153344 19292 ffffffff 6fd0eb9c S arcsoft.android.arcslideshow
app_32    916   78    153224 19408 ffffffff 6fd0eb9c S com.toshiba.dsacwidget
app_82    12482 78    153400 19212 ffffffff 6fd0eb9c S com.toshiba.slideshow
app_46    13340 78    155192 19672 ffffffff 6fd0eb9c S com.redbend.dmc

アプリ調査
-rw-r--r-- root     root       422032 2011-04-18 23:44 NX_Memo.odex
-rw-r--r-- root     root       744232 2011-04-18 23:44 NX_Screen.odex
-rw-r--r-- root     root       376078 2011-04-18 23:45 IrDAApp.apk
-rw-r--r-- root     root       170256 2011-04-18 23:44 CalendarProvider.odex
-rw-r----- system   mfm        513072 2011-04-18 23:44 MobileFeliCaMenuApp.odex
-rw-r--r-- root     root      5736720 2011-04-18 23:45 dixim-android-dms.apk
-rw-r--r-- root     root        20080 2011-04-18 23:44 MagicSmokeWallpapers.odex
-rw-r--r-- root     root      1396492 2011-04-18 23:45 LatinIME.apk
-rw-r--r-- root     root         6064 2011-04-18 23:44 DSACWidget.odex
-rw-r--r-- root     root        12332 2011-04-18 23:45 NetworkLocation.apk
-rw-r--r-- root     root        16608 2011-04-18 23:45 Felica_Broadcast.apk
-rw-r--r-- root     root      1171056 2011-04-18 23:44 Email.odex
-rw-r--r-- root     root        16877 2011-04-18 23:45 MediaProvider.apk
-rw-r--r-- root     root         4848 2011-04-18 23:44 HighTempWarningIntentReceiver.odex
-rw-r--r-- root     root        13568 2011-04-18 23:44 AlarmWidget.odex
-rw-r----- system   felc       579032 2011-04-18 23:44 MobileFeliCaClient.odex
-rw-r--r-- root     root        46792 2011-04-18 23:44 SettingsProvider.odex
-rw-r--r-- root     root       265420 2011-04-18 23:45 NX_SlideShowSettings.apk
-rw-r--r-- root     root         2256 2011-04-18 23:44 BTCN.odex
-rw-r--r-- root     root         2771 2011-04-18 23:45 RecommendService.apk
-rw-r--r-- root     root       322320 2011-04-18 23:44 NX_flickr.odex
-rw-r--r-- root     root        17422 2011-04-18 23:45 TelephonyProvider.apk
-rw-r--r-- root     root         5708 2011-04-18 23:45 ApplicationsProvider.apk
-rw-r--r-- root     root       139375 2011-04-18 23:45 Dmc.apk
-rw-r--r-- root     root        78936 2011-04-18 23:44 DownloadProvider.odex
-rw-r--r-- root     root        16760 2011-04-18 23:44 LiveWallpapersPicker.odex
-rw-r--r-- root     root       624384 2011-04-18 23:45 StickyNoteWidget.apk
-rw-r--r-- root     root      3337684 2011-04-18 23:45 ContactsNX.apk
-rw-r--r-- root     root      1437484 2011-04-18 23:45 ToshibaCamera.apk
-rw-r--r-- root     root       288914 2011-04-18 23:45 Street.apk
-rw-r--r-- root     root        13976 2011-04-18 23:44 UserDictionaryProvider.odex
-rw-r--r-- root     root       113439 2011-04-18 23:45 GoogleCalendarSyncAdapter.apk
-rw-r--r-- root     root        22778 2011-04-18 23:45 Stk.apk
-rw-r--r-- root     root        20789 2011-04-18 23:45 StartUpGuide.apk
-rw-r--r-- root     root       118988 2011-04-18 23:45 t01c_manual.apk
-rw-r--r-- root     root      4931473 2011-04-18 23:45 NX_Screen.apk
-rw-r--r-- root     root       811350 2011-04-18 23:45 Talk.apk
-rw-r--r-- root     root       203540 2011-04-18 23:45 MagicSmokeWallpapers.apk
-rw-r--r-- root     root        14938 2011-04-18 23:45 TtsService.apk
-rw-r--r-- root     root        69200 2011-04-18 23:44 NX_Mixi.odex
-rw-r--r-- root     root        27664 2011-04-18 23:44 VpnServices.odex
-rw-r--r-- root     root        11435 2011-04-18 23:45 docomo_market.apk
-rw-r--r-- root     root       290119 2011-04-18 23:45 ArcVideoEditor.apk
-rw-r--r-- root     root        73664 2011-04-18 23:44 Calculator.odex
-rw-r--r-- root     root        19133 2011-04-18 23:45 rwpushcontroller.apk
-rw-r--r-- root     root       637840 2011-04-18 23:44 Settings.odex
-rw-r--r-- root     root       631072 2011-04-18 23:44 ToshibaCamera.odex
-rw-r--r-- root     root      1529836 2011-04-18 23:45 Vending.apk
-rw-r--r-- root     root       230616 2011-04-18 23:44 Launcher2.odex
-rw-r--r-- root     root        15582 2011-04-18 23:45 LOCP_Alert.apk
-rw-r--r-- root     root       111504 2011-04-18 23:44 NX_youtube.odex
-rw-r--r-- root     root        89286 2011-04-18 23:45 NX_twitter.apk
-rw-r--r-- root     root         8921 2011-04-18 23:45 MarketUpdater.apk
-rw-r--r-- root     root        10257 2011-04-18 23:45 FTBrowserPluginFlash.apk
-rw-r--r-- root     root        23384 2011-04-18 23:44 UpdateNotify.odex
-rw-r--r-- root     root       863513 2011-04-18 23:45 dixim-android-dmp.apk
-rw-r--r-- root     root       439566 2011-04-18 23:44 AlarmClock.apk
-rw-r--r-- root     root       309019 2011-04-18 23:45 Browser.apk
-rw-r--r-- root     root        99008 2011-04-18 23:44 RecommendService.odex
-rw-r--r-- root     root        81756 2011-04-18 23:45 NX_flickr.apk
-rw-r--r-- root     root        10904 2011-04-18 23:45 Fota.apk
-rw-r--r-- root     root        22912 2011-04-18 23:44 VisualizationWallpapers.odex
-rw-r--r-- root     root        89707 2011-04-18 23:45 GoogleFeedback.apk
-rw-r--r-- root     root        73112 2011-04-18 23:45 CertInstaller.apk
-rw-r--r-- root     root       301058 2011-04-18 23:45 MediaUploader.apk
-rw-r--r-- root     root        13133 2011-04-18 23:45 ContactsProvider.apk
-rw-r--r-- root     root         4651 2011-04-18 23:45 DrmProvider.apk
-rw-r--r-- root     root       276864 2011-04-18 23:44 Browser.odex
-rw-r--r-- root     root       130446 2011-04-18 23:44 AccountAndSyncSettings.apk
-rw-r--r-- root     root        46568 2011-04-18 23:44 Stk.odex
-rw-r--r-- root     root       101328 2011-04-18 23:44 TelephonyProvider.odex
-rw-r--r-- root     root        64400 2011-04-18 23:44 LiveWallpapers.odex
-rw-r--r-- root     root       834075 2011-04-18 23:45 YouTube.apk
-rw-r--r-- root     root        15536 2011-04-18 23:44 DSAC.odex
-rw-r--r-- root     root        11069 2011-04-18 23:45 DmcWaitingScreen.apk
-rw-r--r-- root     root         3688 2011-04-18 23:44 SelectHomeScreen.odex
-rw-r--r-- root     root       123370 2011-04-18 23:45 MobileFeliCaSettingApp.apk
-rw-r--r-- root     root        11920 2011-04-18 23:44 DrmProvider.odex
-rw-r----- system   mfm        385192 2011-04-18 23:44 MobileFeliCaSettingApp.odex
-rw-r--r-- root     root      5860294 2011-04-18 23:45 Maps.apk
-rw-r--r-- root     root        64733 2011-04-18 23:45 Bluetooth.apk
-rw-r--r-- root     root        68156 2011-04-18 23:45 ArcWorkshop.apk
-rw-r--r-- root     root       244264 2011-04-18 23:44 ArcMediaGallery.odex
-rw-r--r-- root     root         9912 2011-04-18 23:45 GooglePartnerSetup.apk
-rw-r--r-- root     root         2184 2011-04-18 23:44 LOCP_Alert.odex
-rw-r--r-- root     root      1247280 2011-04-18 23:45 VoiceSearch.apk
-rw-r--r-- root     root      2747839 2011-04-18 23:45 StationMobile.apk
-rw-r--r-- root     root      1038614 2011-04-18 23:45 LiveWallpapers.apk
-rw-r--r-- root     root       618920 2011-04-18 23:44 SPBWeather.odex
-rw-r--r-- root     root        12946 2011-04-18 23:45 DmcInitialScreen.apk
-rw-r--r-- root     root        24973 2011-04-18 23:45 RZTagler_1.apk
-rw-r--r-- root     root       238534 2011-04-18 23:45 MusicPlayer.apk
-rw-r--r-- root     root        32392 2011-04-18 23:44 CertInstaller.odex
-rw-r--r-- root     root         2424 2011-04-18 23:44 Fota.odex
-rw-r--r-- root     root       592879 2011-04-18 23:45 SetupWizard.apk
-rw-r--r-- root     root         3671 2011-04-18 23:45 DefaultContainerService.apk
-rw-r--r-- root     root        20278 2011-04-18 23:45 PackageInstaller.apk
-rw-r--r-- root     root        46423 2011-04-18 23:45 toruca.apk
-rw-r--r-- root     root       566584 2011-04-18 23:44 Phone.odex
-rw-r--r-- root     root       993377 2011-04-18 23:45 UkiUkiView.apk
-rw-r--r-- root     root       125184 2011-04-18 23:44 Dmc.odex
-rw-r--r-- root     root        47288 2011-04-18 23:44 ArcVideoPlayer.odex
-rw-r--r-- root     root        12561 2011-04-18 23:45 UpdateNotify.apk
-rw-r--r-- root     root       127899 2011-04-18 23:45 VisualizationWallpapers.apk
-rw-r--r-- root     root         7184 2011-04-18 23:44 Felica_Broadcast.odex
-rw-r--r-- root     root        12616 2011-04-18 23:44 Felica_Lock_Settting.odex
-rw-r--r-- root     root        11688 2011-04-18 23:44 DefaultContainerService.odex
-rw-r--r-- root     root        97936 2011-04-18 23:44 NX_SlideShowSettings.odex
-rw-r--r-- root     root      1112588 2011-04-18 23:45 Phone.apk
-rw-r--r-- root     root        17356 2011-04-18 23:45 DSAC.apk
-rw-r--r-- root     root        84069 2011-04-18 23:45 Protips.apk
-rw-r--r-- root     root         2763 2011-04-18 23:45 SdkSetup.apk
-rw-r--r-- root     root       245680 2011-04-18 23:44 NX_Starbook.odex
-rw-r--r-- root     root        31060 2011-04-18 23:45 AlarmWidget.apk
-rw-r--r-- root     root        61712 2011-04-18 23:44 ArcSlideShow.odex
-rw-r--r-- root     root       187439 2011-04-18 23:45 ArcMediaGallery.apk
-rw-r--r-- root     root      3483049 2011-04-18 23:45 DocViewer.apk
-rw-r--r-- root     root        56852 2011-04-18 23:45 UnReadWidget.apk
-rw-r--r-- root     root     13510085 2011-04-18 23:45 Launcher2.apk
-rw-r--r-- root     root        40807 2011-04-18 23:45 DSACWidget.apk
-rw-r--r-- root     root      1341464 2011-04-18 23:44 ContactsNX.odex
-rw-r--r-- root     root         3824 2011-04-18 23:44 DmcInitialScreen.odex
-rw-r--r-- root     root       209487 2011-04-18 23:45 Calendar.apk
-rw-r--r-- root     root        60791 2011-04-18 23:45 ArcSlideShow.apk
-rw-r--r-- root     root        95526 2011-04-18 23:45 ArcVideoPlayer.apk
-rw-r--r-- root     root       203562 2011-04-18 23:45 MobileFeliCaMenuApp.apk
-rw-r--r-- root     root        25339 2011-04-18 23:45 LiveWallpapersPicker.apk
-rw-r--r-- root     root         6296 2011-04-18 23:44 HTMLViewer.odex
-rw-r--r-- root     root      3120701 2011-04-18 23:45 NX_Memo.apk
-rw-r--r-- root     root      1486248 2011-04-18 23:44 NX_twitter.odex
-rw-r--r-- root     root       122282 2011-04-18 23:45 GoogleContactsSyncAdapter.apk
-rw-r--r-- root     root       303320 2011-04-18 23:44 Wiper.odex
-rw-r--r-- root     root       534824 2011-04-18 23:44 Mms.odex
-rw-r--r-- root     root      3002417 2011-04-18 23:44 ATOK_IME.apk
-rw-r--r-- root     root        23000 2011-04-18 23:44 PackageInstaller.odex
-rw-r--r-- root     root        43712 2011-04-18 23:45 CalendarProvider.apk
-rw-r--r-- root     root        35296 2011-04-18 23:44 AccountAndSyncSettings.odex
-rw-r--r-- root     root        65866 2011-04-18 23:45 MyRoomWeb.apk
-rw-r--r-- root     root         1248 2011-04-18 23:44 DmcWaitingScreen.odex
-rw-r--r-- root     root        20168 2011-04-18 23:44 StickyNoteWidget.odex
-rw-r--r-- root     root       150796 2011-04-18 23:45 PhoneBookCopy.apk
-rw-r--r-- root     root       141664 2011-04-18 23:44 NX_picasa.odex
-rw-r--r-- root     root       149216 2011-04-18 23:44 LatinIME.odex
-rw-r--r-- root     root         6565 2011-04-18 23:45 Wiper.apk
-rw-r--r-- root     root        18840 2011-04-18 23:44 ApplicationsProvider.odex
-rw-r--r-- root     root        20972 2011-04-18 23:45 SettingsProvider.apk
-rw-r--r-- root     root         2583 2011-04-18 23:45 GoogleBackupTransport.apk
-rw-r--r-- root     root        99627 2011-04-18 23:45 Calculator.apk
-rw-r--r-- root     root      1860411 2011-04-18 23:45 Gmail.apk
-rw-r--r-- root     root         5264 2011-04-18 23:44 SdkSetup.odex
-rw-r--r-- root     root       114344 2011-04-18 23:44 DocViewer.odex
-rw-r--r-- root     root        81379 2011-04-18 23:45 NX_facebook.apk
-rw-r--r-- root     root        13389 2011-04-18 23:45 DigitalTimeWidget.apk
-rw-r--r-- root     root       365992 2011-04-18 23:44 ContactsProvider.odex
-rw-r--r-- root     root        93172 2011-04-18 23:45 NX_Mixi.apk
-rw-r--r-- root     root       201992 2011-04-18 23:44 NetworkLocation.odex
-rw-r--r-- root     root      3171421 2011-04-18 23:45 SPBWeather.apk
-rw-r--r-- root     root         4140 2011-04-18 23:45 HTMLViewer.apk
-rw-r--r-- root     root        11896 2011-04-18 23:44 UnReadWidget.odex
-rw-r--r-- root     root       240816 2011-04-18 23:44 NX_facebook.odex
-rw-r--r-- root     root         6797 2011-04-18 23:45 MobileFeliCaClient.apk
-rw-r--r-- root     root        86303 2011-04-18 23:45 NX_youtube.apk
-rw-r--r-- root     root         4244 2011-04-18 23:45 HighTempWarningIntentReceiver.apk
-rw-r--r-- root     root       348686 2011-04-18 23:45 Music.apk
-rw-r--r-- root     root      1508173 2011-04-18 23:45 Settings.apk
-rw-r--r-- root     root      2522612 2011-04-18 23:45 NX_Starbook.apk
-rw-r--r-- root     root        20080 2011-04-18 23:45 docomoAccountAuthenticator.apk
-rw-r--r-- root     root        18736 2011-04-18 23:45 SelectHomeScreen.apk
-rw-r--r-- root     root         5504 2011-04-18 23:44 Protips.odex
-rw-r--r-- root     root       764397 2011-04-18 23:45 GenieWidget.apk
-rw-r--r-- root     root        20958 2011-04-18 23:45 Felica_Lock_Settting.apk
-rw-r--r-- root     root         9632 2011-04-18 23:44 DigitalTimeWidget.odex
-rw-r--r-- root     root        60888 2011-04-18 23:44 AlarmClock.odex
-rw-r--r-- root     root       295200 2011-04-18 23:44 Calendar.odex
-rw-r--r-- root     root        67536 2011-04-18 23:44 GoogleBackupTransport.odex
-rw-r--r-- root     root        16733 2011-04-18 23:45 NX_picasa.apk
-rw-r--r-- root     root       755648 2011-04-18 23:44 StationMobile.odex
-rw-r--r-- root     root        82624 2011-04-18 23:44 ArcWorkshop.odex
-rw-r--r-- root     root       370130 2011-04-18 23:45 Email.apk
-rw-r--r-- root     root        14813 2011-04-18 23:45 spmode_mail.apk
-rw-r--r-- root     root       886792 2011-04-18 23:44 MusicPlayer.odex
-rw-r--r-- root     root        33240 2011-04-18 23:44 MyRoomWeb.odex
-rw-r--r-- root     root        33064 2011-04-18 23:44 TtsService.odex
-rw-r--r-- root     root      1401398 2011-04-18 23:45 GoogleServicesFramework.apk
-rw-r--r-- root     root         9156 2011-04-18 23:45 DownloadProvider.apk
-rw-r--r-- root     root     11175882 2011-04-18 23:45 MoshimoCamera.apk
-rw-r--r-- root     root       483473 2011-04-18 23:45 Mms.apk
-rw-r--r-- root     root         2248 2011-04-18 23:44 FTBrowserPluginFlash.odex
-rw-r--r-- root     root        27470 2011-04-18 23:45 Evernote_launcher_docomo.apk
-rw-r--r-- root     root       206488 2011-04-18 23:44 ArcVideoEditor.odex
-rw-r--r-- root     root        64946 2011-04-18 23:45 MobileFeliCaWebPluginBoot.apk

FeliCaだけ消そうものなら刺し違えたる!的なオーラがあるなぁ。

まずは君だ。

-rw-r--r-- root     root        20789 2011-04-18 23:45 StartUpGuide.apk

決定。

次なる

次なるミッションは何ですか?となれば、アレしかない。

mission3. ガラ糞を排除せよ

とにかく、あの糞プロセスの嵐は潔癖症でなくても嫌悪感を抱くはず。
そして、system領域が手中に収まった今、プリイン糞も排除出来るはず。
はず。
はず。
いや、知らないよ。
やったことないし。

# busybox df (リンク張れよ)

Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/block/mtdblock1    345600    262600     83000  76% /system

さぁ、どうなるか乞うご期待。

あれ?
ネクサスの根は?
bootloaderのunlockが何故必要なのか理解してる?
zergrushやpsneuterとかgbとか涼しい顔で使っていたけどコード解析した?理解してる?


それどころじゃない。
糞を排除する。
UkiUkiViewのアイコンだけは許せない。

るーと5

mission2. systemパテを起動時にrwマウントせよ

dmesg参照すると、

<6>[    2.231380] yaffs: dev is 32505857 name is "mtdblock1"
<6>[    2.231392] yaffs: passed flags ""
<4>[    2.231402] yaffs: Attempting MTD mount on 31.1, "mtdblock1"
てなところしかヒットせず。

init.rc参照していると、
    mkdir /system
    mkdir /data 0771 system system
    mkdir /persist 0771 system system
    # Mount /system rw first to give the filesystem a chance to save a checkpoint
    mount yaffs2 mtd@system /system
    mount yaffs2 mtd@system /system ro remount
ヒット。

て。
init.rcて、boot.img/initramfs解体しての変更でないとダメじゃん。
ルートのinit.rcは揮発じゃん。

で、ネットをうろついていると、どうもinit.rcに

service flash_recovery /system/etc/install-recovery.sh
    oneshot

て記述があるから、install-recovery.shに初期化時にやりたいことを記載すれば良いとな。

そそくさ、install-recovery.sh(utf8/lf)を作成。

--- install-recovery.sh
#!/system/bin/sh
#mount yaffs2 mtd@system /system rw remount <- これだとrwマウントされない。mountコマンドはいつも深い

mount -o rw,remount /system /system
---

# dd if=/mnt/sdcard/install-recovery.sh of=/system/etc/install-recovery.sh
0+1 records in
0+1 records out
97 bytes transferred in 0.003 secs (32333 bytes/sec)
# chmod 755 /system/etc/install-recovery.sh
# reboot

そして、

$ mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
/dev/block/mtdblock1 /system yaffs2 rw,relatime 0 0
/dev/block/mtdblock4 /data yaffs2 rw,nosuid,nodev,relatime 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
/dev/block/mtdblock2 /cache yaffs2 rw,nosuid,nodev,relatime 0 0
/dev/block/vold/179:1 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,relatime,u
id=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset
=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:1 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,relat
ime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,ioch
arset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
tmpfs /mnt/sdcard/.android_secure tmpfs ro,relatime,size=0k,mode=000 0 0

伝説へ


るーと4

Superuser.apkとは何ぞや?というところから。
入浴れぐぽんで、思いの限り検索していると文献発見。
酢がスルー許可だと危険過ぎるちゅうことで、根泥で使われる酢は、

[su]1. 起動
[su]2. ホワイトリスト検索(DB)
[su]3. 未登録ならば
[su]4. インテント投げてホワイトリストポーリング
[superuser.apk]5. Superuser.apkがフック起動
[superuser.apk]6. 確認ダイアログ
[superuser.apk]7. 許可ならばホワイトリスト登録(DB)
[su]8. ポーリング抜けてsh叩く

という手順が踏めるように実装されている。
http://code.google.com/p/superuser/source/browse/trunk/su/su.c?r=2
つまり、Superuser.apkとセットで動作させている。まぁ、よく見掛ける酢権限で実行を許可しますか?のアレ(泥アプリ)です。
ということは?
そもそも、プライバシーに関する情報やら課金に関わるような情報を泥上に置いておくなんて、個人的には信じられなくて、そんなものはガラケーでやっておけば良いという考え。
だから、酢権限の確認さえ、私の場合は不要ちゅうことで。
そいや、あの酢バイナリて適当に落としたんだよなぁ。それが悪かった。
shを叩ければそれで良いのか。su経由のshではなく、shそのものにuid付与でsuとする。

# cat sh > su
# chmod 4755 su
# reboot

そして、

$ su
#

伝説へ

さーて、次はsystemパテのオートwマウントだ。

るーと3



酢のPermission deniedですが、logcat閲覧すると、

E/su      (  817): stat failed with 2: No such file or directory
W/su      (  817): request rejected (2000->0 /system/bin/sh)


とあります。
はて?
statコマンドない?と、stat叩いてみると、No such file or directoryと出る。
そりゃそうかと、仕方が無いので、toolboxに対してstatでリンクしてみると(ちゅか、toolbox statで良いな)、そんなツールありませーんと弾かれる。
そりゃそうかと、更に仕方が無いので、(躊躇もせず)busyboxを追加し、statでリンク。
よーし、stat効くからねーと。

そして、


$ su
Permission denied
$


伝説へ(繰り返す

Superuser.apkが何物なのかをちゃんと調べてみることにした。

--

ところで、ちょいと参考メモ。
xbin追加した時はPATH追加しないとねーと調べたらデフォなんだと驚愕。

init.rc

# setup the global environment
    export PATH /sbin:/system/sbin:/system/bin:/system/xbin
    export LD_LIBRARY_PATH /system/lib
    export ANDROID_BOOTLOGO 1
    export ANDROID_ROOT /system
    export ANDROID_ASSETS /system/app
    export ANDROID_DATA /data
    export EXTERNAL_STORAGE /mnt/sdcard
    export ASEC_MOUNTPOINT /mnt/asec
    export BOOTCLASSPATH /system/framework/core.jar:/system/framework/ext.jar:/s
ystem/framework/framework.jar:/system/framework/android.policy.jar:/system/frame
work/services.jar

るーと2

mission1.PCから繋いでroot権限で操作が出来る

という訳で、まずadbで繋げて酢投入。そこからいつでも酢になれる目論見で以下の作業。
取り急ぎ、psneuterで奪取しておく。

# mount -o rw,remount /system /system
# mount
/dev/block/mtdblock1 /system yaffs2 rw,relatime 0 0
# dd if=/mnt/sdcard/su of=/system/bin/su
51+1 records in
51+1 records out
26264 bytes transferred in 0.017 secs (1544941 bytes/sec)
# chmod 6755 /system/bin/su
-rwsr-sr-x root     root        26264 2012-03-08 14:52 su
# reboot

そして


$ su
Permission denied
$

伝説へ。

さて、酢の本質でも探るかなぁ。
気になるのは、不要と考えていたSuperuser.apkです。
あれ、別にインストいなくても酢駒で十分でしょと考えていたけど根本的に違うのかも知れない。
でも、必要であることを認識した上でインストすることに。

るーと1

ルート奪取前
shell 92 1 3308 188 ffffffff 00000000 S /sbin/adbd
ルート奪取後
root 725 1 3308 192 ffffffff 0000f534 S /sbin/adbd

という感じで、adbdの権限がrootになる訳ですが。
試したところ、2.2.2ではzergRushでもpsneuterでも奪取出来るので穴ってることが分かる。

さて、ねくさすルート前にお勉強とか言いながら訳の分からぬ方向へ進み始めたりしている。
基本的に端末上でes使ったりしてファイル云々とかする気もないし、su系アプリとかも色々と使ってみたけど別に無くても構わないので。
1.PCから繋いでroot権限で操作が出来る
2.systemを起動時にwオートマウントする
この2つをクリアすれば、とりあえず文句ない訳です。というか、それでやっとこさ振り出しに戻る。
毎回、穴掘るのもアレだし、常時adbdがroot権限で生成されるようには、どうすれば良いのかを調べる。

れぐぽんおさらい2

起動直後にadb接続してのプロセス一覧

USER     PID   PPID  VSIZE  RSS     WCHAN    PC         NAME
root      1     0     272    260   ffffffff 00000000 S /init
root      2     0     0      0     ffffffff 00000000 S kthreadd
root      3     2     0      0     ffffffff 00000000 S ksoftirqd/0
root      4     2     0      0     ffffffff 00000000 S events/0
root      5     2     0      0     ffffffff 00000000 S khelper
root      6     2     0      0     ffffffff 00000000 S async/mgr
root      7     2     0      0     ffffffff 00000000 S suspend
root      8     2     0      0     ffffffff 00000000 S sync_supers
root      9     2     0      0     ffffffff 00000000 S bdi-default
root      10    2     0      0     ffffffff 00000000 S kblockd/0
root      11    2     0      0     ffffffff 00000000 S ksuspend_usbd
root      12    2     0      0     ffffffff 00000000 S khubd
root      13    2     0      0     ffffffff 00000000 S kmmcd
root      14    2     0      0     ffffffff 00000000 S bluetooth
root      15    2     0      0     ffffffff 00000000 S rpciod/0
root      16    2     0      0     ffffffff 00000000 S modem_notifier
root      17    2     0      0     ffffffff 00000000 S qmi
root      18    2     0      0     ffffffff 00000000 S nmea
root      19    2     0      0     ffffffff 00000000 S rpcrouter
root      20    2     0      0     ffffffff 00000000 D rpcrotuer_smd_x
root      21    2     0      0     ffffffff 00000000 S kswapd0
root      22    2     0      0     ffffffff 00000000 S krpcserversd
root      23    2     0      0     ffffffff 00000000 S aio/0
root      24    2     0      0     ffffffff 00000000 S nfsiod
root      25    2     0      0     ffffffff 00000000 S crypto/0
root      36    2     0      0     ffffffff 00000000 S mdp_dma_wq
root      37    2     0      0     ffffffff 00000000 S mdp_vsync_wq
root      38    2     0      0     ffffffff 00000000 S mdp_pipe_ctrl_w
root      39    2     0      0     ffffffff 00000000 S diag_wq
root      40    2     0      0     ffffffff 00000000 S scsi_tgtd/0
root      41    2     0      0     ffffffff 00000000 S mtdblockd
root      42    2     0      0     ffffffff 00000000 S spi_qsd.0
root      50    2     0      0     ffffffff 00000000 D krtcclntd
root      51    2     0      0     ffffffff 00000000 D krtcclntcbd
root      52    2     0      0     ffffffff 00000000 D kbatteryclntd
root      53    2     0      0     ffffffff 00000000 D kbatteryclntcbd
root      54    2     0      0     ffffffff 00000000 S kstriped
root      55    2     0      0     ffffffff 00000000 S kondemand/0
root      56    2     0      0     ffffffff 00000000 S kconservative/0
root      57    2     0      0     ffffffff 00000000 S usbhid_resumer
root      58    2     0      0     ffffffff 00000000 S binder
root      59    2     0      0     ffffffff 00000000 S keventsGEO/0
root      60    2     0      0     ffffffff 00000000 S keventsIRDA/0
root      61    2     0      0     ffffffff 00000000 S tg03cap_wq
root      62    2     0      0     ffffffff 00000000 S krfcommd
root      63    2     0      0     ffffffff 00000000 D khsclntd
root      64    2     0      0     ffffffff 00000000 S flush-31:0
system    69    1     7780   704   ffffffff 00000000 S /system/bin/trpd
system    70    1     684    252   ffffffff 00000000 S /system/bin/tgmd
system    71    1     10616  1036  ffffffff 00000000 S /system/bin/tmsd
system    72    1     704    284   ffffffff 00000000 S /system/bin/servicemanage
r
root      73    1     4416   636   ffffffff 00000000 S /system/bin/vold
root      74    1     3640   572   ffffffff 00000000 S /system/bin/netd
root      75    1     564    252   ffffffff 00000000 S /system/bin/debuggerd
root      76    1     3860   392   ffffffff 00000000 S /system/bin/qmuxd
radio     77    1     17188  2520  ffffffff 00000000 S /system/bin/rild
root      78    1     115204 27704 ffffffff 00000000 S zygote
media     79    1     32956  5796  ffffffff 00000000 S /system/bin/mediaserver
bluetooth 80    1     1164   708   ffffffff 00000000 S /system/bin/dbus-daemon
root      81    1     720    340   ffffffff 00000000 S /system/bin/installd
keystore  82    1     1516   396   ffffffff 00000000 S /system/bin/keystore
root      87    1     700    300   ffffffff 00000000 S /system/bin/acceld
root      88    1     716    324   ffffffff 00000000 S /system/bin/geomagneticd
root      89    1     2748   312   ffffffff 00000000 S /system/bin/orientationd
shell     92    1     3308   188   ffffffff 00000000 S /sbin/adbd
root      93    2     0      0     ffffffff 00000000 S usb_mass_storag
root      99    2     0      0     ffffffff 00000000 S mmcqd
system    153   78    300012 55004 ffffffff 00000000 S system_server
root      175   1     4636   848   ffffffff 00000000 S /system/bin/CKPD-daemon
app_26    244   78    162892 21748 ffffffff 00000000 S com.atok.mobile.im.servic
e
radio     249   78    170236 24844 ffffffff 00000000 S com.android.phone
app_36    253   78    153152 18500 ffffffff 00000000 S com.toshiba.nx.widget.ala
rm
app_16    257   78    166444 22224 ffffffff 00000000 S com.softspb.toshiba.weath
er
app_75    261   78    223300 38012 ffffffff 00000000 S com.toshiba.nx.screen
app_5     302   78    180552 26740 ffffffff 00000000 S com.google.process.gapps
app_81    334   78    158820 23388 ffffffff 00000000 S com.toshiba.recommend.ser
vice
app_81    367   334   1000   716   ffffffff 00000000 S logcat
app_66    382   78    160164 21532 ffffffff 00000000 S com.toshiba.nx.twitter
app_25    391   78    159992 20772 ffffffff 00000000 S com.android.providers.cal
endar
app_7     480   78    156964 21788 ffffffff 00000000 S com.android.email
app_20    519   78    165120 26156 ffffffff 00000000 S com.google.android.gm
root      525   2     0      0     ffffffff 00000000 S flush-179:0
audio     543   78    176160 23136 ffffffff 00000000 S jp.pixela.StationMobile
app_62    604   78    159860 24348 ffffffff 00000000 S com.android.alarmclock
fcdial    631   78    161936 23084 ffffffff 00000000 S com.android.contactsnx
fcdial    640   78    168044 23196 ffffffff 00000000 S com.android.contactsnx:re
mote
app_46    641   78    159368 20588 ffffffff 00000000 S com.redbend.dmc
app_82    652   78    153400 19112 ffffffff 00000000 S com.toshiba.slideshow
app_4     658   78    157152 23552 ffffffff 00000000 S android.process.media
app_55    667   78    222060 37480 ffffffff 00000000 S android.process.acore
app_89    704   78    160092 21328 ffffffff 00000000 S com.google.android.google
quicksearchbox
app_56    712   78    157256 20152 ffffffff 00000000 S com.google.android.apps.u
ploader
system    722   78    169492 31304 ffffffff 00000000 S com.android.settings
app_30    729   78    153336 18996 ffffffff 00000000 S arcsoft.android.arcslides
how
app_32    744   78    153208 19104 ffffffff 00000000 S com.toshiba.dsacwidget
container 842   78    153152 19448 ffffffff 00000000 S com.android.defcontainer
app_68    865   78    188112 25948 ffffffff 00000000 S com.android.vending
app_87    886   78    153268 18816 ffffffff 00000000 S com.svox.pico
app_52    892   78    170320 26568 ffffffff 00000000 S com.google.android.apps.m
aps:FriendService
app_52    898   78    183976 28744 ffffffff 00000000 S com.google.android.apps.m
aps
shell     928   92    636    324   80076e58 6fd0e83c S /system/bin/sh
shell     930   928   784    336   00000000 6fd0d92c R ps

うーん。さすがガラスマ。糞プロセス盛り沢山。

--

ルートからの展望


dr-x------ root     root              2012-03-07 22:29 config
drwxrwx--- system   cache             2012-03-07 22:30 cache
lrwxrwxrwx root     root              2012-03-07 22:29 sdcard -> /mnt/sdcard
drwxr-xr-x root     root              2012-03-07 22:29 acct
drwxrwxr-x root     system            2012-03-07 22:29 mnt
lrwxrwxrwx root     root              2012-03-07 22:29 d -> /sys/kernel/debug
lrwxrwxrwx root     root              2012-03-07 22:29 etc -> /system/etc
drwxrwx--x system   system            2012-03-07 22:29 persist
drwxr-xr-x root     root              2011-04-18 23:42 system
drwxr-xr-x root     root              1970-01-01 09:00 sys
drwxr-x--- root     root              1970-01-01 09:00 sbin
dr-xr-xr-x root     root              1970-01-01 09:00 proc
-rwxr-x--- root     root         6918 1970-01-01 09:00 init.tg03.rc
-rwxr-x--- root     root        14768 1970-01-01 09:00 init.rc
-rwxr-x--- root     root         1677 1970-01-01 09:00 init.goldfish.rc
-rwxr-x--- root     root       108088 1970-01-01 09:00 init
-rw-r--r-- root     root          118 1970-01-01 09:00 default.prop
drwxrwx--x system   system            2011-05-01 09:17 data
drwx------ root     root              2011-04-18 23:12 root
drwxr-xr-x root     root              2012-03-07 22:29 dev

--
systemぱて(閲覧権限ないので一時ルート)


drwxr-xr-x root     root              2011-04-18 14:42 arcsoft
drwxr-xr-x root     root              2011-04-18 14:42 pixela
drwxr-xr-x root     root              2011-04-18 14:42 usr
drwxr-xr-x root     root              2011-04-18 14:42 extsd
drwxr-xr-x root     shell             2011-04-18 14:42 bin
drwxr-xr-x root     root              2011-04-18 14:42 etc
drwxr-xr-x root     root              2011-04-18 14:42 fonts
-rw-r--r-- root     root         2392 2011-04-18 14:42 build.prop
drwxr-xr-x root     root              2011-04-18 14:42 media
drwxr-xr-x root     root              2011-04-18 14:42 wifi
drwxr-xr-x root     root              2011-04-18 14:42 smotion
drwxr-xr-x root     root              2011-04-18 14:45 app
drwxr-xr-x root     root              2011-04-18 14:42 msm_serial_aux
-rw-r--r-- root     root          649 2011-04-18 14:42 ts.conf
drwxr-xr-x root     root              2011-04-18 14:44 framework
drw-rw-rw- root     root              2012-03-07 14:39 lost+found
drwxr-xr-x root     root              2011-04-18 14:42 lib

--

dataぱて(閲覧権限ないので一時ルート)



drwx------ system   system            2012-03-07 14:39 backup
drwxr-xr-x system   system            2011-05-01 00:00 tombstones
drwxrwxr-x system   system            2011-05-01 00:17 anr
drwxrwxrwx shell    root              2009-02-22 11:29 wpstiles
drwxrwxrwx system   system            2012-03-06 14:14 tms
drwxrwxr-x system   system            2012-03-07 14:44 system
drwxrwx--x system   system            2012-03-07 13:32 dalvik-cache
drwxrwx--- radio    radio             2012-03-07 14:39 radio
drwx------ root     root              2012-03-07 14:48 property
drwxrwx--x system   system            2012-03-07 13:32 app
drwxrwx--x system   system            2011-05-01 00:00 app-private
drwxrwx--x system   system            2011-05-01 00:13 data
drwxrwx--x shell    shell             2009-02-22 11:29 local
drwxrwx--t system   misc              2009-02-22 11:29 misc
drwxr-x--- root     log               2009-02-22 11:29 dontpanic
drwxrwxrwx root     root              2009-02-22 11:29 recovery
drwxrwx--- root     root              2009-02-22 11:29 lost+found