お値段なんと1,880円(税別)。色々と遊んじゃいます。
清掃
もちろんこの IS11T も例外ではありませんでした。
ちゃんと起動し動作する IS11T が1,880円(税別)は安い。安いのだがこの携帯、開封してスライドするや否やジャリっと不穏な音が…。よく見たらイヤホン端子からキーボードまで砂まみれ。さすがジャンク、良くない意味で期待を裏切らない。
という訳で清掃しました。とはいえ IS11T は非防水端末だから丸洗いするわけには行かないので、水をたっぷり含ませたティッシュペーパーで蓋の内部まで拭き、消毒用アルコールをキーボードに塗りたくり、エアダスターを全力発射し、仕上げにスライド部に機械油を注入しました。
苦労の甲斐もあり、液晶が滑らかにスライドするようになりました。やれやれ。
root 権限の取得
基本的にこの rootkit はワンクリックで root を取得できるのですが、今回は Windows 向け富士通 ADB ドライバが上手く当たらないという理由により Linux で作業しました。
ほとんどが adb での作業なので、OS は違えど root.bat を一行ずつ実行していけばOKです。
ちなみにこの rootkit では microSD に2ndパーティションを作成し、起動時にそのパーティションで /system を乗っ取るというかなりマッチョな方法を取っています。しかしこの方法だと microSD を交換することが出来ないので、端末の /system に直に書き込む方法を取ることにしました。
/system に直に書き込む = 失敗即文鎮の可能性が非常に高いです。
同じ方法が別の IS11T で成功するとは限りません。失敗して端末が文鎮化しても、私もしくは rootkit の作者に問い合わせないで下さい。
root.bat にもある通り、WiFi がオンになっていると再起動ループに陥る可能性があります。
作業終了まで WiFi をオフ かつ 機内モードをオンにしておきましょう。
以下のメモは root.bat を一通り読んだという前提で。
microSD にパーティションを切らず、/system に直に置く場合は、
root.bat の
:STEP_01B, C, D
:STEP_02B
:STEP_05B の「suへのシンボリックリンク」以降
:STEP_06B (要 /system の再マウント、詳細は下記)
:STEP_07B (最低限 Superuser.apk を入れればOK)
:STEP_09B
を一行ずつ実行で root 権限が取れます。
ファイルの存在確認を行う
:file_existsは、
lsにそのまま置き換えればOK。(隠しファイルに対しては ls -a)ちなみに
%ERRORLEVEL% == 1 → ファイルが存在するっぽい。
%ERRORLEVEL% == 0 → ファイルが存在しない
rootkit のインストール先を /system にするには、root.bat の
/sdstemを
/systemに置き換えます。
また、root 権限取得後に表示される「不正なアプリケーションがインストールされているために起動できません」 を回避するためのスクリプトが rootkit の /data_root/script/replace_lib.sh として入っているので、3行目の
SYSLIB_PATH="/sdstem/lib"を
SYSLIB_PATH="/system/lib"に書き換えます。
/system には書き込みロックが掛かっているため、
$ adb shell au -c "mount -o rw,remount -t yaffs2 /dev/block/mtdblock1 /system"で再マウントしてから
$ adb shell au -c "/data/root/script/replace_lib.sh"を実行することで、ライブラリ群にパッチが適用されます。
仕上げに、root権限で Superuser をインストールします。
$ adb push (rootkitのパス)/install_apk/Superuser.apk /sdcard/Superuser.apk再起動すれば各種 root アプリが動作するようになります。
$ adb shell au -c "cp /sdcard/Superuser.apk /system/app/Superuser.apk"
$ adb shell au -c "chmod 644 /system/app/Superuser.apk"
$ adb shell au -c "chown root.root /system/app/Superuser.apk"
カーネルの書き換え
某所の is11tocboot が利用可能です。
カーネルは
$ adb push is11tbootrec.img /data/root/kernel.tmpfileで書き込む事が出来ます。
$ adb shell au -c "/data/root/bin/flash_image boot /data/root/kernel.tmpfile"
$ adb shell au -c "rm -r /data/root/kernel.tmpfile"
boot 領域に書き込む = 失敗即文鎮のため自己責任で。
上手く行けばこんな感じに。
ArchLinux の起動
Complete Linux Installer を Google Play からインストールして下さい。
初回起動時に busybox をインストールするよう指示されますが IS11T では失敗してしまうため、手動で /system/xbin にシンボリックリンクを設定します。
$ adb shell
(以下 IS11T 内のシェル)
$ su
# mount -o rw,remount -t yaffs2 /dev/block/mtdblock1 /system
# ln -s /data/root/bin/busybox /system/xbin
# for cmd in `/data/root/bin/busybox --list`; do (/data/root/bin/busybox [ ! -L /system/xbin/${cmd} ] && /data/root/bin/busybox [ ! -f /system/xbin/${cmd} ] && ln -s /data/root/bin/busybox /system/xbin/${cmd}); done
指示に従い ArchLinux の Core Image をダウンロードして下さい。
以下、ArchLinux 環境でコマンドを入力します。
(無事に ArchLinux に入れていれば [root@localhost /] と表示されるはず)
日本語化する
/etc/locale.gen を開き、ファイルを以下のように書き換えます。
en_US.UTF-8 UTF-8
ja_JP.UTF-8 UTF-8
保存した後に以下を実行します。
# locale-genTerminal Emulator を使用している場合は、
# echo LANG=ja_JP.UTF-8 > /etc/locale.conf
# export LANG=ja_JP.UTF-8
メニューキー → その他 → 設定 → デフォルトをUTF-8にする
のチェックを入れて下さい。
pacman を使えるようにする
# mount proc /proc -t proc
# ln -s /proc/mounts /etc/mtab
起動スクリプトを差し替えれば使えるようになります。
[APP] Linux-on-Android project (Complete Lin… - Pg. 187 | Android | XDA Forums
より bootscript-devfix.sh をダウンロードし、
pacman のデータベースを更新し、パッケージをインストールします。
以上のコマンドを実行することで Vim がインストールされます。[APP] Linux-on-Android project (Complete Lin… - Pg. 187 | Android | XDA Forums
より bootscript-devfix.sh をダウンロードし、
$ adb push bootscript-devfix.sh /sdcard/
$ adb shell au -c "/sdcard/bootscript-devfix.sh /data/data/com.zpwebsites.linuxonandroid/files/bootsctipt.sh"
pacman のデータベースを更新し、パッケージをインストールします。
# pacman -Syy
# pacman -S vim
0 件のコメント:
コメントを投稿