Bagaimana cara memeriksa apakah ada aplikasi pada smartphone 
Android yang memiliki laporan foto atau video, meskipun ia tidak pernah membutuhkannya? Opsi berikut sama sekali tidak sempurna, tetapi tidak memerlukan "root" atau custom firmware.
PS Saya menambahkan deskripsi pemantauan akses aplikasi ke mikrofon ke artikel.Apa yang perlu Anda instal:
- ADB ( Android Debug Bridge ) (misalnya, sebagai bagian dari Alat Platform SDK Android - Anda dapat mengunduh di sini );
- driver untuk telepon (jika perlu, misalnya, Driver USB Google dapat diunduh di sini ).
Kami mengaktifkan mode debugging 
USB pada ponsel dan menghubungkan smartphone ke 
port USB komputer , dan Anda harus memilih mode 
koneksi USB , selain "Mengisi daya saja".
Teks tersembunyiDi "Device Manager" ditampilkan smartphone, misalnya, sebagai berikut:
dalam mode "Foto" atau "File"

dalam mode drive USB

Jadi, dalam output dari perintah 
lsusb :

 Buka baris perintah di direktori tempat "alat" diinstal.
Pastikan koneksi berhasil (nomor seri smartphone yang terhubung ditampilkan):
adb devices 
(untuk 
windows )

Untuk 
Linux, perintahnya akan terlihat seperti ini:
 ./adb devices 
Jika komputer tidak diotorisasi untuk digunakan dengan smartphone ini (untuk 
Android 4.2.2 dan yang lebih baru), maka pesan peringatan " 
tidak sah " akan muncul di sebelah nomor seri.
Untuk otorisasi, Anda perlu mengonfirmasi izin debug via 
USB pada ponsel cerdas.
Teks tersembunyiDi Linux , pesan " tidak ada izin " mungkin muncul - dalam kasus saya, saya berhasil menyelesaikan masalah dengan mengalihkan ponsel cerdas ke mode "Media Device ( MTP )".
 Luncurkan shell pada perangkat (kami mendapatkan prompt "$"):
 adb shell 

Lalu kami memperkenalkan simbol "ajaib" berikut:
 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 
Versi yang disempurnakan, menghapus output "NAME" dan baris kosong:
 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 
Dan tidak ada yang terjadi :-) Sampai sesuatu memutuskan untuk mengambil bidikan kecil :-)
Set karakter "ajaib" yang ditunjukkan mulai memantau akses ke layanan kamera - 
media.camera secepat mungkin (layanan ini diterapkan oleh perpustakaan 
libcameraservice.so ). Jika kamera tidak aktif, 
dumpsys menampilkan sesuatu seperti ini:

Dan jika kamera diperlukan, maka ini muncul:
 grep
grep memeriksa keberadaan " 
PID " dan, jika rantai ini ada, mereka memotong nomor proses dari string dan memasukkannya ke perintah 
ps , yang menampilkan data tentang proses ini, dan 
grep lain memotong namanya. Setelah mendeteksi aktivitas kamera, berhenti sebentar agar pesan tidak terlalu sering tumpah. Untuk menghentikan perintah, gunakan kombinasi tombol 
CTRL-C , dan untuk keluar dari shell - 
CTRL-D .
Contoh paling sederhana adalah bahwa setelah meluncurkan aplikasi smartphone biasa untuk pemotretan foto / video, pesan dengan nama proses dan tanggal / waktu mulai berdatangan dalam interval 1 detik:

 "
Tetapi ada aplikasi yang lebih licik, mereka dapat ditemukan dengan kata kunci "spy cam" (menggunakan trik, misalnya, dengan pratinjau piksel tunggal ( 
http://www.ez.ai/2014/05/exploring-limits-of-covert-data) .html )). Kreasi seperti itu runtuh pada awal pemotretan dan laporan, tetapi pesan mengalir secara teratur:

Saya juga memeriksa fungsionalitas metode yang diusulkan pada aplikasi yang mengambil satu bidikan saat mengklik tombol mengambang 

 tanpa jendela pratinjau yang terlihat.
Script berhasil menangkap panggilan ke kamera dan mengeluarkan dua pesan dengan setiap pemotretan:

Tetapi tidak ada yang menghentikan Anda untuk mengimplementasikan fungsionalitas serupa dalam aplikasi dengan nama yang lebih tidak berbahaya ( 
https://www.zdnet.com/article/this-scary-android-malware-can-record-audio-video-and-steal-your- data / ), dan izin - well, ada semua jenis kasus. Dan aplikasi "legal" dapat melaporkan jika diinginkan (saya telah memenuhi penyebutan satu kasus seperti itu). Dan tidak sia-sia bahwa 
Android P mengambil tindakan untuk mencegah aplikasi latar belakang mengakses kamera.
Metode ini telah diuji pada smartphone 
Huawei SCL-L01 ( 
Android 5.1.1) dan 
Huawei G700-U20 ( 
Android 4.2.1), pada model smartphone lainnya, 
format output 
dumpsys mungkin berbeda (tidak distandarisasi untuk layanan 
media.camera ), yang akan memerlukan koreksi kode .
Format pesan di hardcoded di perpustakaan 
/system/lib/libcameraservice.so - misalnya, untuk smartphone 
Huawei SCL-L01 :

Dalam 
komentar - petunjuk bagaimana mengubah kode untuk bekerja dengan smartphone di 
Android 9.
Komentar ini menunjukkan log akses kamera yang dikelola oleh 
HTC U11 .
Tapi, misalnya, pada 
dumpsys "kuno" 
Huawei U8650 ( 
Android 2.3.4) berfungsi dengan baik:

Dan haknya tidak cukup untuk ... 
grep :-)
 Pemantauan akses mikrofon
Pemantauan akses mikrofonMetode serupa dapat diterapkan untuk memantau akses aplikasi ke mikrofon. Dalam hal ini, Anda perlu memonitor media 
layanan.audio_flinger .
Kami memasukkan perintah di "shell" (kode yang diberikan berfungsi pada smartphone 
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 
Jika beberapa aplikasi merekam suara melalui mikrofon, maka dalam output dari 
dumpsys media.audio_flinger ada fragmen yang serupa:

( 
Input thread - input stream, 
22467 - 
PID dari suara proses perekaman).
Saat merekam suara melalui aplikasi standar "Perekam suara" dan pemantauan diaktifkan (melalui kode di atas), pesan berikut muncul:

Tetapi pesan apa yang dituangkan ketika input suara penerjemah 
Google diaktifkan:
 Pada smartphone lain, format output dumpsys mungkin berbeda, yang akan memerlukan koreksi kode.
Pada smartphone lain, format output dumpsys mungkin berbeda, yang akan memerlukan koreksi kode.Misalnya, pada telepon pintar 
Huawei G700-U20 ( 
Android 4.2.1):

Dalam hal ini, kode pemantauan akan terlihat seperti:
 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 
Inilah bagaimana "yang dihidupkan kembali" Alice memanifestasikan dirinya dalam kasus ini:
