Skip to content
KitploitKITPLOIT
أدواتالمدونة
Log in
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
AndroidAuto — تطبيق مفتوح المصدر لجانب الهاتف من Android Auto مع هندسة عكسية للبروتوكول، والمصادقة المتبادلة عبر TLS، وإسقاط الفيديو H.264، وإدخال اللمس، وبث بيانات الاستشعار عبر USB AOA. | Kitploit
أدوات/GitHubGitHub/mretallack/androidauto
أمان أندرويدأمن البلوتوثالهندسة العكسيةأمن الشبكات اللاسلكيةأمن الجوالالأوراق والأبحاثالتعلم والتعليم
GitHubmretallack/androidauto

AndroidAuto

تطبيق مفتوح المصدر لجانب الهاتف من Android Auto مع هندسة عكسية للبروتوكول، والمصادقة المتبادلة عبر TLS، وإسقاط الفيديو H.264، وإدخال اللمس، وبث بيانات الاستشعار عبر USB AOA.

عرض المستودع
1130منذ 4 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

أندرويد أوتو مفتوح المصدر

تطبيق مفتوح المصدر لجانب الهاتف في نظام Android Auto. يعمل هذا التطبيق على هاتفك ويُعرض على وحدة الرأس في السيارة عبر USB، ليحل محل تطبيق Google الخاص com.google.android.projection.gearhead.

⚠️ العمل قيد التقدم

هذا المشروع في مراحل التطوير المبكرة. عملية المصافحة البروتوكولية وعرض الفيديو تعملان مع وحدة رأس حقيقية. يتم عرض شاشة الهاتف بنجاح على وحدة رأس السيارة لعدة ثوانٍ قبل انقطاع الاتصال (يتم تحسين استقرار الفيديو).

الميزات

البروتوكول والاتصال

  • كشف وضع الملحقات AOA USB والاتصال
  • التحقق من الهوية المتبادل عبر TLS 1.2 (الهاتف كخادم)
  • التفاوض على الإصدار (البروتوكول v1.7)
  • اكتشاف الخدمة (طلب/استجابة)
  • فتح القناة على القنوات المستهدفة (فيديو، صوت، إدخال، حساس)
  • إشارات البقاء على قيد الحياة Ping/pong (ثنائية الاتجاه)
  • التعامل مع طلب/استجابة التركيز الصوتي
  • التعامل مع طلب/استجابة تركيز التنقل
  • التعامل مع طلب الجلسة الصوتية
  • التعامل مع الإغلاق الآمن
  • قائمة انتظار كتابة ذات أولوية (رسائل التحكم فوق الفيديو)
  • انتظار منح التركيز الصوتي قبل إرسال الصوت (مهلة 500 مللي ثانية حسب HUIG)
  • تبادل الاقتران عبر Bluetooth (BluetoothPairingRequest/Response)
  • التعامل مع إعادة الاتصالات المتعددة عبر USB دون إعادة تهيئة AOAP

عرض الفيديو

  • تشفير H.264 عبر MediaCodec (800x480 @ 30 إطارًا في الثانية، ملف تعريف Baseline)
  • التقاط الشاشة عبر MediaProjection (مع حوار إذن المستخدم)
  • إعداد قناة الفيديو (تدفق SETUP → CONFIG → FOCUS → START)
  • طوابع زمنية تبدأ من الصفر بالميكروثانية
  • إضافة SPS/PPS في بداية الإطارات الرئيسية (تنسيق Annex B)
  • التحكم في التدفق (تتبع max_unacked، الضغط العكسي)
  • ضبط الإطارات (فترات ثابتة 33 مللي ثانية)
  • فيديو مستقر طويل المدى (ينقطع حاليًا بعد حوالي 7 ثوانٍ)
  • التفاوض على الدقة من اكتشاف خدمة وحدة الرأس
  • معدل بت متكيف بناءً على جودة الاتصال

إدخال اللمس

  • فتح قناة الإدخال وطلب الربط
  • تحليل أحداث اللمس (اللمس الفردي والمتعدد)
  • تحليل أحداث المفاتيح (الأزرار, مفاتيح الوسائط)
  • تعيين الإحداثيات (وحدة الرأس → دقة الهاتف)
  • TouchInjector مع إنشاء MotionEvent
  • حقن أحداث اللمس في VirtualDisplay
  • حقن أحداث المفاتيح في نظام Android

الصوت

  • فتح قناة الصوت وإعدادها
  • انتظار منح التركيز الصوتي قبل إرسال الصوت (مهلة 500 مللي ثانية حسب HUIG)
  • إرسال AUDIO_FOCUS_RELEASE عند الاتصال الأولي، ثم GAIN عند التشغيل
  • التقاط صوت الهاتف (MediaProjection AudioPlaybackCapture)
  • تشفير PCM/AAC وإرساله إلى وحدة الرأس
  • إدخال الميكروفون من وحدة الرأس (الأوامر الصوتية)
  • قنوات صوتية متعددة (وسائط, نظام, كلام, إرشاد)
  • إرسال الصمت الصوتي للحفاظ على القناة نشطة

الحساسات

  • فتح قناة الحساسات
  • التعامل مع طلب/استجابة بدء الحساس
  • تحليل بيانات وضع الليل وإرسالها
  • تحليل بيانات حالة القيادة وإرسالها
  • إعادة توجيه موقع GPS
  • اتجاه البوصلة
  • سرعة السيارة
  • عدد دورات المحرك في الدقيقة (RPM)
  • عداد المسافات (إجمالي + رحلة)
  • مستوى الوقود والمدى
  • حالة فرامل الانتظار
  • وضع ناقل الحركة (P/R/N/D/1-10)
  • تشخيصات OBD-II
  • البيئة (درجة الحرارة, الضغط, المطر)
  • HVAC (درجة الحرارة المستهدفة/الحالية)
  • الحساب الميت
  • وجود الراكب
  • حالة الأبواب (غطاء المحرك, صندوق السيارة, أبواب فردية)
  • حالة الإضاءة (المصابيح الأمامية, إشارات الانعطاف, أضواء الخطر)
  • ضغط الإطارات
  • مقياس التسارع (3 محاور)
  • الجيروسكوب (3 محاور)
  • بيانات أقمار GPS الصناعية
  • الاستجابة لطلبات الحساس من وحدة الرأس بشكل استباقي

فيديو (إضافي)

  • التفاوض على الدقة من اكتشاف خدمة وحدة الرأس
  • معدل بت متكيف بناءً على جودة الاتصال
  • دعم دقات 720p و1080p و1440p و4K
  • دقات الوضع الرأسي (720x1280 و1080x1920 إلخ)
  • تحديثات تكوين واجهة المستخدم (السمة, الهوامش)

أخرى

  • تنسيق الاقتران عبر Bluetooth (A2DP, HFP)
  • التنقل بدوره تلو الآخر إلى كتلة الأدوات
  • حالة التنقل (المناورات, الممرات, المسافات, الموقع الحالي)
  • حالة الوسائط (معلومات التشغيل الحالية)
  • بيانات وصف الوسائط المشغلة (المسار, الفنان, الألبوم)
  • متصفح الوسائط (تصفح مكتبة وسائط الهاتف من وحدة الرأس)
  • حالة الهاتف (إشعارات حالة المكالمة)
  • الإشعارات العامة (نظام الاشتراك/إلغاء الاشتراك)
  • إضافات البائعين
  • Android Auto اللاسلكي (WiFi + تسليم Bluetooth)
  • إشعار إغلاق القناة
  • طلب/استجابة الأجهزة المتصلة بالسيارة
  • طلب/استجابة تبديل المستخدم
  • إشعار حالة البطارية
  • حالة توفر المكالمة
  • تحديث اكتشاف الخدمة (تغييرات ديناميكية في القنوات)
  • ردود فعل الإدخال (ردود فعل لمسية/بصرية إلى وحدة الرأس)
  • طلب/استجابة الميكروفون (إدخال صوتي من وحدة الرأس)
  • إشعار نقص الصوت
  • خدمة الراديو (ضبط AM/FM/HD/DAB, المحطات المسبقة, RDS)

⚠️ إخلاء المسؤولية

استخدم على مسؤوليتك الخاصة. هذا البرنامج مقدم "كما هو"، دون أي ضمان من أي نوع.

  • قد يتسبب هذا البرنامج في سلوك غير متوقع مع وحدة رأس سيارتك
  • قد يتلف هذا البرنامج هاتفك أو وحدة الرأس — لا يتحمل المؤلفون أي مسؤولية
  • لا تستخدم هذا التطبيق أثناء القيادة
  • لا تتفاعل مع هذا التطبيق أثناء تشغيل المركبة
  • هذا التطبيق مخصص لأغراض التطوير والاختبار فقط
  • توقف دائمًا وأوقف مركبتك قبل التفاعل مع أي تطبيق هاتف
  • لا يتحمل المؤلفون المسؤولية عن أي حوادث أو إصابات أو أضرار ناتجة عن استخدام هذا البرنامج

البنية المعمارية```

USB Plug-in → MainActivity → ProjectionService ↓ UsbAoaTransport (USB AOA accessory mode) ↓ MessageFramer (16KB frame fragmentation) ↓ InBandTls (TLSv1.2 via SSLEngine) ↓ ProtocolEngine (AAP state machine) ↓ ┌───────────┼───────────┐ Video Input Audio (H.264) (touch/keys) (PCM)

## الأخطاء المعروفة

- **افتراض ترتيب تعيين القناة** — نقوم بتعيين أول `av_channel` في SERVICE_DISCOVERY_RESPONSE كفيديو والثاني كصوت. يعمل هذا مع وحدة الرأس في السيارة (القناة 1 = فيديو) ولكن يفشل مع openauto (القناة 4 = صوت، وليس فيديو). الإصلاح: تحليل حقل `stream_type` داخل `av_channel` لتمييز `VIDEO(3)` عن `AUDIO(1)`.
- **استقرار الفيديو** — ينقطع الاتصال بعد البث الممتد بسبب تجاوز سعة المخزن المؤقت USB لوحدة الرأس. انظر نتائج الاختبار أدناه.
- **ظهور الجهاز مكررًا على وحدة الرأس** — تعرض صفحة الهاتف الذكي لوحدة الرأس تطبيقنا كمدخلين منفصلين (واحد لـ Android Auto وآخر لـ Bluetooth) بدلاً من إدخال واحد بكلتا الإمكانيتين. يحدث هذا بسبب منع Android 12+ الوصول إلى عنوان Bluetooth MAC الحقيقي (يعيد `02:00:00:00:00:00`). الحل البديل: كتابة العنوان الحقيقي إلى ملف إعدادات عبر `adb shell "echo $(adb shell settings get secure bluetooth_address) > /sdcard/Android/data/org.openandroidauto/files/bt_address.txt"`. نحتاج إلى شاشة إعدادات واجهة مستخدم للسماح للمستخدم بإدخال عنوان BT MAC يدويًا.
- **زر المساعد الصوتي لا تتم معالجته** — عندما يضغط السائق على زر الصوت/المساعد على وحدة الرأس، نتلقى طلب VOICE_SESSION_REQUEST ونحاول تشغيل مساعد صوتي (Dicio أو الافتراضي للنظام). ومع ذلك، لا يتلقى المساعد المشغل الصوت من ميكروفون وحدة الرأس بعد.

### نتائج اختبار استقرار الفيديو

نمط اختبار (أشرطة الألوان) بدقة 800x480، فاصل الإطارات I ثانية واحدة:

| FPS | معدل البت | تجزئة | المدة | الإطارات | الحالة |
|-----|--------|----------|--------|--------|--------|
| 30 | 2Mbps | لا | ~3ث | ~90 | ❌ سريع جدًا |
| 15 | 2Mbps | لا | ~33ث | ~500 | ⚠️ أفضل |
| 10 | 2Mbps | لا | ~93ث | ~930 | ⚠️ جيد |
| 30 | 2Mbps | نعم (2KB) | 5-25ث | 150-750 | ⚠️ متغير |
| 30 | 500Kbps | نعم (2KB) | ~54ث | ~1691 | ⚠️ أفضل |
| 15 | 250Kbps | نعم (2KB) | ~67ث+ | 1000+ | ⚠️ جيد |
| 30 | 250Kbps | نعم (2KB)، I=5ث | ~20ث | ~600 | ❌ أسوأ مع إطار I طويل |
| 15 | 250Kbps | لا | ~13ث | ~200 | ❌ التجزئة ساعدت هنا |

السبب الجذري: تجاوز سعة المخزن المؤقت لاستقبال USB لوحدة الرأس مع الإنتاجية العالية المستمرة. معدل بيانات أقل = اتصال أطول.

**أفضل إعداد مؤكد:** 10 إطارات في الثانية، 2 ميجابت في الثانية، بدون تجزئة = 93 ثانية. تنفيذ التجزئة قبل التشفير معطل (لا تستطيع وحدة الرأس إعادة التجميع) — يحتاج إلى مزيد من التحقيق.
تنزيل الأداة