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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
spidump — أداة لإعادة بناء صور SPI flash عبر عمليات التقاط محلل المنطق | Kitploit
أدوات/GitHubGitHub/wrongbaud/spidump
أمان الأنظمة المدمجةأمان إنترنت الأشياءالهندسة العكسيةالتحقيق الجنائي الرقميالتحاليل الرقمية الجنائيةاختراق الأجهزةأمن الأجهزةالأدوات والمكوناتأمان الأجهزة وإنترنت الأشياءتحليل البرامج الثابتة
GitHub
412منذ 5 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

spidump

أداة لإعادة بناء صور SPI flash عبر عمليات التقاط محلل المنطق

عرض المستودع

spidump — التقاط وإعادة بناء تتبع SPI/QSPI

يقوم spidump بتحليل عمليات الالتقاط من محلل المنطق لجهاز يقرأ ذاكرة SPI/QSPI NOR الوميضية عند الإقلاع ويعيد بناء صورة الذاكرة الوميضية من حركة القراءة — دون الحاجة إلى قراءة الشريحة مباشرة. يتم نمذجة مجموعة أوامر الذاكرة الوميضية باستخدام Scapy، لذا فإن عملية القراءة هي نفس الكائن المنطقي سواء وصلت عبر سلك واحد أو أربعة.

صيغ الالتقاط المدعومة (يتم اكتشافها تلقائيًا عبر الترويسة)

الصيغةالترويسةملاحظات
جدول محلل "SPI" من Saleae Logic 2name,type,start_time,...,mosi,misoصفوف enable/result/disable، result واحد لكل بايت
جدول Saleae الخام لكل بايتTime [s],Packet ID,MOSI,MISOصف واحد لكل بايت، مجمّع حسب Packet ID
تصدير QSPI-AnalyzerTime [s],Packet ID, Transaction State, DATA, Lines Usedآلة حالة: 1=cmd، 2=addr، 3=dummy، 4=data

تقوم إضافة QSPI-Analyzer الخاصة بـ Saleae Logic / KingstVIS بفك ترميز تأطير الوضع الرباعي (مثل 0x6B Fast Read Quad Output، 1-1-4) وهو ما لا يستطيع محلل SPI العادي فعله.

الاستخدام

root@kitploit:~
# Standard single-lane SPI capture (Logic 2 SPI analyzer export)
python main.py examples/bigger-boot.csv -o recovered_flash.bin -v

# Quad SPI capture (QSPI-Analyzer export) — same command, format auto-detected
python main.py big-quad-spi-analyzed-dump.txt -o quad.bin -v

# Merge a single-lane leg (U-Boot) with a quad leg (rootfs) into one image.
# Devices that boot single-lane then switch to QSPI leave each region in a
# different capture; --merge splices them. Reads whose data lane width doesn't
# match the opcode (e.g. quad reads a single-lane analyzer mis-decoded) are
# dropped automatically, so a mixed capture can't poison the result.
python main.py single_lane_boot.csv --merge quad_boot.txt -o full.bin -v

# Raw exports with no chip-select framing (Packet ID constant) are split on
# idle gaps automatically (4x median byte period); override the threshold with
# --gap SECONDS, or --gap 0 to force Packet ID grouping
python main.py raw_boot.csv --gap 2e-6 -o raw.bin -v

# Force a flash size / fill byte if the auto-sizing guesses wrong
python main.py capture.txt --flash-size 0x1000000 --fill 0xFF -o out.bin

يطبع -v الصيغة المكتشفة، ومخططًا هيستوغراميًا للعمليات لكل opcode، وحجم الذاكرة الوميضية المختار، وتغطية القراءة. يتم ملء المناطق غير المقروءة بـ 0xFF (حالة NOR الممسوحة)، لذا فإن المخرجات آمنة لتغذيتها مباشرة إلى binwalk.

كيف يعمل

قراءة الذاكرة الوميضية هي نفس العملية المنطقية بغض النظر عن عرض السلك: opcode، وعنوان، وسلسلة من بايتات البيانات. يقرأ التتبعان أدناه نفس البايتات الأربعة (سحر SquashFS وهو hsqs عند 0x2D0000، مأخوذ من bigger-boot.csv) في الوضع أحادي المسار والوضع الرباعي:

Single-lane SPI 0x03 READ

Quad SPI 0x6B FAST_READ_QUAD_OUT

(أعد التوليد باستخدام python docs/diagrams/mkwave.py؛ يتطلب wavedrom-cli، وrsvg-convert لملفات PNG.)

  1. يحوّل محلل الواجهة الأمامية عملية الالتقاط إلى سجلات قراءة موحّدة {cmd, addr, data, lines}.
  2. تنمذج SPIFlashCmd (Scapy) ترويسة opcode / address / dummy؛ أوامر القراءة (الأحادية والرباعية: 0x03 0x0B 0x6B 0xEB 0x6C 0x0C …) كلها مجرد مدخلات في READ_COMMANDS.
  3. تعيد reconstruct_image تشغيل كل قراءة في bytearray، مع تتبع التغطية.

الإقلاع يقرأ فقط ما يحتاجه، لذا فإن التغطية جزئية بحكم التصميم — تستعيد المناطق التي لمسها الجهاز فعليًا (bootloader، kernel، rootfs المثبّت). بالنسبة لجهاز يُقلع أحادي المسار ثم يتحول إلى الرباعي، التقط كلا المسارين وادمجهما.

تنزيل الأداة