なので、Androidの脆弱性(exploit)を突いた方法をメモ
1.adb接続
※USB Driverのインストールとadb接続 F-11D編を参照
2.exploitコードの入手とexploitプログラムのビルド
※exploitコードはhttps://github.com/hiikezoe/break_setresuidのあたりから入手可能
※ndk-buildはndk-build環境を整える・・・Windows7 64bitの場合を参照
C:\> ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk
3.exploitプログラム,suプログラムの転送
※suバイナリはhttp://androidsu.com/superuser/のあたりから入手可能
※Windows上のコマンドプロンプトからAndroid端末にプログラムを転送する
※/data/local/tmp/でないと後の手順でプログラムを実行できない
C:\> adb push exploit /data/local/tmp/exploit C:\> adb push su /data/local/tmp/
4.プログラムの実行
※Windows上のコマンドプロンプトからAndroid端末のShellを開き、実行するためのパーミッションを付与しプログラムを実行する
C:\> adb shell shell@android:/ $ chmod 755 /data/local/tmp/exploit shell@android:/ $ /data/local/tmp/exploit shell@android:/ # ←$が#に変わり一時的にroot権限に昇格!
5.suプログラムをシステム領域にコピー
※読み込み専用のシステム領域を書き込み可能な状態にして、システム領域にsuプログラムを配置する
shell@android:/ # mount -o rw,remount /system /system shell@android:/ # dd if=/data/local/tmp/su of=/system/bin/su shell@android:/ # chown root.root /system/bin/su shell@android:/ # chmod 06755 /system/bin/su
6.Superuserをインストール
Google PlayでSuperuserを探してインストール
7.Suバイナリの更新(suバイナリが古い場合)
infoタブを開いて、su binaryをタップ
アップデートをタップ
これでroot化は完了
初めまして。
返信削除一つ質問なのですが、
exploitコードを別な方法でビルドしまして
"ant"というもので.apkにしたのですが
むう"氏の場合どのような形で排出しましたか?
この手の知識が乏しいもので、かなりググったり
F-03Dの方法を使ってみたりしたのですが
できなくて困っています><
「排出」というのは何を意味してますか?
返信削除申し訳ありません。
削除表現がよくわからなかったですね^^;
ビルドしたあと完成したファイルの拡張子のことをお聞きしたつもりです。
ndk-buildでビルドしたものはもともと拡張子なしの単一実行ファイルなので、apkとは別物です。
削除apkでやるのであれば、apkのなかでsuバイナリの配置まで行うコードにしないといけないのではと想像します。
なるほど....
削除ということは、むう"氏が紹介しているこの記事のやり方が
一番ラクに作業できるということですかね?
それぞれの作業工程はひと通りやってみて
残りできないものがexploitコードのビルドでしたので
助かりました...
といってもコマンドを実行してもエラーでビルドができないのですが...w
申し訳ないのですが、また不明な点が見つかり次第
こちらのコメントにて質問をしてもよろしいでしょうか?
身の回りでこういうことをしているのが自分だけでして...
どうかよろしくお願いします^^;
長文失礼しました。
私もそれほど長けている訳ではありませんが、わかる範囲で答えさせていただきます。
削除私の時はndk-build時に特にエラーもなくすんなり通ってしまいました・・・
こんばんわ。
削除返答の件。ありがとうございます。
一応exploitコードの作者様 hiikezoe氏に申し出てみたところ"Android.mk"のプログラムコードにミスがあったようでした。
無事自分もビルドはできました^^
その後なのですが...
ビルドファイルにパーミッション755を付与したあと。
root acceesをする段階で
"F-11D (V26R42B) is not supported."
との1文が....
むう"氏の場合はそのまますんなりできたようですが...
原因はわかりますでしょうか..?
main.cの中の
削除static supported_device supported_devices[]
という配列で、サポート対象を宣言しているようですので
{ "F-11D", "V26R42B" , 0xc00fdac8 },
が無いようでしたら、加えてみると通るかも知れませんよ。
main.cの中を覗いてみたところ
削除サポート宣言はされているようです...
hiikezoe氏にもう一度問い合わせたところ、V26R42Bを指定するアドレスが以前と違がったと返信をいただいて、fix版をアップしてもらい、再度ビルドしなおしたところ
返信削除無事root取得することができました。
ここ数日に渡り大変ご迷惑をお掛けしました...
ありがとうございました^^
ブログの方、これからも読ませていただきます!
頑張ってください^^
では。
おめでとうございます!
削除報告有難うございました。
はじめまして。
返信削除以前にLinuxにてAndroidの開発環境を整えていたこともあり
exploitプログラムをLinuxでビルドを行なったのですが
"F-11D (V26R42B) is not supported."
とでて先に進めませんでした。
そこで質問なのですが
exploitプログラムはWindows上でビルドしたほうがよろしいのでしょうか
できれば出力されたexploitプログラムの容量も教えていただけたらな、とおもいます
すいません、わたしの勘違いでした
返信削除画面上を確認してみると「$」から「#」変わっておりRoot取得ができました
すごく記事は参考になりました、ありがとうございました
成功おめでとうございます!
削除記事が参考になって良かったです。
私はwindows上でビルドしましたよ。
ここを見てやっと成功しました!感謝します!
返信削除これからもブログ拝見させて頂きます、ありがとうございました☆彡
おめでとうございます!
削除報告有難うございました。
はじめまして。
返信削除exploitプログラムのビルドで悩んでいます。
"Compile thumb : break_setresuid <= main.c
./main.c:27:29: fatal error: device_database.h: No such file or directory
compilation terminated.
make: *** [obj/local/armeabi/objs/break_setresuid/main.o] Error 1
と、なってしまいます。お助けください。
私もmazさんと同じです。
返信削除Windows8,7 32bit,64bitで管理者権限で行いましたがダメでした。
割り込みで失礼します。
削除私もお二人と同じエラーで困っています。
でも、No such file or directoryからは脱出できたので報告です。
exploitコードのダウンロードはhttps://github.com/hiikezoe/break_setresuidから行いますが、
そのまま「Download ZIP」にすると、サブフォルダの中身が空っぽです。
このため、4つのフォルダマークの付いた先で「Download ZIP」して合計5つのファイルを
ダウンロードして、それぞれのフォルダに展開してビルドすると、山の様にWarningが発生して、
最後はFatalエラーで終了しました(;_;)
あと一息…なのでしょうか?
筆者様、お助け頂けると幸甚に存じます。
解決できました!
削除Download ZIPではうまくいかなかったので、Gitというツールを使用してダウンロードしてみたところ、そのままビルドできました。
http://msysgit.googlecode.com/files/PortableGit-1.8.4-preview20130916.7z
これを展開するとbinというフォルダがありますので、プロンプトでこのフォルダに入り以下のコマンドを入力します。
git clone --recursive https://github.com/hiikezoe/break_setresuid
するとbreak_setresuidというフォルダができますので、そこに移動して次のコマンドです。
ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk
するとlibs\armeabiというフォルダの中にbreak_setresuidという拡張子無し75KBのファイルができます。
あとは記事の3以降ですが、exploitは全てbreak_setresuidに読み替えて下さい。
V26R42BのF-11Dにも関わらず無事にroot化に成功し、xposedとdatasim patcherのセットでセルスタンバイを解消できました。
むう゛様、そして各種ツールの作者の皆様、解説サイトの皆様に心より御礼を申し上げます。
root化成功おめでとうございます!
削除なかなか返信できず申し訳ありませんでした。
そして、自己解決できた旨ご報告いただきありがとうございます。
exploit codeとはどれでしょうか?
返信削除サイトにあるもの全てをDLして、exploitとして送ったのですができません。
教えてください。
いきなりすいません。ISW12kではbreak_setresuidでroot化して、CWMを焼くことは可能でしょうか。ご教授ください
返信削除F-11Dの場合での回答になってしまいますがCWMを焼けるか否かはroot化されている事が条件ではなくfastbootが使えるかに関わって来ると思いますよ。
返信削除root権限あるから強引に入れることもできるのかも知れませんが。。。
回答有難うございます。ISW12K用のCWMが公開されているので多分焼けると思うのですが。CWMの焼き方が分かりません。ソースファイルのみが公開されていて、コンパイルの方法がわかりません
返信削除最後のレスから一年半 まだF11D現役の人も居るかな?
返信削除連休中に新しいSIMフリー端末に乗り換えました。
もう廃棄してよいF-11D(V26R42B)をうわさのKingo ROOTでROOT化したらあっさり出来ました。
過去の苦労はナンだったのか?
最初 USBデバッグをONにしても接続できず焦りましたが、カメラとして接続(win7)であっさり接続できました
あとは待つだけ ROOT とれました(^^)/