【未解決】BLUBOO S1のシステムに入っているアドウェアを消すためにROOT化を試してみた
2018/05/26
BLUBOO S1にプリインストール()されているマルウェアを消すべく、ROOT化したりいろいろ試してみたんですが・・・1日強頑張った結果・・・諦めました。
何故そうしようと思ったのかという経緯と、やったこと、そして今後についてのメモを書いておきます。
特に「はじめてのROOT化」には少し役に立つことが書けるんじゃないかと思ってます。
経緯みたいなもの
今回の問題は、「スマホを使ってみたい」という義母に貸していたS1に、なにやら妙な広告が出るようになったという報告を受けたことに端を発します。
義母から受け取ったS1には確かにこのように広告が画面全体に表示されていました。
広告が表示されるだけなら(鬱陶しいけど)そこまで実害はないかもしれません。
ですが、気になったので調べてみると・・・「S1は出荷次点でシステムにトロイの木馬が仕込まれている」という情報を知ることに。
そこでWhite Armorというウィルスチェックにかけてみると・・・
com.android.iniというファイルがアドウェアであると検出されました。
※ちなみに事前にAvastを入れていたんですが・・・こちらでは検出されず。
com.android.iniについての情報もよく知らなかったので調べてみたところ、どうも検索にひっかかるのはS1のアドウェアに関することばかり。
なのであまり重要なファイルではないのかなと思い、サクッとアンインストールしました。
次にDr.Web Lightでウィルスチェック(フルスキャン)をしてみました。
すると、システムファイル上にトロイの木馬と思われるものが入っているという警告を受けたわけです。
厳密には /system/priv-app/Sign_phenix_launcher_e93/Sign_phenix_launcher_e93.apk というアプリケーションファイルに、Dr.Webにおいて「Android.Cooee.9.origin」および「Android.Cooee.8.origin」と定義されているトロイの木馬らしいです。
これのおかげで勝手にAWAやゼクシィ恋結びなどのアプリがインストールされている状態でした。
トロイの木馬の動きだけは止めておきたい
もし前者が広告を表示させていたのだとしたら、アンインストールしたので(しばらくは)広告表示が止むのではないかと思われます。
しかし後者はシステムファイル(ただしくはプリインストールのPhenixランチャー)に寄生しているため、消すことが出来ません。
ということは、今後も使っているうちに意味のわからないアプリがどんどんインストールされていく可能性があるわけです。ウンコすぎる。
しかもそのたびにAWSサービス(中華)にちょいちょい通信を行っているそうで・・・これを止めないと電池の減りもそりゃ早いといったことらしいんですよ。
そこで、なんとかこのトロイの木馬だけは駆除したいと思った次第です。
広告および広告主が悪なのか
この件を解決するまえに一つはっきりさせておきたいのは、悪であるのは広告そのものや広告主(アプリやアプリ運営元)ではないということです。
僕個人の見解ですが、広告については企業が自社商品をアピールするためには不可欠なツールだと考えています。
今回はたまたまそういった配信サービスをウィルスによって悪用されただけだということを理解しておきましょう。
※なのでAWAやゼクシィは悪くないんだと思う。たぶん。
では誰が悪なのかと言えば明確で、自社製品にプリセットさせたランチャーにウィルスを仕込んだヤツ(誰とは言ってない)なわけです。
やったこと
今回の件を解決すべく、僕がやったことは以下です。
- ストックROMをインストールし直してみた
- DOOGEE MIX用のストックROMも試してみた
- S1用のカスタムROMを探した
- ROOT化してphenix自体を消してみた
残念ながら・・・どれも例のマルウェアを消すのには至りませんでした。。。
一応備忘録的に書いておきます。
ストックROMをインストールし直してみた
ストックROMというのは、BLUBOO S1にもともと工場出荷時に入っている状態のROM・・・つまりAndroid OSのことです。
出回っているストックROMがマルウェアの仕込まれていない綺麗なヤツなんだとしたら、これを入れるだけでいいんじゃないか!?なんて淡い期待を抱いてやってみましたが・・・結局出回っているストックROM(2017/09/28ぐらいのやつ)はすでに感染済み・・・というか、そもそもPhenixがワルモノなんで、Phenixが入ってる時点でNGだということがわかりました。
DOOGEE MIX用のストックROMも試してみた
次に、BLUBOO S1がDOOGEE MIXのOEM的な話を見かけたので、「うまくいけばDOOGEE MIXのROMが書き込めるんじゃないの!?」と思ってインストール。
これは・・・無事文鎮化しました。
何を押しても、ウンともスンとも言わなくなっちゃった。
同じような端末でも違うROMを入れちゃダメなんですね。勉強になりました。
※再び上のストックROMをインストールすることで元に戻せたので良かったです。
S1用のカスタムROMを探した
だったら有志によるカスタムROMにも初めて手を出してみようじゃないか!!と思って探してみたんですが・・・BLUBOO S1用のカスタムROMって僕が探した時点では存在していなかったみたいです。
有名なリネージュOSも「BLUBOO S1用のリネージュ15あるで!!」みたいなブログは見つかるものの、サイトを覗いてみると「ごめんね、まだカスタムROMはないんだ!」みたいな記事。
もう、そういう騙し的なタイトルやめえ!!!!!
ROOT化してphenix自体を消してみた
かくなる上は・・・と、ROOT化してPhenixそのものを削除しちゃうという暴挙に出ました。
僕にとってAndroidでは初のROOT化作業です。
・・・結果、ダメでした。
消せるには消せるんですが、消したそばからすぐ復活します。
もうCUIもGUIもいろいろ試したけどダメでした。・・・これだけに数時間費やしましたよ。。。
結論:現時点でBLUBOO S1のマルウェアは消せない!
というわけで、僕が出した結論は、BLUBOO S1のPhenixに潜むマルウェアは現時点で消して使うことができない・・・といったものです。
ただ、ROOT化まで行ければDebloaterなるツールで例のマルウェアの動きを止めることは出来るんだとか。
どうしても「消す!何がなんでも消すんだ!!!」という頭になってしまっていたのですが、確かに動きが止められるのなら無理に消せなくてもいいのかもしれませんね・・・。
今度試してみようと思います。
また、あまりにも安価な中華スマホにはこういった裏があると思っておいた方がいいですね。
今後は安易に手を出さないようにしようと思いました。
※こうやってROOT化の勉強をするための玩具にするつもりならいいかもしれませんが。。。
追記
その後、購入店の担当者から「最新のシステムを入れたら解決する」という回答と共に、以下のリンクを紹介されました。
リンクはBLUBOOのオフィシャルコミュニティで、フラッシュツールとシステムイメージが置いてあります。
試しにこれを入れてみましたが・・・結局ダメでした。
インスコ直後にDr.Web Lightでかけてみたところ、やっぱり同じファイルがマルウェアとして認識されます。
もしかしたらこれもうマルウェアじゃないのかな。
さらに追記:NO ROOTで通信切ったら電池持ちが伸びた
コメント欄にて「NO ROOT FIREWALL」なるアプリでPhenixおよびKika Keyboardの通信を簡単に切ることが出来ると聞き、試してみました。
これらが定期的にAWSにアクセスしており、そこから何らかのapkファイルをダウンロードしてインストールしていることが「知らないアプリが勝手に・・・」とかの原因らしいです。
で、やってみたところ・・・
劇的に電池持ちが回復しました。
左がPhenixとKikaの通信を切る前。
91%の電池残量があって、「あと約5時間」とかなってますよね。
つまりこれ、普段からそれぐらいしか電池がもってなかったってことかと。
PhenixとKikaの通信を切ったあとが右。
残り6%の電池で「あと約9時間」です。
残り時間は参考にならないかもしれませんが、実際に充電しない状態で(ほぼスタンバイ状態とはいえ)6日程度電池がもっていたのは事実です。
すごい・・・PhenixやKikaのせいでいかに無駄に電池をくっていたのかがわかりますね・・・。
いくら安価とはいえ、こんな端末を平気な顔して販売していたBLUBOO絶許・・・!!!って感じです。
オマケ:BLUBOO S1のROOT化手順
最後に、僕が初めてAndroid端末のROOT化をするのに、いろいろと悩んでしまったので・・・誰かのお役に立てばと思い、その手順を残しておきます。
簡単に書くと以下の通り。
- ブートローダーのOEMロック解除
- カスタムリカバリーを上書き
- リカバリーモードからMagiskをインストール
正直ROOT化したことがない人からしたら何のこっちゃわからないと思います。
ROOT化をするのにはMagiskというアプリをインストールしなければならないんですが、これをするにはリカバリーモードに入れなければなりません。
で、リカバリーモードは通常僕らが勝手に入れないようになっているので、カスタムリカバリーなるもので上書きしてあげる必要があるんです。
・・・で、カスタムリカバリーを上書きするためにはブートローダーのロック解除なるものが必要・・・といった感じでした。
一応詳しく書いておきます。
ブートローダーのOEMロック解除
前述のとおり、カスタムリカバリーを上書きするためにブートローダーのロック解除が必要です。
ブートローダーっていうのは、スマホが立ち上がる際にAndroid OSを立ち上げるのか、リカバリーモードを立ち上げるのかを自動で選んでくれているシステムのこと。(だったかな・・・?)
これのロック解除が先決です。
詳しいやり方はいろいろなところで解説されているのでここでは省きます。
Android SDK Platform toolsなるものをインストールし、ADBコマンドからfastboot oem unlockと打ち込むだけ・・・と聞くぶんには簡単な作業ですw
僕はこちらを参考にさせて頂きました。
[参考]【最新版】Android SDK Platform Toolsを導入してADBコマンドを使えるようにする
ポイントはBLUBOO S1側の「設定」でデベロッパーモード(開発者オプションが表示)になっていること、そこからブートローダーのOEMロック解除やUSBデバッグを許可しておくことです。
ちなみにブートローダーのアンロックによって、端末内は初期化されるため、事前にバックアップが推奨です。
カスタムリカバリーを上書き
次にカスタムリカバリーをもともとのリカバリーに上書きしていきます。
カスタムリカバリーには有名なTWRP、CWMの二つがありますが、僕はTWRPで上書きしました。
手順および必要なファイルは以下。
[参考]BLUBOO S1 - Development & Support | Android Development & Hacking
簡単に書くと、SP FLASH TOOLというMediatek向けのROM書き換えツールを使って、TWRPに載せ替えちゃおうというものです。
だいたいはリンク先のプレゼン資料でわかるようになっているので・・・スクリーンショットを見ながら進めていけば誰でもできちゃう感じ。
ただ、何度となく僕もエラーに悩まされたので、エラー項目と対処法?についてメモしておきます。
[参考][Tutorial] List of SP Flash Tool errors, their meanings and how to resolve them
STATUS_INSUFFICIENT_BUFFER (0xC0010007)
最初に出たエラーがこれ。
直訳すると、「バッファが足りません」・・・ってことみたいなんですが、僕の場合はブートローダーのアンロックが出来た時点からこのエラーが出なくなりました。
なので、ブートローダーのアンロックをせい!っていうエラーだったのかなと思ってます。
海外のフォーラムでは「SP FLASH TOOLのバージョンを変えてみ」ってアドバイスもありましたので、もしブートローダーアンロック済みでもこのエラーが出るようであれば、バージョンを変えてみるのもいいかもしれません。
STATUS_BROM_CMD_SEND_DA_FAIL
このエラーも何度か出たんですが・・・よくわかりません。
BROMのコマンドが何やらうまく送れなかったぜ、、、みたいな感じ。
「ダウンロードエージェントをDA_PL.BINに変更すればOK」みたいなアドバイスもありましたが・・・そもそもダウンロードエージェントがDA_PL.BINでも出ていた気がするので違うような気も。
STATUS_PRELOADER_INVALID
ステータス・プリローダーが無効。
えー・・・これもよくわかりませんw
ただ、このエラーが出たあとは端末の抜き差しをしてもパソコンが何も反応しなくなっていたので・・・要するにスマホとして認識されていない状態になってしまっているのではないかと思いました。
電源を入れ直して、また電源をOFFにしてからパソコンにつなぐ・・・という動作でSP FLASH TOOLには相手にしてもらえました。
※ちなみに電源を少し長押ししても入らないと思うので、10秒以上は押さないとダメです。
STATUS_BROM_CMD_STARTCMD_FAIL
えっとー・・・これもよくわからないですね(全部)。
BROMのスタートコマンドで失敗しているみたいな感じではありますが・・・。
「BLUBOO S1は+と-を同時押ししながらUSBを挿すとこのエラーでないよ」という意見もありました。
ただ僕がカスタムリカバリーをインストールした際には+ボタンとか押してないので・・・あまり関係ないような気もします。
とにかくいろいろエラーが出てもあれこれやってるうちに出来た・・・ってのが本音です。
リカバリーモードからMagiskをインストール
カスタムリカバリーがインストール出来たら、次にMagiskやSuper SUといったアプリをインストールすることでROOT化が出来ます。
僕の場合、Super SUが上手くインストールできなかったので、Magiskを試しました。(これも上記リンク先にあります)
あらかじめS1のインターナルストレージ(どこでもいい)にMagiskのZipファイルを入れておきましょう。
準備が出来たらボリュームの+ボタンを押しながら電源ボタンを長押しし、ブート画面を立ち上げます。
ブート画面ではボリュームの+ボタンで選択して、Recovery Modeのところでボリュームの-ボタンを押します。
するとTWRPが立ち上がります。
TWRPが立ち上がったらInstallを選択し、Magiskをインストールします。
これで無事ROOT化が出来ました。
ちなみに僕が最初にTWRPをインストールした時にはロシア語表記になっていたのですが、表示されるメニューのうち下から2段目、右側がSettingsです。
ここをタップして、上のタブから地球アイコンみたいなやつを選べば言語の選択ができるようになりますので、なんとなくわかりそうなEnglishに変更して、その下のボタンを押せばOKです。
おわりに
というわけで、今回は何も解決しなかったため・・・1日強かけて無駄にROOT化だけする、ということになりました。
ただ、これを一回やっておいたことで、ROOT化に対してのハードルが少しだけ下がりましたね。
一回やっちゃうと結構すんなりやれそうだなって感じです。
追記
ROOT化では解決しませんでしたが、文中にある非ROOTでの通信ブロックでそこそこ解決しそうです。
常にファイヤーウォールアプリが起動している・・・という嫌な状態ではありますが、勝手に広告が表示されたり要らないアプリがインストールされるよりはマシかと・・・。
詳しくはコメント欄に頂いた情報を参考に!