Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
spidump — लॉजिक एनालाइज़र कैप्चर के माध्यम से SPI फ्लैश इमेज पुनर्निर्मित करने के लिए टूल | Kitploit
उपकरण/GitHubGitHub/wrongbaud/spidump
एम्बेडेड सिस्टम सुरक्षाIoT सुरक्षारिवर्स इंजीनियरिंगफोरेंसिकडिजिटल फोरेंसिकहार्डवेयर हैकिंगहार्डवेयर सुरक्षाउपयोगिताएँ और फ्रेमवर्कहार्डवेयर और IoT सुरक्षाफर्मवेयर विश्लेषण
GitHub
495 दिन पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
wrongbaud/spidump

spidump

लॉजिक एनालाइज़र कैप्चर के माध्यम से SPI फ्लैश इमेज पुनर्निर्मित करने के लिए टूल

रिपॉजिटरी देखें

spidump — SPI/QSPI ट्रेस कैप्चर और पुनर्निर्माण

spidump बूट के समय SPI/QSPI NOR फ्लैश पढ़ने वाले डिवाइस के लॉजिक-एनालाइज़र कैप्चर को पार्स करता है और रीड ट्रैफ़िक से फ्लैश इमेज का पुनर्निर्माण करता है — सीधे चिप रीड की आवश्यकता नहीं। फ्लैश कमांड सेट को Scapy के साथ मॉडल किया गया है, इसलिए एक रीड ट्रांज़ैक्शन वही लॉजिकल ऑब्जेक्ट है चाहे वह एक वायर पर आया हो या चार पर।

समर्थित कैप्चर फ़ॉर्मेट (हेडर द्वारा स्वतः-पहचान)

फ़ॉर्मेटहेडरनोट्स
Saleae Logic 2 "SPI" एनालाइज़र टेबलname,type,start_time,...,mosi,misoenable/result/disable पंक्तियाँ, प्रति बाइट एक result
Saleae रॉ प्रति-बाइट टेबलTime [s],Packet ID,MOSI,MISOप्रति बाइट एक पंक्ति, Packet ID द्वारा समूहीकृत
QSPI-Analyzer एक्सपोर्टTime [s],Packet ID, Transaction State, DATA, Lines Usedस्टेट मशीन: 1=cmd, 2=addr, 3=dummy, 4=data

Saleae Logic / KingstVIS के लिए QSPI-Analyzer प्लगइन क्वाड-मोड फ़्रेमिंग डिकोड करता है (जैसे 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 पहचाने गए फ़ॉर्मेट, प्रति-ओपकोड ट्रांज़ैक्शन हिस्टोग्राम, चुने गए फ्लैश आकार, और रीड कवरेज को प्रिंट करता है। बिना पढ़े गए क्षेत्र 0xFF (मिटाई गई-NOR स्थिति) से भरे जाते हैं, इसलिए आउटपुट को सीधे binwalk में देने के लिए सुरक्षित है।

यह कैसे काम करता है

फ्लैश रीड वायर चौड़ाई की परवाह किए बिना वही लॉजिकल ट्रांज़ैक्शन है: एक ओपकोड, एक पता, और डेटा बाइट्स की एक श्रृंखला। नीचे दिए गए दो ट्रेस समान चार बाइट्स पढ़ते हैं (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, और PNGs के लिए rsvg-convert चाहिए।)

  1. एक फ्रंट-एंड पार्सर कैप्चर को सामान्यीकृत रीड रिकॉर्ड {cmd, addr, data, lines} में बदलता है।
  2. SPIFlashCmd (Scapy) ओपकोड / पता / डमी हेडर को मॉडल करता है; रीड ओपकोड (सिंगल और क्वाड: 0x03 0x0B 0x6B 0xEB 0x6C 0x0C …) सभी बस READ_COMMANDS में प्रविष्टियाँ हैं।
  3. reconstruct_image प्रत्येक रीड को एक bytearray में रीप्ले करता है, कवरेज को ट्रैक करता है।

एक बूट केवल वही पढ़ता है जिसकी उसे आवश्यकता होती है, इसलिए कवरेज डिज़ाइन से आंशिक होती है — आप उन क्षेत्रों को पुनः प्राप्त करते हैं जिन्हें डिवाइस ने वास्तव में छुआ (बूटलोडर, कर्नेल, माउंटेड रूटफ़्स)। जो डिवाइस सिंगल-लेन बूट करता है फिर क्वाड पर स्विच करता है, उसके लिए दोनों लेग कैप्चर करें और उन्हें स्प्लाइस करें।

टूल डाउनलोड करें