ADB vs Spy Cam & Mic

كيفية التحقق مما إذا كان أي تطبيق على الهاتف الذكي بنظام Android يحتوي على تقرير صورة أو فيديو ، على الرغم من أنه لا يحتاج إلى ذلك؟ الخيار التالي ليس مثاليًا على الإطلاق ، ولكنه لا يتطلب "جذر" أو برامج ثابتة مخصصة.

ملاحظة: أضفت وصفًا لمراقبة وصول التطبيقات إلى الميكروفون إلى المقالة.

ما تحتاج إلى تثبيت:
  • ADB ( Android Debug Bridge ) (على سبيل المثال ، كجزء من أدوات النظام الأساسي لنظام Android SDK - يمكنك تنزيله هنا ) ؛
  • برنامج تشغيل الهاتف (إذا لزم الأمر ، على سبيل المثال ، يمكن تنزيل برنامج تشغيل USB من Google هنا ).

نقوم بتشغيل وضع التصحيح عن طريق USB على الهاتف وتوصيل الهاتف الذكي بمنفذ USB في الكمبيوتر ، ويجب عليك اختيار وضع اتصال USB ، بخلاف "الشحن فقط".
النص المخفي
في الهاتف الذكي "Device Manager" يتم عرضه ، على سبيل المثال ، على النحو التالي:
في وضع "الصور" أو "الملفات"

في وضع محرك أقراص USB

وهكذا ، في إخراج الأمر lsusb :


افتح سطر الأوامر في الدليل حيث تم تثبيت "الأدوات".
تحقق من نجاح الاتصال (يتم عرض الرقم التسلسلي للهاتف الذكي المتصل):
adb devices 
( للنوافذ )

لنظام التشغيل Linux ، سيبدو الأمر كما يلي:
 ./adb devices 

إذا كان الكمبيوتر غير مصرح له باستخدام هذا الهاتف الذكي (لنظام Android 4.2.2 والإصدارات الأحدث) ، فستظهر رسالة التحذير " غير مصرح بها " بجوار الرقم التسلسلي.
للحصول على إذن ، تحتاج إلى تأكيد إذن التصحيح عبر USB على الهاتف الذكي.
النص المخفي
ضمن نظام Linux ، قد تظهر الرسالة " no الأذونات " - في حالتي ، تمكنت من حل المشكلة عن طريق تحويل الهاتف الذكي إلى وضع "Media Device ( MTP )".

قم بتشغيل shell على الجهاز (نحصل على موجه "$"):
 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 آخر اسمه. بعد اكتشاف نشاط الكاميرا ، توقف مؤقتًا لمدة ثانية حتى لا تنتشر الرسائل كثيرًا. لمقاطعة الأمر ، استخدم مجموعة المفاتيح CTRL-C ، والخروج من القشرة - CTRL-D .

أبسط مثال على ذلك هو أنه بعد بدء تشغيل تطبيق الهاتف الذكي العادي لتصوير الصور / الفيديو ، تبدأ الرسائل التي تحمل اسم العملية وتاريخها / وقتها في الفواصل الزمنية لثانية واحدة:

"

ولكن هناك المزيد من التطبيقات الماكرة ، يمكن العثور عليها بواسطة الكلمة الرئيسية "spy cam" (باستخدام خدعة ، على سبيل المثال ، مع معاينة أحادية بكسل ( http://www.ez.ai/2014/05/exploring-limits-of-covert-data .html )). ينهار هذا التصميم في بداية التصوير والتقارير ، لكن الرسائل تتدفق بانتظام:



لقد قمت أيضًا بالتحقق من وظيفة الطريقة المقترحة في تطبيق يأخذ لقطة واحدة عند النقر فوق زر عائم دون أي نافذة المعاينة مرئية.
حصل البرنامج النصي على مكالمة بالكاميرا وأصدر رسالتين بكل لقطة:


ولكن لا يوجد شيء يمنعك من تنفيذ وظائف مماثلة في تطبيق يحمل اسمًا غير ضار ( https://www.zdnet.com/article/this-scary-android-malware-can-record-audio-video-and-steal-your- البيانات / ) ، والأذونات - حسنا ، هناك كل أنواع الحالات. ويمكن للتطبيق "القانوني" الإبلاغ عندما يحلو له (لقد قابلت ذكر إحدى هذه الحالات). وليس من دون جدوى أن يتخذ 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 .
ولكن ، على سبيل المثال ، على dumpsys "القديمة" Huawei U8650 ( Android 2.3.4) يعمل بشكل جيد:

والحقوق ليست كافية لـ ... grep :-)


مراقبة وصول الميكروفون

يمكن تطبيق طريقة مشابهة لمراقبة وصول التطبيقات إلى الميكروفون. في هذه الحالة ، تحتاج إلى مراقبة وسائل الإعلام للخدمة.
ندخل الأمر في "shell" (يعمل الرمز المحدد على الهاتف الذكي 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 

إليكم كيف تتجلى أليس "المحببة" في هذه الحالة:

Source: https://habr.com/ru/post/ar435098/


All Articles