それならばカスタムで盛り上げてしまおうというのが、このトピックのテーマです。
[root化の準備]
L-01Fもisaiも既にroot化が可能となっております。
ワンクリックツールを作れば一発なのですが、ソースのコンパイル作業も楽しみの一つだと思っていますので、あえてこの場ではその手順から紹介したいと思います。
この作業にはAndroid NDKとgitおよびadbコマンドが必要ですのでそれらが使える環境にしておいてください。adbコマンドはAndroid SDKを導入する事により使えるようになります。
今回はfi01さんが作ってくれたbackdoor_mmap_toolsを使ってroot化する手段を取ります。
まずはソースコードのリポジトリ(レポジトリ)をクローンしてくる必要があります。
この時git cloneだけだとサブモジュールまではダウンロードされないので--recursiveオプションを付けます。
Code: Select all
git clone --recursive https://github.com/scoty755/backdoor_mmap_tools.git
※手順を簡素化するために一部内容を書き換えました。[2014年2月24日]
続いてコンパイルです。
backdoor_mmap_toolsのフォルダ内でプロンプトを開いている状態でコンパイルのためのコマンドを打ちます。
Code: Select all
ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk
無事コンパイル出来たらbackdoor_mmap_tools/libs/armeabi以下のディレクトリに
いくつかのバイナリが出来ているはずですので、今回はその中から
・install_backdoor
・disable_ccsecurity
の2つを使いますのでroot化したい端末に送り込みます。さらにデバイス情報のデータベースとなるdevice.dbも必要なのでこれも送ります。
コマンドは
Code: Select all
adb push libs/armeabi/install_backdoor /data/local/tmp
adb push libs/armeabi/disable_ccsecurity /data/local/tmp
adb push device_database/device.db /data/local/tmp
Code: Select all
adb shell
cd /data/local/tmp
chmod 755 *
./install_backdoor
./disable_ccsecurity
※backdoor_mmap_toolsにて一時rootになれない場合があるようですのでfi01さんのunlock_security_moduleとandroid-rooting-toolsさんのandroid_run_root_shellを使う方法も追記しておきます。
使うソースはこちら
Code: Select all
git clone --recursive https://github.com/scoty755/unlock_security_module.git
git clone --recursive https://github.com/scoty755/android_run_root_shell.git
コンパイル完了後
unlock_security_module/libs/armeabiにunlock_security_module
android_run_root_shell/libs/armeabiにrun_root_shell
がそれぞれ生成されますのでdevice.dbと一緒に端末側に送り込みます。
Code: Select all
adb push unlock_security_module /data/local/tmp
adb push run_root_shell /data/local/tmp
adb push device.db /data/local/tmp
Code: Select all
adb shell
cd /data/local/tmp
chmod 755 *
./unlock_security_module
./run_root_shell
scoty755 wrote:[LGL22をv10bにアップデートした場合]
本日配信が開始されましたLGL22向けのアップデート(v10b)を適用されますと、記事内で解説しているそのままの方法ではroot化が不可能になります。しかしandroid-rooting-toolsさんのandroid_get_essential_addressを使って脆弱性の利用に必要なアドレスを特定するとroot化が出来る可能性があります。
※もしも出来なかったらごめんなさいです…。
まずはandroid_get_essential_addressのソースを取得してbackdoor_mmap_toolsと同じようにコンパイルします。コンパイルが出来たらandroid_get_essential_address/libs/armeabiにget_essential_addressが生成されますのでandroid_get_essential_address/device_database内にあるdevice.dbと一緒にadbでpushして実行します。Code: Select all
git clone --recursive https://github.com/android-rooting-tools/android_get_essential_address.git
get_essential_address実行後device.dbに必要な情報が格納されますのでbackdoor_mmap_toolsまたはunlock_security_module + run_root_shellを使用する事で一時root化が出来ると思います。Code: Select all
adb push get_essential_address /data/local/tmp adb push device.db /data/local/tmp adb shell cd /data/local/tmp chmod 755 * ./get_essential_address
その際上書きされてしまいますのでdevice.dbはpushしないでください。
またget_essential_addressを実行した際に表示されるメッセージをここに貼りだして頂けると嬉しいです。