PilferShush Jammerは、知らないうちにマイクを利用しようとする他のアプリをブロックします。一部のアプリは、非表示のプロセスを使用して、近くのビーコン、テレビコマーシャル、ストリーミング音楽サービス、またはWebサイトによって生成されたトラッキングオーディオをバックグラウンドで録音します。このトラッキングオーディオは、18 kHz〜22 kHz(極超短波に近い)で送信されます。これは、一般的な人間の聴覚の範囲を超えていますが、一般的なAndroidフォンの録音範囲内です。
非表示のアプリプロセスによるマイクの不要な使用をブロックするために、PilferShush JammerはAndroidシステムにハードウェアマイクの使用を要求し、それを保持します。この手法は、マイクにアクセスしようとする他のアプリからマイクをロックします。この手法は、システムアプリではなく、ユーザーアプリでのみテストされています。 Androidシステムは、電話が受信または発信されるたびに、PilferShushJammerがマイクをブロックしないようにする必要があります。
妨害技術が実行されていて、マイクがロックされている場合、PilferShush Jammerは通知を投稿して、実行中であることをユーザーに通知し続けます。テストでは、1時間以上実行すると、0%のCPU、0%のネットワーク、43.6MBのRAMを使用することが示されています。
これは、AndroidおよびIoTの世界でのオーディオカウンター監視方法の研究の一環として作成された実験的なアプリです。
マイクにアクセスしてロックするには、RECORD_AUDIO権限が必要です。
音声を録音したり聞いたりすることはありません。
インターネットに接続しません。
バージョン2.0アクティブジャマーの追加:
トーンは、デバイスの機能に応じて、すべて18 kHz〜24kHzのNUHFに制限されたレートのキャリア周波数とドリフト制限で放出できます。たとえば、20000 Hzのキャリア、1000 Hzのドリフト制限、低速のレートは、ほぼ毎秒19 kHz〜21kHzのランダムな周波数を出力します。
バージョン3.0の妨害装置はサービスとして実行されます。
アクティブジャマーとパッシブジャマーの両方が(フォアグラウンド)サービスとして実行されるようになり、実行されているかどうかを正確に示す必要があります。これは、Android OS(電源管理)と、実行中のサービスを破壊する可能性のあるアプリマネージャーの両方に依存します。
このアプリはマイクの使用をブロックしようとしているため、通知を閉じたり非表示にしたりしないことが重要です。そうしないと、実行中であることを忘れてしまう可能性があります。
また、ユーザーがインストールしたNUHFおよびオーディオコンテンツ認識(ACR)SDKのアプリ、およびサービスやレシーバーをチェックするためのスキャナーも含まれています。
バージョン4.0の再設計
情報をより明確にし、アプリの一般的な使用法を簡素化するための設計の大幅な見直し
Android 10(Q)同時オーディオ更新:他の録音アプリが以前の録音オーディオアプリをマイクからぶつけることができることを意味するオーディオキャプチャポリシー。
(https://source.android.com/compatibility/android-cdd#5_4_5_concurrent_captureを参照してください)
別のユーザーアプリがPilferShushJammerからマイクを乗っ取ろうとすると、最新のビルド(4.4.1)は、実行中のパッシブジャマーサービスを自動的に再起動して、「最後にオーディオを受信したキャプチャを開始したサービス」に準拠しようとします( Android APIドキュメントからの引用)。音声を録音しようとしているがマイクにアクセスできないアプリは、音声を録音しているように見えても、システムからゼロの音声データ(無音)が与えられます。
ノート:
ホワイトノイズ出力はブロッキングにあまり効果的ではない可能性があり、やや迷惑な音です。
スピーカー出力は、不要なNUHF信号をブロックするのに十分な振幅を持っていない可能性があります-テストで決定されます。
バージョン4.5.0のアクティブジャマーコードの書き直し
ソースコードはこちらから入手できます:https://github.com/kaputnikGo/PilferShushJammer
研究とプロジェクトのウェブページ:https://www.cityfreqs.com.au/pilfer.php