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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
lg-webos-kexec — يشغّل نواة لينكس مخصصة على تلفزيونات LG webOS المجذَّرة عبر kexec، مع دعم مقلوب الهندسة لمراقب نظام SoC، وحمولات framebuffer، وسير عمل بناء نواة initramfs. | Kitploit
أدوات/GitHubGitHub/ggfuchsi-oss/lg-webos-kexec
أمان الأنظمة المدمجةالهندسة العكسيةاختراق الأجهزةأمان الأجهزة وإنترنت الأشياءتحليل البرامج الثابتة
GitHubggfuchsi-oss/lg-webos-kexec

lg-webos-kexec

يشغّل نواة لينكس مخصصة على تلفزيونات LG webOS المجذَّرة عبر kexec، مع دعم مقلوب الهندسة لمراقب نظام SoC، وحمولات framebuffer، وسير عمل بناء نواة initramfs.

عرض المستودع
611منذ يوم واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

lg-webos-kexec

قم بتشغيل نواة Linux مخصّصة على تلفاز LG webOS مُجذَّر عبر kexec — في الذاكرة RAM، دون تجاوز الإقلاع الآمن.

الحالة: قيد التطوير. يمكن تجهيز نواة مخصّصة وتصل إلى فضاء المستخدم، لكنها لا تبقى بعدُ كنظام تشغيل قابل للاستخدام.

الهدف

LG 50UP81009LR (webOS 6.5, Realtek RTD2875, armv7l). مُجذَّر عبر Homebrew Channel؛ النواة الموقّعة الأصلية وبيئة webOS تبقيا دون أيّ تعديل.

ما تم إثباته (تم التحقق منه فعليًا)

  • kexec -l يجهّز نواة (أصلية أو مبنية من المصدر)؛ يتحوّل /sys/kernel/kexec_loaded إلى 1.
  • kexec -e يستبدل النواة قيد التشغيل (يعود التلفاز إلى الحالة الأصلية بعد ذلك).
  • النواة المبنية من المصدر تصل إلى فضاء المستخدم — تم التحقق منها عبر أخطاء صفحات في وضع المستخدم = /sbin/init نفّذ كودًا حقيقيًا.
  • حمولات كناري صغيرة ترسم على إطار العرض framebuffer (تم تأكيد الوصول إلى ring-0 والوصول إلى الشاشة).
  • السلسلة كلها تعمل من سكربت webOS الأصلي startup.sh — مُحمّل الإقلاع الموقّع / ATF / OP-TEE لا تُلمس أبدًا.

ما الذي لا يزال ناقصًا

  • إطعام كلب الحراسة Watchdog — تمت الهندسة العكسية + كُتب الإصلاح، لكنه لم يُثبت بعد في إقلاع kexec حي. انظر أدناه.

كلب الحراسة Watchdog — تم العثور عليه (2026-08-19)

إعادة التشغيل هي كلب حراسة SoC (كتلة TC). دالة النواة الأصلية micom_wdt_thread() تُبقيه في وضع السكون عبر ثلاث لمسات على السجلات (drivers/rtk_kdriver/platform/tv006/intmicom.c):

root@kitploit:~
TCWCR @ 0xFE062204 <- 0xA5         // unlock
TCWOV @ 0xFE062210 <- 0x0FFFFFFF   // max overflow => huge timeout
TCWTR @ 0xFE062208 <- 0x01         // kick

تحت kexec، تقع *(volatile*)0xFE062208 = 0x01 الخام في المُشغِّل على عنوان افتراضي غير مُعيَّن وتُعدّ عملية صامتة بلا تأثير، لذلك ينطلق كلب حراسة SoC (بعد ~10–21 ثانية). الآن يقوم micom-pet.c بنفس اللمسات من فضاء المستخدم عبر /dev/mem (CONFIG_DEVMEM=y)، وهو ما يُعيَّن بشكل صحيح، بالإضافة إلى رسالة إبقاء على الحياة 0xB1 إلى /dev/sys-intmicom كدفاع مُعمَّق.

الحالة: أُعيدت كتابة micom-pet.c، وتُترجم مع سلسلة أدوات musl، واختبار دخان آمن لمدة 5 ثوانٍ على التلفاز الحي أكّد أنه يعمل ويكتب أثره (0x52455814 = "REX"+نبضة). الدليل الوحيد المتبقي هو إقلاع kexec -e يبقى قائمًا بعد ~21 ثانية — وهذا يعيد تشغيل التلفاز، لذا فهو اختبار بحضور شخص.

  • الشاشة — اللوحة تستخدم FBDC المُقسَّم؛ نص إطار العرض الخام ليس مفيدًا. الإخراج الحقيقي يحتاج إلى RPC الخاص بـ VCPU (أوامر الرسم إلى محرك الفيديو).
  • الشبكة — يجب أن يتطابق vermagic لوحدة wlan الأصلية مع CONFIG_LOCALVERSION="" حتى تُحمَّل؛ لم تُربط بعد في initramfs.

كيف يعمل (النسخة الصادقة)

root@kitploit:~
boot ROM → ATF → signed LG kernel (~2 s) → startup.sh
    → kexec -l <our zImage + dtb + initramfs>
    → kexec -e
    → OUR kernel runs in RAM (no eMMC writes)

اسحب الكهرباء = الحالة الأصلية. لا يمكن أن تُتلف.

بُني بالذكاء الاصطناعي (إفصاح كامل)

معظم هذا المستودع أُعد بواسطة Rex — وهي نسخة من وكيل برمجة بالذكاء الاصطناعي — لمساعدة إنسان على العمل على تلفازه الخاص، في غرفة معيشته الخاصة. كتب الذكاء الاصطناعي إثبات المفهوم kexec، وسلسلة الإقلاع، وحمولات الكناري على إطار العرض، والتقارير الهندسية العكسية هذه. لكن الادعاءات في هذا README لم تُذكر أبدًا إلا بعد أن شغّل الإنسان التلفاز، ونظر إلى الشاشة، وتأكد من ذلك. إذا لم يكن الادعاء مدعومًا بفحص حقيقي للشاشة/صورة/وقت التشغيل من العتاد، فهو غير مذكور هنا.

لم يُتلف أي تلفاز في صنع هذا المستودع. بعضها أصيب بارتباك مؤقت (نواة kexec دون إطعام كلب الحراسة تعيد تشغيل جهازك بعد ~15 ثانية)، ثم أُعيد تشغيلها كهربائيًا لتعود إلى الحالة الأصلية. يتم مسح /tmp مع كل إعادة تشغيل، لذلك ينسى التلفاز كل ما فعلناه — هذا هو بيت القصيد.

هيكل المستودع

  • rexos/ — نظام التشغيل المخصّص: خطاف الإقلاع، بناء النواة، initramfs، واجهة RexBus.
  • kexec-poc/ — إثبات المفهوم للتحميل فقط + حمولات الكناري على إطار العرض.
  • docs/ — تقارير الهندسة العكسية (الإقلاع/الأمان، تحميل تطبيقات SAM، خريطة الأسطح، مخطط luna2).

تحقق بنفسك (تحتاج إلى التلفاز المحدد: 50UP81009LR، مُجذَّرًا، على الشبكة المحلية)

هذه الخطوات تعيد إنتاج ما فعلناه، على العتاد نفسه. لا شيء مُزيَّف.

0. المتطلبات المسبقة

  • LG 50UP81009LR، مُجذَّر عبر Homebrew Channel، مع تمكين SSH للجذر، على شبكتك المحلية.
  • التلفاز افتراضيًا هو 192.168.2.103 في الأوامر أدناه؛ عدّله إذا كان جهازك مختلفًا.
  • شجرة مصدر نواة LG K7LP GPL تُجهَّز مرة واحدة: اضبط KERNEL_SRC=/path/to/linux-4.4.3 (حمّل أرشيف 03.53.45 K7LP GPL من موقع LG مفتوح المصدر)، أو اعمل رابطًا رمزيًا ~/lgtv-toolkit/kernel-src/kernel/linux-4.4.3.

1. ابنِ سلسلة الأدوات وkexec الثابت (لا يحتاج تلفازًا، ~دقيقتان)

root@kitploit:~
git clone https://github.com/ggfuchsi-oss/lg-webos-kexec
cd lg-webos-kexec/kexec-poc && ./build.sh

المتوقع: ملف ثنائي ARM ثابت kexec عند kexec-arm (168K، file يُظهر ELF 32-bit LSB ... ARM ... statically linked).

2. أعد إنتاج PoC الآمن على تلفازك (تجهيز وتفريغ — دون إقلاع)

root@kitploit:~
cd ../kexec-poc
./run-poc.sh 192.168.2.103 ~/.ssh/tv_key

النتيجة المتوقعة:

root@kitploit:~
staged before      : 0
staged after load  : 1   <- kernel accepted, DTB wired, segments allocated
staged after unload: 0   <- cleared, TV untouched

هذا يجهّز نواة التلفاز الحالية نفسها عبر kexec ثم يفرّغها فورًا. يتحوّل /sys/kernel/kexec_loaded إلى 1 ثم يعود إلى 0. لا إعادة تشغيل، لا تبديل نواة، لا شيء يبقى. اسحب الكهرباء = الحالة الأصلية.

3. (بحضور شخص) أقلِع نواتك الخاصة — يعيد تشغيل التلفاز

افعل هذا فقط مع تشغيل التلفاز ووجود شخص:

root@kitploit:~
cd ../rexos
make                            # builds rexos-kernel.zImage + rexos-initramfs.cpio.gz into out/
./boot/rexos-kexec --load-only   # stage, do NOT fire (same safe state as step 2)
# then, when ready to actually jump:
./boot/rexos-kexec               # kexec -e -> our kernel runs in RAM (TV will reset)

تحذيرات صادقة معروفة في الخطوة 3 (ليست أخطاءً أخفيها):

  • بعد kexec -e، تصل النواة الجديدة إلى فضاء المستخدم لكن التلفاز يُعاد تشغيله بعد ~10–21 ثانية لأن كلب حراسة micom/SOC لا يُطعَم. هذا هو الجدار الحالي، وليس خطأ تعطّل. rexos/initramfs/micom-pet.c هو البرنامج الخفي المصمم لإصلاح هذا (ما زلنا نوصّله).
  • الشاشة FBDC مُقسَّم — لا توجد وحدة تحكم نصية؛ فقط منارات بلون واحد (انظر kexec-poc/canary/). الرسوميات الحقيقية تحتاج مسار RPC الخاص بـ VCPU (لم يُنجز).
  • نواة/DTB خاطئة تؤدي فقط إلى شاشة سوداء حتى إعادة تشغيل الكهرباء. لا يمكن أن تُتلف: kexec يكتب في RAM فقط، ولا يكتب في eMMC أبدًا.

ملخص الحالة (بصراحة)

  • أساس تجهيز النواة وتنفيذها: مُثبت (الخطوة 2). ✅
  • النواة المخصّصة تُقلِع وتصل إلى فضاء المستخدم: مُثبت (الخطوة 3). ✅
  • تبقى كنظام تشغيل قابل للاستخدام: ليس بعد — كلب الحراسة والشاشة هما الجداران المتبقيان. ⏳

التبعيات (كن صريحًا بشأن ما هو خارجي)

يحتوي هذا المستودع على المصدر + التوثيق + مدخلات البناء الملتقطة من التلفاز (.config النواة، وحدة واي فاي + البرنامج الثابت، مكتبات rootfs)، لكنه لا يحتوي على شجرة مصدر نواة LG K7LP GPL نفسها (~390 MB) — تلك ملك لتوزيع LG، وليست لنا لإعادة استضافتها.

سيفشل make برسالة واضحة KERNEL_SRC missing إذا لم تكن شجرة النواة موجودة — لا يوجد بناء نصف صامت.

الجدة / الأعمال السابقة

بقدر ما نعلم، هذا هو أول إقلاع علني لنواة مخصّصة عبر kexec لتلفاز LG webOS. اللبنات الأولية (kexec، webOS مُجذَّر، RTD2875) كلها معروفة بشكل فردي؛ لكن تطبيقها على هذا التلفاز الاستهلاكي المُقيَّد يبدو جديدًا. نحن لا ندّعي تجاوز الإقلاع الآمن — نحن نلتفّ حوله.

الترخيص

GPL-2.0 (عمل النواة؛ شفرة مصدر نواة GPL من LG هي GPL). سكربتاتنا متوافقة مع GPL. انظر CREDITS للإسناد إلى المصادر العليا.

تنزيل الأداة
التبعيةكيف تحصل عليها
LG K7LP GPL linux-4.4.3 (RTD2875)موقع LG مفتوح المصدر → أرشيف 03.53.45 K7LP GPL → kernel
سلسلة أدوات musl armv7 المتقاطعة (~98 MB)تُجلب تلقائيًا بواسطة kexec-poc/build.sh (مكتفية ذاتيًا)
تلفاز مُجذَّر (50UP81009LR)لازم في المرة الأولى فقط لالتقاط .config — لكن هذا الإعداد أصبح الآن مُلتزمًا في rexos/kernel/rexos-tv.config، لذا يمكن للاستنساخ البناء دون اتصال