DIGNO Sの一時root再び

今回はrun_root_shellをソースからビルドしてみた(前回は他機種用の拾い物)。

ソース(https://github.com/scoty755/android_run_root_shell)をgitクローンして(なぜか失敗したので、足りない分を個別にブラウザからZIPダウンロード→解答)Android NDK(SDKじゃない)でビルド。

あとは/data/local/tmpに送り込んでchmod 755して実行すれば一時root。
-cオプションで一行コマンドも実行できる。

ついでに、sxリネーム状態だと使えなかったsuバイナリ(3.1.1)を、SuperSU付属?(2.00:SUPERSU)に差し替えたところ、「/sbin/sx」でもsuシェルが取れるようになった。
※:ただし、SuperSUではsxでも権限取得自体はキャッチできるけどそこで固まって進まず、Superuser(ドロイド君じゃなくていげたマークの方)だとキャッチ自体不可能。
 また、いずれも「警告&FeliCaロック」される「/sbin/su」にしても正常に動作しないため、FeliCa諦めるにしても常用は危険。

結果
・ターミナルアプリからも一時root取れるようになった(USB接続不要)
・「setprop service.adb.tcp.port 5555」「stop adbd」「start adbd」をそれぞれrun_root_shell -cで実行すればWi-Fi ADB可能に(同様にしてsetpropで「''(空値)」をセットすれば無効に)
・つまり、ADB接続しても防水パッキンがへたらない!(←これ一番大事)
・危険覚悟で「/sbin/su」にして通常のsuバイナリ必要なアプリ使用&再起動&「/sbin/sx」有効化(警告出ない)も端末単体でOK
と、かなりいい感じに。

本当はFeliCaロックされない恒久rootできないか調べてて、unlock_security_moduleってのを見つけたんだけど、これって単純に「/」をrwリマウントできるようにするだけっぽくて、私のDIGNO Sだと何故かrun_root_shellだけでそれができちゃってるから意味なかった(他機種だと必要なのかも)。
ちなみに/systemのrwリマウントは、京セラ機種の場合ハードウェア(カーネルモジュール)レベルで無効化されてるらしく、かなり難しいみたい。
メインで使ってる機種にそこまでする気はないし、何かあっても困るので、とりあえず単独一時rootとWi-Fi ADBができるようになったのでよしとしようかな。