久々にRoot化します。
最近は、F-12Cという、最初っからテザリング出来る、良い機種を使っていたんですが、そろそろ機能的に限界を感じました。
とりあえず、代わりの良い機種は、ないかと思い、調べていると、F-08Dというのが、色々とやりやすそうだということでヤフオクにて挑みました。
こいつは、T-01Dと同じで、中身は、富士通製の他のと良く似ているらしくって、かなり解析されておりRoot化もテザリングも可能だということがわかりました。
おまけに、防水からワンセグ、お財布機能やDLNAクライアントまで、いたれりつくせりで、すばらしい機種です。
さー、ゴタクは、ここまでで、早速、作業開始しましょう。
いるもの
・android-sdk(基本操作用)
・baksmali-2.0.2.jar(テザリング改造時にデコンパイルします)
・smali-2.0.2.jar(テザリング改造時にコンパイルします)
・dexopt-wrapper(テザリング改造時の署名にて使います)
・su-bin-3.1.1-arm-signed.zip(中からsuのみ使います)
・f-10d_2.ab(F10D_root_0903.zipの中から取り出します)
・mkdevsh(F10D_root_0903.zipの中から取り出します)
・fjsec_unlock(fjsecunlock.zipを探して拾ってきます)
・7za(7zipです)
・busybox installer(テザリング改造時の署名にて使います 普通にストアからインストールします)
前提条件
V05R11Aになっている必要があります。
もし、最新過ぎる場合、F08D_TO_SP_ICS1.zipを拾って来て、ファームを書き換えて下さい。
ファームの書き換え方法
F08D_TO_SP_ICS1.zipより、以下のファイルを取り出し、sdcardにコピーしておきます。
1. F08D_TO_SP_ICS1.enc
2. TRI_H_L9.enc
「MENUキー」と 「BACKキー」を両方押しながら電源を入れるとリカバリモードになるので、System updateを選択して実行します。 後は、ほっておくとV05R11Aになります。
A.まず、/dataフォルダの権限を奪取
1.
PCのどこかに作業フォルダを確保し、F10D_root_0903.zipを展開します。
f-10d_2.ab、mkdevshを使います。
2.
adb shell
>cd /data/data/com.android.settings/
>while : ; do ln -s /data a/file99; done
3を実行し、「link failed File exists」が出るまで待機
「link failed File exists」が出現したところで、ctrl+C
3.
2が実行中なので、別のコンソール(dosプロンプトやターミナル)にて、以下を実行して下さい。
adb restore f-10d_2.ab
F-08D画面より認証を許可します。
4.
2を行いながら、3を行うことで、完了です。
B./dev/shに仕掛けをする
1.
mkdevshを権限奪取したフォルダへコピーし、実行権を与えます。
adb push mkdevsh /data/local/tmp/
adb shell
>chmod 777 /data/local/tmp/mkdevsh
2.
uevent_helperを書込み可にする
>mv /data/local /data/local.org
>mkdir /data/local
>ln -s /sys/kernel/uevent_helper /data/local/tmp
C.一時root奪取
1.
adb reboot
adb wait-for-device shell
>echo /data/local.org/tmp/mkdevsh > /sys/kernel/uevent_helper
>/sys/kernel/uevent_helper
2.一時rootになる
adb shell
>/dev/sh
#
D.Nandロックを解除し、永久rootを取る
1.必要なsuコマンドとfjsec_unlockをコピーする
adb push su /data/
adb push fjsec_unlock /data/local.org/tmp/
2.一時rootになって、fjsec_unlockに実行権を与える
adb shell
>/dev/sh
#chmod 777 /data/local.org/tmp/fjsec_unlock
3.ロック解除
#cd /data/local.org/tmp/
#./fjsec_unlock 0
下記が出るまで、繰り返す
default_sec_opsとcurrent_sec_opsが一致するまでらしい
-----------------
security_ops = c0790f68
default_sec_ops = c073f164
current_sec_ops = c073f390("fjsec ")
go ahead..
current_sec_ops = c073f164("default")
Killed
-----------------
4.システム領域を書き込み可でリマウントし、suコマンドをコピーする
#mount -o rw,remount /system
#dd if=/data/su of=/system/bin/su
#chown root.root /system/bin/su
#chmod 06755 /system/bin/su
E.後始末
#rm /data/local/tmp
#mv /data/local /data/local.ln
#mv /data/local.org /data/local
F.テザリングロック解除
1.framework内を逆アセンブルし、/system/frameworkをホスト機へコピーします。
とりあえず、自機にて適当な作業フォルダを作っておいて下さい。
adb pull /system/framework/ ./src
java -jar ./baksmali-2.0.2.jar -a 15 -d ./src -x ./src/framework.odex
2.
中間ソースを改造します。 適当なエディタで、以下ファイルを修正して下さい。
out\com\android\internal\telephony\gsm\GsmDataConnectionTracker.smali
4532行目 書き換え
if-ne v5, v4, :cond_30 --> #if-ne v5, v4, :cond_30
8234行目 追加
return v5
3.再コンパイルします。
java -jar ./smali-2.0.2.jar -o classes.dex out
4.framework.jarを再構築します。
cp src/framework.jar .
7za u -tzip -mx0 framework.jar classes.dex
5.出来上がったframework.jarとツールを F-08Dに転送します。
adb push dexopt-wrapper /data/local/tmp/.
adb push framework.jar /data/local/tmp/framework.jar
adb shell
>su
#cd /data/local/tmp/
6.作成、署名、入れ替え
ストアからbusybox installerを入れておいて下さい。
#cd /data/local/tmp/
#chmod 777 dexopt-wrapper
#./dexopt-wrapper framework.jar framework.odex.new
#busybox dd if=/system/framework/framework.odex of=framework.odex.new bs=1 count=20 skip=52 seek=52 conv=notrunc
#rm /system/framework/framework.odex
#busybox cp framework.odex.new /system/framework/framework.odex
※もし、busyboxの導入が出来ない場合、PCにpullしてから、dd を行うことで、ファイルを作成すれば良い。
※最後のbusy box cpコマンドは、dd if=framework.odex.new of=/system/framework/framework.odexでも良い。
もし、失敗してタイトルループした場合、「ファームの書き換え方法」にて、復活可能なので、何度でもチャレンジして下さい。
先人の方々には、本当に感謝致します。
それでは、みなさん、スーパーF-08Dを堪能して下さい。
追記
F-08Dは、バッテリー持ちが悪いという話ですが、本当です。
対策としては、NX!エコで、オリジナルエコモードを編集し、CPU周波数を「電池もちを優先して制限する」とお知らせLEDをOFFにすることで、かなり改善します。