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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
spd_dump-macos — أداة وميض UNISOC BootROM/FDL لنظام macOS: spd_dump مُرقّع مع CVE-2022-38694 exec_addr2، مرجع البروتوكول، قواعد الأقسام، التحقق من النسخ الاحتياطي (UMS9621) | Kitploit
أدوات/GitHubGitHub/xun404/spd_dump-macos
أمان أندرويدأمان الأنظمة المدمجةالاستغلالاختراق الأجهزةأمن الجوالتحليل البرامج الثابتة
GitHubxun404/spd_dump-macos

spd_dump-macos

أداة وميض UNISOC BootROM/FDL لنظام macOS: spd_dump مُرقّع مع CVE-2022-38694 exec_addr2، مرجع البروتوكول، قواعد الأقسام، التحقق من النسخ الاحتياطي (UMS9621)

عرض المستودع
9منذ 22 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

spd_dump لنظام macOS

الإنجليزية | الصينية المبسطة

منفذ macOS لأداة الوميض UNISOC (Spreadtrum) BootROM/FDL. مبني على ilyakurdyukov/spreadtrum_flash (MIT)، ويُكمل ما ينقص spd_dump المغلق عبر exec_addr2 (تجاوز التحقق من التوقيع CVE-2022-38694)، وينفّذ السلسلة الكاملة على macOS (arm64 + libusb):

root@kitploit:~
BootROM → CVE 越界写 → FDL1 → FDL2 → GPT 解析 → 分区读写 → reset

منصة التحقق: UMS9621 (T158)، Android 13، kernel 5.15، بنية GKI (init_boot). عناوين عائلة UMS9620 متوافقة؛ بالنسبة لـ SoCs الأخرى انظر التكيف.

البناء

التبعيات: Xcode CLT، brew install libusb.

root@kitploit:~
./scripts/build-macos.sh   # 产出 ./spd_dump

الاستخدام

الدخول إلى وضع التنزيل

في حالة إيقاف التشغيل وفصل الطاقة، اضغط باستمرار على Reset (أو مجموعة المفاتيح المطابقة للطراز) وأدخل USB، فيظهر الجهاز بالمعرّف 1782:4d00. يستجيب BootROM فقط خلال حوالي 20 ثانية بعد التعداد، ثم يصبح صامتًا (USB ما زال متصلًا)؛ يجب أن تعتمد الأتمتة على الحافة الانتقالية للجهاز "من لا يوجد إلى يوجد" (انظر scripts/runner.sh).

تحميل FDL2 وقراءة جدول الأقسام

root@kitploit:~
./spd_dump --wait 3 exec_addr2 0x65017f08 verbose 1 \
    fdl fdl1-dl.bin 0x65000800 \
    fdl fdl2-dl.bin 0xbefffe00 \
    disable_transcode partition_list gpt.xml
المعلمةالوصف
exec_addr2 <addr>تجاوز CVE، يقوم بتحميل custom_exec_no_verify_<addr>.bin تلقائيًا؛

النسخ الاحتياطي

root@kitploit:~
python3 scripts/backup_gen.py gpt.xml backup/ --img-dir data/
./spd_dump --wait 3 verbose 0 disable_transcode $(cat backup_args.txt)

يولّد backup_gen.py تسلسل read_part وفقًا لـ GPT (استئناف بعد انقطاع؛ وحدة size في GPT هي MB)، ويضبط دون اتصال AVB flags=3 لـ vbmeta* (أي ما يعادل verity 0).

الفلاش

root@kitploit:~
python3 scripts/flash_gen.py gpt.xml data/ flash_ops.txt
N=$(grep -c 'write_part\|erase_part' flash_ops.txt)
{ yes yes | head -n $N; sleep 3600; } | ./spd_dump --wait 3 verbose 0 \
    disable_transcode $(cat flash_ops.txt | tr '\n' ' ')

يحتوي flash_gen.py على قواعد أقسام مدمجة (runtimenv يتحول إلى مسح، fixnv/calinv يتم تخطيه، الأسماء المستعارة بدون فتحة تتم إزالة التكرار فيها عبر mtime)، ويضيف في النهاية erase_part userdata + reset.

نقاط البروتوكول

انظر docs/protocol-notes.md:

  • يجب استهلاك الأوامر المخصصة داخل حلقة تحليل الخيارات؛ verbose 1 ينهي تلك الحلقة مبكرًا
  • جلسة FDL2 تبقى حية عبر العمليات: خروج العملية لا ينهي FDL2، ويمكن تنفيذ أوامر الأقسام على دفعات
  • 0x8A (DOWN_SIZE_ERROR) يُستخدم أيضًا من أجل: التنزيل المستقل للعناوين المحمية، كتابة runtimenv، وكتل القراءة الكبيرة جدًا
  • الحد الأقصى لحجم كتلة القراءة أقل من 0xffff، والافتراضي هو 4096
  • قراءة عائلة أقسام NV (nr_fixnv1) عبر العنونة بالاسم تُعلّق الجلسة؛ القواعد في docs/partition-rules.md

التحقق من النسخ الاحتياطي

يتم التحقق من الأقسام الثابتة (dtb وغيرها) بمقارنة md5 مع صور معروفة من نفس الطراز، للتحقق من صحة مسار القراءة.

التكيف مع SoCs الأخرى

العنصرالمصدر
عناوين تحميل fdl1/fdl2XML الخاص بملفات pac الثابتة للجهاز (فك الحزم عبر SPD Research Tool)
CVE blob وعنوان المكدسTomKing062/CVE-2022-38694 soc/<chip>/
صور fdlمستخرجة من البرنامج الثابت الرسمي للجهاز (ترويسة توقيع DHTB)

المراجع

  • ilyakurdyukov/spreadtrum_flash — المنبع (MIT)، src/ يحتوي الكود المصدري للتصحيحات
  • TomKing062/CVE-2022-38694_unlock_bootloader — مبدأ CVE ومواد كل SoC
  • YC-nw/SPRDClientCore — مرجع ثوابت البروتوكول وقواعد الأقسام
  • NCC Group — UNISOC ROM Vulnerabilities

الترخيص المسبق لـ Magisk su على الأجهزة بدون شاشة: docs/headless-magisk-su.md.

عمليات مستوى BootROM تحمل خطر تعطيل الجهاز (brick)؛ قم بالنسخ الاحتياطي أولاً، وتحمّل المخاطر بنفسك (AS IS).

تنزيل الأداة
التنفيذ
fdl <file> <addr>صورة FDL وعنوان تحميل SRAM الخاص بـ SoC
disable_transcodeيجب إرساله مرة واحدة في بداية كل عملية جديدة (الحالة تبقى عبر العمليات)
عنصر التحققالقيمة
الحجممقارنة واحدًا تلو الآخر مع GPT (دقة بالبايت)
boot / init_bootANDROID! @0
vendor_bootVNDRBOOT @0
عائلة vbmetaAVB0 @0، flags @0x78
splloader/trustos/uboot/fdlDHTB @0
supergDla @4096 و @8192 (نسختان هندسيتان)، أول 4K يبقى صفرًا
NVNV (0x4E56) @0 أو @0x200