(´・ω・)ノ < らいなーです。
いや、今日11月15日は朝から参ってしまいました。
朝出勤前に川崎駅前東口のモアーズ下のマクドナルドでアイスコーヒーを注文、というかほぼ平日は同じことをしているのですが、
今日はいつもとは異なり、あからさまに味が違う。
しかも業務用の洗剤っぽい味がする…
なので今日はコーヒー、全部破棄でした。
おとなしく雨の日と同様、アゼリアのドトールにしときゃ良かったと思う次第。
まぁ朝07時のオープン前には10人以上並ぶのですけれど、それでも出勤前には寛げますよ。
さて、
今回はAndroidの話し。
※予めのご注意事項:キャプチャのサイズは通常より大きめです。元画像を貼り付けています。
友人との会話で、「ESファイルエクスプローラは以前マルウェア混入の実績があったがその有料版(広告除外版)である、ESファイルエクスプローラProは大丈夫なのだろうか…」という話しが出たことと、
僕自身がESファイルエクスプローラのPlayStoreのコメントを眺めていて、「なんでこの人たち、ベンダーに即対応しろとか日本語で上から目線なんだろう…」と思うところがあったので、ちょっと自分で知っている事は公開しておこう!
と思った次第です。
というわけで。
先ずはネットの公開情報をあたりましょう。
APKSCAN.org
https://www.apkscan.org
で、ESファイルエクスプローラProのAPKのチェック結果を当たってみます。
![](https://blogimg.goo.ne.jp/user_image/2c/9f/03ea02f2f178142e195675b84707e002.jpg)
![](https://blogimg.goo.ne.jp/user_image/67/76/32e7587a915b0d9971f0a1921e100742.jpg)
あらよっと。
![](https://blogimg.goo.ne.jp/user_image/3f/cc/066a1c3ab4b7b6934258451a9e3d57d6.jpg)
バージョンコードが1010となっているものが、APKSCAN側で保持されているAPKファイルの最新で、v1.0.9のアプリケーションパッケージですね。
先日リリースされた、v1.1.2ではありませんが、ビールスディテクションズの欄をご覧ください。
この欄はウィルスのチェックを各ベンダーのウィルスチェックソフトで検査して、どれだけの製品で引っ掛かっているのかを示しています。
![](https://blogimg.goo.ne.jp/user_image/2b/3c/2b18ac941af8bfcbde79f0f4a188fe49.jpg)
バージョンコード1008とか検査結果が8になっていて香ばしいですね。
詳細を見てみましょう。
![](https://blogimg.goo.ne.jp/user_image/70/ef/836d9892e4b9e4419b569ba9acf02f78.jpg)
警告がでてますねー。
8つも検出あるからマルウェアやで!
使わないで!
と。
でもここで脳筋反応してはいけません。
「そのAPK、ちゃんとしたところ(PlayStore)から拾ったん?」
という点を確認する必要があります。
![](https://blogimg.goo.ne.jp/user_image/57/95/5fe0a41dec984d7a5ecb5aebfb2d5914.jpg)
APK Sourceの欄を確認します。
どこやねんこれ(笑)
恐らく違法パッケージでしょう。
汚染されていて当然。
賢い皆様はPlayStoreから入手されていると思いますので、この結果は参考に値しないとみて良いでしょう。
次に、バージョンコード1010を見てみましょう。
![](https://blogimg.goo.ne.jp/user_image/21/cb/c31c5be883190c33684e430db3e64143.jpg)
![](https://blogimg.goo.ne.jp/user_image/2c/69/b3c3e6edc0dc707bd96ae1b00f5ec960.jpg)
ユーザイメージとのことなので、恐らくPlayStoreから入手したアプリをAPK化したものと推測されますが、
これでも一製品で検出あり、の様子です。
External Analysis (Virus found)欄のVirusTotalのリンクをクリックして詳細を確認します(リンク先はAPKSCANからみると外部サイトになります。)
さぁどうでしょう?
![](https://blogimg.goo.ne.jp/user_image/69/f5/bfef6b11140995d428d1ff24dbb1dae8.jpg)
Jiangminというウィルス検出エンジンで引っ掛かっていますね。Trojanとありますから、木馬(※)ですね。
※ランバ・ラル隊のゼイガンにつけられたフラウ・ボウ乙!って感じですね。
Jiangminとは、
中国の北京市にあるセキュリティベンダーで、日本においてはJUSTインターネットセキュリティ(所謂KVシリーズ)の開発元として知られており、漢字では江民科技と書きます。
![](https://blogimg.goo.ne.jp/user_image/15/91/56f7bf965667be8681314d80505cdc87.jpg)
![](https://blogimg.goo.ne.jp/user_image/49/2d/dd12028d14ed5839d669882dbb7cfe7f.jpg)
![](https://blogimg.goo.ne.jp/user_image/20/48/6f19adc7a8f3577df731b19129f2361f.jpg)
網絡版殺毒www
オンライン版ウィルススキャンという意味ですが、チャイナのこのセンス、僕の大好物です!さつどくってwww
なぉこのベンダーの検出率を北京大学の出身者や現地駐在員にらいなーが確認したところによれば、
「中国国内のウィルス検出率は普通より少し劣る程度、海外ウィルスはぼろぼろの検出率」らしいです。
AVGやAvast!で検出されていないようですから誤検知とみてもよいのでは、と思われます。
え?
ここまで見たけど安心できない。
OK でございます。
リバースコンパイルしましょう!
スマホだけで!
まずは、ESファイルエクスプローラProなどのアプリバックアップ機能を用いてAPKを取得します。
![](https://blogimg.goo.ne.jp/user_image/6b/b6/deb982a1d807400e097e90ea91c358b3.jpg)
非rootedのSoftbank 303shでESファイルエクスプローラPro v1.1.2のAPK、取得できました。
※アプリ側の権限によってはAPKが非rootedだと取得できない場合があります。
これを作業フォルダ作って移動して…
![](https://blogimg.goo.ne.jp/user_image/29/e4/5a303842bae3a3a937847d2310b379b8.jpg)
APKファイルの実態は(Androidアプリの開発をやられている方はご存知とは思いますが)Zipファイルなので、拡張子をzipに直します。
![](https://blogimg.goo.ne.jp/user_image/69/30/ac4787f1fe907ac483e27557e2c26e84.jpg)
解凍します。
![](https://blogimg.goo.ne.jp/user_image/24/b5/5e213b9d157ce80226318e8649b31c05.jpg)
![](https://blogimg.goo.ne.jp/user_image/35/b8/6c352ca920bd1a84b8208fa5c66951e9.jpg)
結果がこれです。
![](https://blogimg.goo.ne.jp/user_image/02/63/b0a7c3880c26a194a1e37f4af4d96229.jpg)
中身を少し眺めてみましょう。
¥assets の配下に変なファイルが…
![](https://blogimg.goo.ne.jp/user_image/22/46/5887effe24b2c73d60e5d8ca882ee6f1.jpg)
adjunk.txtって何でしょう。
確認してみます。
![](https://blogimg.goo.ne.jp/user_image/28/8a/2ebb1d078c14ba203a15de355d0bc437.jpg)
広告関連のトランスレーション(中→英)JSONデータのようですね。
日本語環境ではあまり関係ないかも。
ソースコードを読まないと確証はとれませんが。
¥res¥raw配下には、クラウドアクセス関連のソースコードとおぼしきファイル群がありました。
![](https://blogimg.goo.ne.jp/user_image/62/82/f6983f4546ffb89df3877feff2ecb9c9.jpg)
確認してみると
![](https://blogimg.goo.ne.jp/user_image/31/22/37dd16c10f33d12505410bd390657dab.jpg)
JSONのパーサーであるjacksonのクラスファイルがありましたので、ソースコードからjackson経由でデータを呼び出しているのでしょう…
先日のリリースでDropbox周りのソースコードは変わっていると思いますからDropboxのファイル名がついたファイルも見てみましょう。
![](https://blogimg.goo.ne.jp/user_image/1b/77/e0f9ed36e8374653a513bc2bed2d0fb5.jpg)
はい、文字化けしてますね。
バイナリ、もしくは暗号化されてます。
らいなーはこれでなんのファイルか解ってますが…
先頭二文字がPKですから直ぐわかりますね!
念のためバイナリエディタで見てみましょう。
![](https://blogimg.goo.ne.jp/user_image/6e/b8/1308e39e26be3ca622b44c69c0f3faca.jpg)
Hex Editerというアプリを使いました。
有料アプリですが、時折差し込まれる広告に我慢すれば、バイナリの閲覧だけはできるようです。
![](https://blogimg.goo.ne.jp/user_image/44/9f/fc4bef5ba007f0c90cb59cf9bc6e77dc.jpg)
はい。先頭がPKなので、
実態はZipファイルでした。
↓詳しくはWIKIPediaを見ていただければと思います。
https://ja.m.wikipedia.org/wiki/ZIP_(ファイルフォーマット)
![](https://blogimg.goo.ne.jp/user_image/19/b7/08204107978a86eef8e3b3f2d2d009ab.jpg)
拡張子をzipにして…
![](https://blogimg.goo.ne.jp/user_image/11/da/dd2546bb2297cb4b2b0d1017596c7dbe.jpg)
解凍します。
![](https://blogimg.goo.ne.jp/user_image/46/bb/84e2ab79a71d4d4bdb6003c5ed44b0f0.jpg)
お、Dexファイルができましたね。
この中身は恐らくjavaのソースコード…
ですが通常、パソコンでの作業ですと、「Dex2jar」というツールを使ってDex形式からjavaのコードに変換(デコンパイル)するのですが、Androidアプリでそんなのあったかしら…
![](https://blogimg.goo.ne.jp/user_image/5a/ca/ea8830959cc5fc94b7b656f37ebe6f75.jpg)
お?
![](https://blogimg.goo.ne.jp/user_image/05/63/88276d8bce6302a635b1327eb99a182c.jpg)
おおっ!?
JaDXというツールですが、使えそうです!
権限も怪しくなさそうです。
![](https://blogimg.goo.ne.jp/user_image/0d/8e/d091c622a95dd713dbee3251373f91ff.jpg)
先般のDexファイルを指定し、
解凍先を指定して実行…
![](https://blogimg.goo.ne.jp/user_image/03/8b/e171e264ede05f2815be71f8fcc07465.jpg)
デコンパイルしてるっぽいです。
関連したクラスファイルがないから微妙にエラー吐き出している様子ですが…
![](https://blogimg.goo.ne.jp/user_image/5e/81/1dd1bf1ccc7f554d9c9517eebbd1ce2c.jpg)
( ≧∀≦)ノ
解凍先にjavaのコードファイルが出来ています!
やったね!
上手くいかなければ…
いや、今日11月15日は朝から参ってしまいました。
朝出勤前に川崎駅前東口のモアーズ下のマクドナルドでアイスコーヒーを注文、というかほぼ平日は同じことをしているのですが、
今日はいつもとは異なり、あからさまに味が違う。
しかも業務用の洗剤っぽい味がする…
なので今日はコーヒー、全部破棄でした。
おとなしく雨の日と同様、アゼリアのドトールにしときゃ良かったと思う次第。
まぁ朝07時のオープン前には10人以上並ぶのですけれど、それでも出勤前には寛げますよ。
さて、
今回はAndroidの話し。
※予めのご注意事項:キャプチャのサイズは通常より大きめです。元画像を貼り付けています。
友人との会話で、「ESファイルエクスプローラは以前マルウェア混入の実績があったがその有料版(広告除外版)である、ESファイルエクスプローラProは大丈夫なのだろうか…」という話しが出たことと、
僕自身がESファイルエクスプローラのPlayStoreのコメントを眺めていて、「なんでこの人たち、ベンダーに即対応しろとか日本語で上から目線なんだろう…」と思うところがあったので、ちょっと自分で知っている事は公開しておこう!
と思った次第です。
というわけで。
先ずはネットの公開情報をあたりましょう。
APKSCAN.org
https://www.apkscan.org
で、ESファイルエクスプローラProのAPKのチェック結果を当たってみます。
![](https://blogimg.goo.ne.jp/user_image/2c/9f/03ea02f2f178142e195675b84707e002.jpg)
![](https://blogimg.goo.ne.jp/user_image/67/76/32e7587a915b0d9971f0a1921e100742.jpg)
あらよっと。
![](https://blogimg.goo.ne.jp/user_image/3f/cc/066a1c3ab4b7b6934258451a9e3d57d6.jpg)
バージョンコードが1010となっているものが、APKSCAN側で保持されているAPKファイルの最新で、v1.0.9のアプリケーションパッケージですね。
先日リリースされた、v1.1.2ではありませんが、ビールスディテクションズの欄をご覧ください。
この欄はウィルスのチェックを各ベンダーのウィルスチェックソフトで検査して、どれだけの製品で引っ掛かっているのかを示しています。
![](https://blogimg.goo.ne.jp/user_image/2b/3c/2b18ac941af8bfcbde79f0f4a188fe49.jpg)
バージョンコード1008とか検査結果が8になっていて香ばしいですね。
詳細を見てみましょう。
![](https://blogimg.goo.ne.jp/user_image/70/ef/836d9892e4b9e4419b569ba9acf02f78.jpg)
警告がでてますねー。
8つも検出あるからマルウェアやで!
使わないで!
と。
でもここで脳筋反応してはいけません。
「そのAPK、ちゃんとしたところ(PlayStore)から拾ったん?」
という点を確認する必要があります。
![](https://blogimg.goo.ne.jp/user_image/57/95/5fe0a41dec984d7a5ecb5aebfb2d5914.jpg)
APK Sourceの欄を確認します。
どこやねんこれ(笑)
恐らく違法パッケージでしょう。
汚染されていて当然。
賢い皆様はPlayStoreから入手されていると思いますので、この結果は参考に値しないとみて良いでしょう。
次に、バージョンコード1010を見てみましょう。
![](https://blogimg.goo.ne.jp/user_image/21/cb/c31c5be883190c33684e430db3e64143.jpg)
![](https://blogimg.goo.ne.jp/user_image/2c/69/b3c3e6edc0dc707bd96ae1b00f5ec960.jpg)
ユーザイメージとのことなので、恐らくPlayStoreから入手したアプリをAPK化したものと推測されますが、
これでも一製品で検出あり、の様子です。
External Analysis (Virus found)欄のVirusTotalのリンクをクリックして詳細を確認します(リンク先はAPKSCANからみると外部サイトになります。)
さぁどうでしょう?
![](https://blogimg.goo.ne.jp/user_image/69/f5/bfef6b11140995d428d1ff24dbb1dae8.jpg)
Jiangminというウィルス検出エンジンで引っ掛かっていますね。Trojanとありますから、木馬(※)ですね。
※ランバ・ラル隊のゼイガンにつけられたフラウ・ボウ乙!って感じですね。
Jiangminとは、
中国の北京市にあるセキュリティベンダーで、日本においてはJUSTインターネットセキュリティ(所謂KVシリーズ)の開発元として知られており、漢字では江民科技と書きます。
![](https://blogimg.goo.ne.jp/user_image/15/91/56f7bf965667be8681314d80505cdc87.jpg)
![](https://blogimg.goo.ne.jp/user_image/49/2d/dd12028d14ed5839d669882dbb7cfe7f.jpg)
![](https://blogimg.goo.ne.jp/user_image/20/48/6f19adc7a8f3577df731b19129f2361f.jpg)
網絡版殺毒www
オンライン版ウィルススキャンという意味ですが、チャイナのこのセンス、僕の大好物です!さつどくってwww
なぉこのベンダーの検出率を北京大学の出身者や現地駐在員にらいなーが確認したところによれば、
「中国国内のウィルス検出率は普通より少し劣る程度、海外ウィルスはぼろぼろの検出率」らしいです。
AVGやAvast!で検出されていないようですから誤検知とみてもよいのでは、と思われます。
え?
ここまで見たけど安心できない。
OK でございます。
リバースコンパイルしましょう!
スマホだけで!
まずは、ESファイルエクスプローラProなどのアプリバックアップ機能を用いてAPKを取得します。
![](https://blogimg.goo.ne.jp/user_image/6b/b6/deb982a1d807400e097e90ea91c358b3.jpg)
非rootedのSoftbank 303shでESファイルエクスプローラPro v1.1.2のAPK、取得できました。
※アプリ側の権限によってはAPKが非rootedだと取得できない場合があります。
これを作業フォルダ作って移動して…
![](https://blogimg.goo.ne.jp/user_image/29/e4/5a303842bae3a3a937847d2310b379b8.jpg)
APKファイルの実態は(Androidアプリの開発をやられている方はご存知とは思いますが)Zipファイルなので、拡張子をzipに直します。
![](https://blogimg.goo.ne.jp/user_image/69/30/ac4787f1fe907ac483e27557e2c26e84.jpg)
解凍します。
![](https://blogimg.goo.ne.jp/user_image/24/b5/5e213b9d157ce80226318e8649b31c05.jpg)
![](https://blogimg.goo.ne.jp/user_image/35/b8/6c352ca920bd1a84b8208fa5c66951e9.jpg)
結果がこれです。
![](https://blogimg.goo.ne.jp/user_image/02/63/b0a7c3880c26a194a1e37f4af4d96229.jpg)
中身を少し眺めてみましょう。
¥assets の配下に変なファイルが…
![](https://blogimg.goo.ne.jp/user_image/22/46/5887effe24b2c73d60e5d8ca882ee6f1.jpg)
adjunk.txtって何でしょう。
確認してみます。
![](https://blogimg.goo.ne.jp/user_image/28/8a/2ebb1d078c14ba203a15de355d0bc437.jpg)
広告関連のトランスレーション(中→英)JSONデータのようですね。
日本語環境ではあまり関係ないかも。
ソースコードを読まないと確証はとれませんが。
¥res¥raw配下には、クラウドアクセス関連のソースコードとおぼしきファイル群がありました。
![](https://blogimg.goo.ne.jp/user_image/62/82/f6983f4546ffb89df3877feff2ecb9c9.jpg)
確認してみると
![](https://blogimg.goo.ne.jp/user_image/31/22/37dd16c10f33d12505410bd390657dab.jpg)
JSONのパーサーであるjacksonのクラスファイルがありましたので、ソースコードからjackson経由でデータを呼び出しているのでしょう…
先日のリリースでDropbox周りのソースコードは変わっていると思いますからDropboxのファイル名がついたファイルも見てみましょう。
![](https://blogimg.goo.ne.jp/user_image/1b/77/e0f9ed36e8374653a513bc2bed2d0fb5.jpg)
はい、文字化けしてますね。
バイナリ、もしくは暗号化されてます。
らいなーはこれでなんのファイルか解ってますが…
先頭二文字がPKですから直ぐわかりますね!
念のためバイナリエディタで見てみましょう。
![](https://blogimg.goo.ne.jp/user_image/6e/b8/1308e39e26be3ca622b44c69c0f3faca.jpg)
Hex Editerというアプリを使いました。
有料アプリですが、時折差し込まれる広告に我慢すれば、バイナリの閲覧だけはできるようです。
![](https://blogimg.goo.ne.jp/user_image/44/9f/fc4bef5ba007f0c90cb59cf9bc6e77dc.jpg)
はい。先頭がPKなので、
実態はZipファイルでした。
↓詳しくはWIKIPediaを見ていただければと思います。
https://ja.m.wikipedia.org/wiki/ZIP_(ファイルフォーマット)
![](https://blogimg.goo.ne.jp/user_image/19/b7/08204107978a86eef8e3b3f2d2d009ab.jpg)
拡張子をzipにして…
![](https://blogimg.goo.ne.jp/user_image/11/da/dd2546bb2297cb4b2b0d1017596c7dbe.jpg)
解凍します。
![](https://blogimg.goo.ne.jp/user_image/46/bb/84e2ab79a71d4d4bdb6003c5ed44b0f0.jpg)
お、Dexファイルができましたね。
この中身は恐らくjavaのソースコード…
ですが通常、パソコンでの作業ですと、「Dex2jar」というツールを使ってDex形式からjavaのコードに変換(デコンパイル)するのですが、Androidアプリでそんなのあったかしら…
![](https://blogimg.goo.ne.jp/user_image/5a/ca/ea8830959cc5fc94b7b656f37ebe6f75.jpg)
お?
![](https://blogimg.goo.ne.jp/user_image/05/63/88276d8bce6302a635b1327eb99a182c.jpg)
おおっ!?
JaDXというツールですが、使えそうです!
権限も怪しくなさそうです。
![](https://blogimg.goo.ne.jp/user_image/0d/8e/d091c622a95dd713dbee3251373f91ff.jpg)
先般のDexファイルを指定し、
解凍先を指定して実行…
![](https://blogimg.goo.ne.jp/user_image/03/8b/e171e264ede05f2815be71f8fcc07465.jpg)
デコンパイルしてるっぽいです。
関連したクラスファイルがないから微妙にエラー吐き出している様子ですが…
![](https://blogimg.goo.ne.jp/user_image/5e/81/1dd1bf1ccc7f554d9c9517eebbd1ce2c.jpg)
( ≧∀≦)ノ
解凍先にjavaのコードファイルが出来ています!
やったね!
上手くいかなければ…
http://www.javadecompilers.com
のようなオンラインのデコンパイラを使ってみるのも良さそうですね。
テキストエディタで中身を見てみます。Androidなのでjotaを使います。
![](https://blogimg.goo.ne.jp/user_image/42/23/626d3a925748b573131bcf432b71ffde.jpg)
はい!
成功です!
ほかのソースコードもこれで確認できました。
ぱっとみた感じでは、
怪しいコードは無いようです。
(らいなーはjava初心者の人事業なので、複雑なコードになると解りませんが…)
とりあえず、
携帯だけでも、ソースコードを追えますので、解る人なら確認できる場所に怪しいコードを書くか?
というと恐らくNoだと思います。
2017年11月現在、少なくとも日本語環境では、マルウェアの心配は少ないと言えるのではないでしょうか。
adjunk.txtの役割は、個人的に少し気にはなりますが…
ここまでお読みくださりありがとうございました。
記事は以上でございます。
P.S.
この記事はすべてモバイルで仕上げましたが写真加工なしで2時間弱かかりました。
写真加工含めたらどうなるんでしょう。
((( ;゚Д゚))) ブロガー殺しか。
時間があったら記事中の画像を効率化するかもしれません。
----- 以下、関連記事
続きの記事はこちら
さらに続きの記事はこちら
さらにさらに続きの記事はこちら
結果的にMixplorerに移行した記事はこちら
テキストエディタで中身を見てみます。Androidなのでjotaを使います。
![](https://blogimg.goo.ne.jp/user_image/42/23/626d3a925748b573131bcf432b71ffde.jpg)
はい!
成功です!
ほかのソースコードもこれで確認できました。
ぱっとみた感じでは、
怪しいコードは無いようです。
(らいなーはjava初心者の人事業なので、複雑なコードになると解りませんが…)
とりあえず、
携帯だけでも、ソースコードを追えますので、解る人なら確認できる場所に怪しいコードを書くか?
というと恐らくNoだと思います。
2017年11月現在、少なくとも日本語環境では、マルウェアの心配は少ないと言えるのではないでしょうか。
adjunk.txtの役割は、個人的に少し気にはなりますが…
ここまでお読みくださりありがとうございました。
記事は以上でございます。
P.S.
この記事はすべてモバイルで仕上げましたが写真加工なしで2時間弱かかりました。
写真加工含めたらどうなるんでしょう。
((( ;゚Д゚))) ブロガー殺しか。
時間があったら記事中の画像を効率化するかもしれません。
----- 以下、関連記事
続きの記事はこちら
さらに続きの記事はこちら
さらにさらに続きの記事はこちら
結果的にMixplorerに移行した記事はこちら