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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
sjcam — أبحاث الهندسة العكسية وبرامج ثابتة مخصصة لكاميرات إنترنت الأشياء القائمة على Allwinner V3، بما في ذلك محللات البرامج الثابتة، وعميل AVIOCTRL، وإثبات مفهوم CVE-2026-52656 لاستبدال البرامج الثابتة عبر OTA بدون مصادقة. | Kitploit
أدوات/GitHubGitHub/keowu/sjcam
أمان الأنظمة المدمجةأمان إنترنت الأشياءتحليل الثغرات الأمنيةالاستغلالالهندسة العكسيةاختبار الاختراقأمن الأجهزةالأوراق والأبحاثالتعلم والتعليمتحليل البرامج الثابتة
GitHubkeowu/sjcam

sjcam

81منذ شهر واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

أبحاث الهندسة العكسية وبرامج ثابتة مخصصة لكاميرات إنترنت الأشياء القائمة على Allwinner V3، بما في ذلك محللات البرامج الثابتة، وعميل AVIOCTRL، وإثبات مفهوم CVE-2026-52656 لاستبدال البرامج الثابتة عبر OTA بدون مصادقة.

عرض المستودعالموقع الإلكتروني

لولوش: أبحاث البرامج الثابتة لـ SJCAM SJ4000 وبرامج ثابتة مخصصة

CI

Lelouch project banner

التبديل إلى البرتغالية (البرازيل)

ملاحظات الهندسة العكسية، أدوات البرامج الثابتة، كود إثبات المفهوم، وواجهة برامج ثابتة مخصصة لإصدار Allwinner V3 من كاميرا SJCAM SJ4000 Air.

مقال بحثي

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

اقرأ المقال البحثي الكامل باللغة الإنجليزية) أو البرتغالية.

حول المشروع

بدأ هذا العمل بسؤال بسيط: ما مدى التحكم الذي يمكنني الحصول عليه على كاميرا أكشن رخيصة بدون وثائق أو كود مصدر أو دعم من البائع؟

تبين أن الكاميرا تستخدم معالج Allwinner V3 ونظام Android 4.4 معدل بشكل كبير. تطبيقها الرئيسي، sdv، يتواصل مع خدمات الكاميرا والعرض الخاصة عبر Binder، ويعرض الواجهة باستخدام MiniGUI، ويكشف عن خادم HTTP لتحديثات البرامج الثابتة، ويتواصل مع تطبيق SJCAM Zone عبر بروتوكول خاص.

يوثق المستودع المسار من استخراج البرامج الثابتة إلى بديل عملي لـ sdv. يتضمن أدوات لتنسيقات البرامج الثابتة التي تمت مواجهتها أثناء البحث، وقواعد بيانات IDA للثنائيات المعكوسة، وعميل AVIOCTRL، ومصدر البرامج الثابتة المخصصة لولوش، وإثبات المفهوم المرتبط بـ CVE-2026-52656.

يستهدف الكود لوحة Allwinner V3 التي تم بحثها مع وحدة تحكم شاشة ST7789V ومستشعر صورة GC4653. يتم تضمين وحدات SJ4000 القديمة المستندة إلى Novatek NT9665X فقط كجزء من البحث السابق وتستخدم تنسيق برامج ثابتة مختلف. أسماء المنتجات وحدها ليست كافية لتحديد التوافق.

لولوش

لولوش هي واجهة بديلة للتطبيق الأصلي sdv للكاميرا. تم بناؤه باستخدام المكتبات الخاصة المستردة من البرامج الثابتة ويستخدم نفس الواجهات الداخلية مثل التطبيق الأصلي.

يتضمن التنفيذ الحالي:

  • معاينة الكاميرا من خلال الواجهات المعكوسة HerbCamera و CedarDisplay
  • واجهة MiniGUI مصممة لشاشة الكاميرا 320x240 والأزرار المادية
  • التحكم في نقطة اتصال Wi-Fi من خلال طبقة تجريد الأجهزة لـ Allwinner
  • وضع محطة Wi-Fi باستخدام بناء ARMv7 مخصص لـ wpa_supplicant
  • متصفح نصوص صغير مع لوحة مفاتيح على الجهاز
  • كشف الحركة على إطارات المعاينة وكود كشف الوجه التجريبي بتقنية Haar cascade
  • عروض حالة البطارية والوقت والكاميرا والشبكة والتصحيح
  • تهيئة Binder والتواصل مع الخدمات الموجودة بالفعل في البرامج الثابتة

لولوش ليست توزيعة كاملة أو برامج ثابتة عامة لكل منتج يُباع باسم SJ4000. تعتمد على المكتبات والنواة والخدمات وتخطيط الأقسام ووحدة تحكم الشاشة ومستشعر الصورة وتكوين اللوحة المستخدمة من قبل وحدة Allwinner V3 التي تم بحثها.

تخطيط المستودع

تحتوي بعض الدلائل على مواد من طرف ثالث أو مواد خاصة مستردة من الجهاز. وجودها هو لأغراض التوافق والبحث الأمني ولا يجعل تلك المكونات مفتوحة المصدر.

بناء لولوش

تم اختبار البناء على نظام Linux x86-64. تحتاج إلى Python 3 وGNU Make وGit وبيئة بناء C/C++ ووصول إلى الشبكة لتنزيل سلسلة الأدوات الأولية.

root@kitploit:~
git clone https://github.com/keowu/sjcam.git
cd sjcam/Lelouch
python3 prepare_build.py

يقوم prepare_build.py بتنزيل بيئة نظام Android API level 14 مثبتة ومترجم ARM arm-linux-androideabi-4.6 عبر المنصة إلى Lelouch/android_compilers/. ثم يقوم ببناء wpa_supplicant الثابت المعدل وتشغيل make. يتم تجاهل ملفات المترجم التي تم تنزيلها والثنائيات المولدة بواسطة Git.

الملفات الناتجة هي:

root@kitploit:~
Lelouch/Lelouch
Lelouch/wpa_supplicant

لإعادة البناء بعد تغيير مصادر C++:

root@kitploit:~
cd Lelouch
make clean
make

الملف الثنائي Lelouch المولد مخصص لاستبدال /bin/sdv في نظام الملفات الجذر المستخرج. يتوقع وضع محطة Wi-Fi أيضًا وجود wpa_supplicant المبني في /mnt/extsd/sta/wpa_supplicant على بطاقة SD الخاصة بالكاميرا.

يبحث كود كشف الوجه التجريبي عن ملف cascade المولد في:

root@kitploit:~
/mnt/extsd/frontalface.casc

يتضمن المستودع ملف cascade مولد مسبقًا والمحول المستخدم لإنشائه:

root@kitploit:~
cd Lelouch/gen_cascade
python3 gen_cascade.py haarcascade_frontalface_alt2.xml frontalface.casc

إجراءات الاستخراج الكامل، استبدال نظام الملفات الجذر، إعادة التعبئة، ووميض LiveSuit موثقة في المقال البحثي المرتبط في أعلى هذه الصفحة.

أدوات البرامج الثابتة

جميع نقاط الدخول للمحللات هي نصوص Python 3 مع مخرجات --help مدمجة وبدون تبعيات Python من طرف ثالث.

Allwinner IMAGEWTY

يقرأ صورة البرامج الثابتة الخارجية LiveSuit، ويستخرج ملفاتها، ويعيد بناء صورة من دليل مستخرج.

root@kitploit:~
python3 "Reversing Scripts/AllWinner IMAGEWTY - ROM Parser/main.py" info firmware.img
python3 "Reversing Scripts/AllWinner IMAGEWTY - ROM Parser/main.py" extract firmware.img -o image_dump
python3 "Reversing Scripts/AllWinner IMAGEWTY - ROM Parser/main.py" repack image_dump rebuilt.img

Allwinner eGON

يفحص ويستخرج ويعيد تعبئة حاوية full_img.fex الموجودة داخل صورة IMAGEWTY.

root@kitploit:~
python3 "Reversing Scripts/AllWinner EGON - Firmware Parser/main.py" info full_img.fex
python3 "Reversing Scripts/AllWinner EGON - Firmware Parser/main.py" extract full_img.fex -o egon_dump
python3 "Reversing Scripts/AllWinner EGON - Firmware Parser/main.py" pack egon_dump \
  --original full_img.fex \
  -o rebuilt_full_img.fex

يستخدم المعيد التعبئة الملف الأصلي كقالب بحيث يمكن الحفاظ على التخطيط الأصلي والبيانات الوصفية أثناء استبدال الأقسام.

Novatek BCL1

يفك ضغط حاوية BCL1 المستخدمة من قبل برامج SJ4000 الثابتة القديمة المبنية على Novatek ويمكنه مسح النتيجة بحثًا عن الأصول المضمنة وأقسام البرامج الثابتة.

root@kitploit:~
python3 "Reversing Scripts/Novatek もな BCL1 - Firmware Parser/main.py" \
  "Firmwares Files/OLD_SJCAM_Novatek_NT9665X/SJCAM001.bin" \
  -o firmCode.bin \
  --extract

عميل AVIOCTRL

يقوم ウタ.py بتنفيذ بروتوكول TCP الخاص المستخدم من قبل تطبيق الهاتف المحمول للتحكم في الكاميرا على المنفذ 6666. يتعامل مع تسلسل تسجيل الدخول للكاميرا ورسائل الإبقاء على الاتصال وإطارات IOCTRL ونقل الملفات وطلبات دفق الفيديو باستخدام مكتبة Python القياسية فقط.

قم بتوصيل جهاز الكمبيوتر الخاص بك بشبكة Wi-Fi للكاميرا وقم بتشغيل:

root@kitploit:~
python3 "AVIOCTRL Script/ウタ.py"

الهدف الافتراضي هو 192.168.100.1:6666. يمكن توفير عنوان مختلف عند الحاجة:

root@kitploit:~
python3 "AVIOCTRL Script/ウタ.py" --host 192.168.100.1 --port 6666 --debug

يمكن للعميل التفاعلي قراءة البطارية والتكوين، فحص بطاقة SD، التقاط الصور، بدء أو إيقاف التسجيل، سرد الملفات أو رفعها أو تنزيلها أو حذفها، طلب الصور المصغرة، تكوين Wi-Fi، طلب دفق الفيديو، وإرسال أوامر IOCTRL يدوية.

تنسيق بطاقة SD، حذف الملفات، تغيير إعدادات Wi-Fi، وإجراء إعادة ضبط المصنع يعدل الكاميرا. استخدم هذه الأوامر فقط على الأجهزة والبيانات التي تملكها.

CVE-2026-52656

تكشف البرامج الثابتة التي تم بحثها عن نقطة نهاية HTTP غير مصادق عليها أثناء تنشيط نقطة الاتصال بالكاميرا. تقبل تحميلات الملفات التعسفية وتكتبها مباشرة إلى بطاقة SD دون التحقق من العميل أو المحتوى الذي تم تحميله. هذا يتيح استبدال البرامج الثابتة بالكامل لأنه يمكن للمهاجم تحميل صورة eGON مخصصة باسم full_img.fex؛ تتعرف الكاميرا على اسم الملف هذا كحزمة OTA وتقوم بتثبيت البرامج الثابتة التي يتحكم فيها المهاجم من خلال تدفق التحديث العادي، كما لو كان تحديثًا رسميًا.

الاستغلال الناجح يعطي البرامج الثابتة التي تم تحميلها سيطرة كاملة على البرامج التي تعمل على الجهاز. يوضح إثبات المفهوم المضمن ذلك عن طريق استبدال التطبيق الأصلي بحمولة MiniGUI/AudioTrack مخصصة تشغل فيديو Bad Apple!! باستخدام إطارات RGB565 الخام وصوت PCM بعد تثبيت صورة OTA الضارة.

يحتوي دليل POC/ على:

  • run_exploit.sh، الذي يقوم بتحميل full_img.fex الذي يتحكم فيه المهاجم إلى الكاميرا
  • full_img.fex، صورة البرامج الثابتة eGON المصنوعة التي تقبلها آلية تحديث OTA للكاميرا
  • バイバイ/، حمولة MiniGUI وAudioTrack Bad Apple!! المستخدمة لتوضيح تنفيذ الكود التعسفي بعد التحديث
  • extract_rgb_pcm_from_mp4/، مساعد لتحويل فيديو العرض التوضيحي إلى بيانات RGB565 خام وPCM

يتطلب مساعد تحويل الوسائط ffmpeg. يتوقع ملفات video.rgb و audio.pcm المولدة في جذر بطاقة SD الخاصة بالكاميرا بواسطة حمولة العرض التوضيحي.

إثبات المفهوم مدمر بطبيعته. يمكن لصورة غير صحيحة أو غير متوافقة أن تدمر الكاميرا بشكل دائم. لا تقم بتشغيله على أجهزة لا تملكها أو بدون مسار استرداد كامل.

نطاق البحث

تم إنشاء المشروع لأغراض الهندسة العكسية والتوافق والتعليم والبحث الأمني على أجهزة تم الحصول عليها بشكل قانوني من قبل المؤلف. SJCAM وAllwinner وNovatek وAndroid وأسماء مكوناتها مملوكة لأصحابها المعنيين.

يحتوي المستودع على كود مصدر أصلي إلى جانب عينات من البرامج الثابتة وقواعد بيانات الهندسة العكسية ورؤوس ومكتبات مشتركة من منتجات طرف ثالث. لا يتم منح ترخيص للمواد من طرف ثالث. راجع المصدر والقانون المعمول به قبل إعادة توزيع أو استخدام تلك الملفات خارج بيئة بحثية.

لا يوجد حاليًا ترخيص مفتوح المصدر على مستوى المستودع. يحتفظ مصدر wpa_supplicant بترخيصه الأصلي في Lelouch/modified_lelouch_wpa_supplicant_source/COPYING.

تنزيل الأداة
المسارالمحتويات
Lelouch/واجهة البرامج الثابتة المخصصة، بيئة البناء، الرؤوس المستردة، المكتبات المشتركة الخاصة، ومصدر wpa_supplicant المعدل
Reversing Scripts/محللات ومُعيدو تعبئة لبرامج Allwinner IMAGEWTY وAllwinner eGON وNovatek BCL1 الثابتة
AVIOCTRL Script/ウタ.pyعميل تفاعلي للبروتوكول TCP الخاص المستخدم من قبل SJCAM Zone
Bin Files/قواعد بيانات IDA للتطبيقات الرئيسية والمكتبات المشتركة التي تم تحليلها أثناء البحث
Firmwares Files/نماذج البرامج الثابتة لـ Allwinner وNovatek المستخدمة أثناء التطوير
POC/إثبات مفهوم CVE-2026-52656، صورة eGON مصنوعة، وحمولة عرض الإطار/الصوت التجريبية