Androidスマートフォンのいずれかのアプリケーションに写真またはビデオのレポートがあるかどうかを確認するにはどうすればよいですか? 次のオプションは完全ではありませんが、「ルート」またはカスタムファームウェアは必要ありません。
PSマイクへのアプリケーションのアクセスを監視する説明を記事に追加しました。インストールする必要があるもの:
- ADB ( Android Debug Bridge )(たとえば、 Android SDK Platform Toolsの一部として- こちらからダウンロードできます );
- 電話のドライバー(必要な場合、たとえば、 Google USBドライバーはここからダウンロードできます )。
電話で
USBデバッグモードをオンにして、スマートフォンをコンピューターの
USBポートに
接続します。「充電のみ」以外の
USB接続モードを選択する必要があります。
非表示のテキスト「デバイスマネージャー」には、たとえば次のようなスマートフォンが表示されます。
「写真」または「ファイル」モード
USBドライブモードで
したがって、
lsusbコマンドの出力では
次のようになります。
「ツール」がインストールされているディレクトリでコマンドラインを開きます。
接続が成功したことを確認します(接続されたスマートフォンのシリアル番号が表示されます):
adb devices
(
Windowsの場合 )
Linuxの場合、コマンドは次のようになります。
./adb devices
コンピューターがこのスマートフォンでの使用を許可されていない場合(
Android 4.2.2以降)、シリアル番号の横に警告メッセージ「
無許可 」が表示されます。
承認するには、スマートフォンの
USB経由でデバッグ許可を確認する必要があります。
非表示のテキストLinuxでは、「 権限がありません 」というメッセージが表示される場合があります。私の場合、スマートフォンを「メディアデバイス( MTP )」モードに切り替えることで問題を解決できました。
デバイスでシェルを起動します(「$」プロンプトが表示されます)。
adb shell
次に、次の「マジック」シンボルを紹介します。
while true; do ps `while ! (dumpsys media.camera | grep -E "PID") do done | grep -o "[^PID: ][0-9]*$"` | grep -o "[^S ]*$" ; date; sleep 1; done
改善されたバージョン、出力「NAME」と空行を削除します。
while true; do ps `while ! (dumpsys media.camera | grep -E "PID") do done | grep -o "[^PID: ][0-9]*$"` | grep -o "[^S ]*$" | grep -v "NAME" | grep .; date; sleep 1; done
そして、何も起こりません:-)何かが小さなショットをとることを決定するまで:-)
示された「マジック」文字セットは、カメラサービス
-media.cameraへのアクセスの監視を可能な限り速く開始します(このサービスは
libcameraservice.soライブラリによって実装されます)。 カメラがアクティブでない場合、
dumpsysは次のようなものを表示します。
カメラが必要な場合、次のように表示されます。
grepは「
PID 」の存在をチェックし、このチェーンが存在する場合、文字列からプロセス番号を切り取り、このプロセスに関するデータを表示する
psコマンドに送ります。別の
grepは名前を切り取ります。 カメラのアクティビティを検出した後、メッセージが頻繁にこぼれないように1秒間停止します。 コマンドの操作を中断するには、キーの組み合わせ
CTRL-Cを使用し、シェル
-CTRL-Dを終了します。
最も単純な例は、写真/ビデオ撮影用の通常のスマートフォンアプリケーションを起動した後、プロセス名と日付/時刻を含むメッセージが1秒間隔で流出し始めることです。
」
しかし、より巧妙なアプリケーションがあり、キーワード「スパイカム」で見つけることができます(たとえば、1ピクセルのプレビューでトリックを使用し
ます (
http://www.ez.ai/2014/05/exploring-limits-of-covert-data .html ))。 このような作成は、撮影とレポートの開始時に崩壊しますが、メッセージは定期的に流れます。
また、フローティングボタンをクリックするとシングルショットを撮るアプリケーションで、提案されたメソッドの機能を確認しました。
表示されるプレビューウィンドウなし。
スクリプトはカメラへの呼び出しを正常にキャッチし、ショットごとに2つのメッセージを発行しました。
しかし、より無害な名前のアプリケーションに同様の機能を実装することを妨げるものは何もありません(
https://www.zdnet.com/article/this-scary-android-malware-can-record-audio-video-and-steal-your-データ/ )、および許可-まあ、すべての種類のケースがあります。 はい。「合法的な」アプリケーションは、必要に応じて報告できます(そのようなケースの1つに言及しました)。 また、
Android Pがバックグラウンドアプリケーションがカメラにアクセスするのを防ぐ手段を講じたのも無駄ではありません。
この方法は、
Huawei SCL-L01 (
Android 5.1.1)および
Huawei G700-U20 (
Android 4.2.1)スマートフォンでテスト済みです
。dumpsys出力
形式は、他のスマートフォンモデルと異なる場合があります(
media.cameraサービスでは標準化されていません)。 。
メッセージ形式は
/system/lib/libcameraservice.soライブラリにハードコーディングされて
います-たとえば、
Huawei SCL-L01スマートフォンの場合:
コメントで
-Android 9のスマートフォンを操作するためのコードを変更する方法のヒント。
この解説は、
HTC U11によって記録されたカメラアクセスログを示しています。
ただし、たとえば、「古代の」
Huawei U8650 (
Android 2.3.4)では、
dumpsysは正常に機能します。
そして、権利は...
grepには十分ではありません:-)
マイクアクセスの監視同様の方法を使用して、マイクへのアプリケーションのアクセスを監視できます。 この場合、サービス
media.audio_flingerを監視する必要があります。
「シェル」にコマンドを入力します(指定されたコードは
Huawei SCL-L01スマートフォン(
Android 5.1.1)で動作します):
while true; do ps `while ! (dumpsys media.audio_flinger | grep -A20 Input| grep -A1 Client | grep yes | grep -o "[^yes ].*" | grep -o [0-9]*) do done` | grep -o "[^S ]*$" | grep -v "NAME" | grep .; date; sleep 1; done
マイクを介してサウンドを録音するアプリケーションがある場合、
dumpsys media.audio_flingerの出力に同様のフラグメントがあります。
(
入力スレッド -入力ストリーム、
22467-サウンドを記録
するプロセスの
PID )。
標準アプリケーション「ボイスレコーダー」で音声を録音し、監視が有効になっている場合(上記のコードを使用)、次のメッセージが表示されます。
ただし、
Google翻訳の音声入力がアクティブになったときにどのようなメッセージが注がれますか。
他のスマートフォンでは、 dumpsysの出力形式が異なる場合があり、コードの修正が必要になります。たとえば、スマートフォン
Huawei G700-U20 (
Android 4.2.1)の場合:
この場合、監視用のコードは次のようになります。
while true; do ps `while ! (dumpsys media.audio_flinger | grep -A3 Input| grep -A1 Clien | grep -o "[^ ].*" | grep -o [0-9]*) do done` | grep -o "[^S ]*$" | grep -v "NAME" | grep .; date; sleep 1; done
この場合、「復活した」アリスがどのように現れるかを以下に示します。