カテゴリー: スマートフォン
参照数: 16094

久々に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にすることで、かなり改善します。