Translated ['todo/hardware-hacking/spi.md'] to in

This commit is contained in:
Translator 2024-04-08 14:17:10 +00:00
parent c24f4cd38b
commit f9410ea32a
5 changed files with 43 additions and 22 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

View file

@ -1,37 +1,58 @@
# SPI
<details>
<summary><strong>ानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
<summary><strong>ीरो से हीरो तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
HackTricks का समर्थन करने के अन्य तरीके:
* अगर आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
* अगर आप अपनी कंपनी की **विज्ञापनित करना चाहते हैं HackTricks** या **HackTricks को PDF में डाउनलोड करना चाहत हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** पर फॉलो करें 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** को PRs जमा करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें द्वारा PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
</details>
## मौलिक जानकारी
# मूल जानकारी
SPI (सीरियल पेरिफेरल इंटरफेस) एक सिंक्रोनस सीरियल संचार प्रोटोकॉल है जो एम्बेडेड सिस्टम में उपयोग किया जाता है छोटी दूरी की संचार के लिए आईसी (एकीकृत परिपथ) के बीच। SPI संचार प्रोटोकॉल मास्टर-स्लेव वास्तुकला का उपयोग करता है जिसे घड़ी और चिप सिलेक्ट सिग्नल द्वारा निर्देशित किया जाता है। मास्टर-स्लेव वास्तुकला में एक मास्टर (सामान्यतः एक माइक्रोप्रोसेसर) होता है जो बाह्य पेरिफेरल्स को प्रबंधित करता है जैसे EEPROM, सेंसर, नियंत्रण उपकरण आदि जो स्लेव के रूप में माना जाता है।
SPI (सीरियल पेरिफेरल इंटरफेस) एक सिंक्रोनस सीरियल संचार प्रोटोकॉल है जो एम्बेडेड सिस्टम में उपयोग किया जाता है छोटी दूरी की संचार के लिए आईसी (एकीकृत परिपथ) के बीच। SPI संचार प्रोटोकॉल मास्टर-स्लेव वास्तुकला का उपयोग करता है जिसे घड़ी और चिप सिलेक्ट सिग्नल द्वारा निर्देशित किया जाता है। मास्टर-स्लेव वास्तुकला में एक मास्टर (सामान्यत: एक माइक्रोप्रोसेसर) होता है जो बाह्य पेरिफेरल्स को प्रबंधित करता है जैसे EEPROM, सेंसर, नियंत्रण उपकरण आदि जो स्लेव के रूप में माना जाता है
एक मास्टर के साथ कई स्लेव्स कनेक्ट किए जा सकते हैं लेकिन स्लेव्स एक-दूसरे के साथ संवाद नहीं कर सकते। स्लेव्स को दो पिन्स द्वारा प्रशासित किया जाता है, घड़ी और चिप सिलेक्ट। SPI एक सिंक्रोनस संचार प्रोटोकॉल होने के कारण, इनपुट और आउटपुट पिन्स घड़ी सिग्नल का पालन करते हैं। चिप सिलेक्ट का उपयोग मास्टर द्वारा एक स्लेव का चयन करने और उसके साथ संवाद करने के लिए किया जाता है। जब चिप सिलेक्ट ऊंचा होता है, तो स्लेव उपकरण का चयन नहीं होता है जबकि जब यह नीचा होता है, तो चिप का चयन किया गया होता है और मास्टर स्लेव के साथ संवाद करेगा
एक मास्टर के साथ कई स्लेव्स कनेक्ट किए जा सकते हैं लेकिन स्लेव्स एक-दूसरे से संवाद नहीं कर सकते। स्लेव्स को दो पिन्स द्वारा प्रशासित किया जाता है, क्लॉक और चिप सिलेक्ट। SPI एक सिंक्रोनस संचार प्रोटोकॉल होने के कारण, इनपुट और आउटपुट पिन्स क्लॉक सिग्नल का पालन करते हैं। चिप सिलेक्ट का उपयोग मास्टर द्वारा एक स्लेव का चयन करने और उसके साथ संवाद करने के लिए किया जाता है। जब चिप सिलेक्ट ऊंचा होता है, तो स्लेव उपकरण का चयन नहीं होता है जबकि जब यह नीचा होता है, तो चिप का चयन किया गया होता है और मास्टर स्लेव के साथ संवाद करेगा
MOSI (मास्टर आउट, स्लेव इन) और MISO (मास्टर इन, स्लेव आउट) डेटा भेजने और प्राप्त करने के लिए जिम्मेदार हैं। डेटा स्लेव उपकरण को MOSI पिन के माध्यम से भेजा जाता है जबकि चिप सिलेक्ट नीचे रखा जाता है। इनपुट डेटा में निर्देशिका, मेमोरी पते या डेटा शामिल होता है जैसा कि स्लेव उपकरण वेंडर के डेटाशीट के अनुसार होता है। एक वैध इनपुट के बाद, MISO पिन डेटा को मास्टर को भेजने के लिए जिम्मेदार होता है। आउटपुट डेटा इनपुट समाप्त होने के बाद अगले घड़ी साइकिल पर ठीक भेजा जाता है। MISO पिन डेटा भेजता है जब तक डेटा पूरी तरह से ट्रांसमिटर नहीं होता या मास्टर चिप सिलेक्ट पिन को ऊंचा नहीं कर देता (उस मामले में, स्लेव ट्रांसमिटर करना बंद कर देगा और मास्टर उस घड़ी साइकिल के बाद सुनने वाला नहीं होगा)
MOSI (मास्टर आउट, स्लेव इन) और MISO (मास्टर इन, स्लेव आउट) डेटा भेजने और प्राप्त करने के लिए जिम्मेदार हैं। डेटा MOSI पिन के माध्यम से स्लेव उपकरण को भेजा जाता है जबकि चिप सिलेक्ट नीचे रखा जाता है। इनपुट डेटा में निर्देश, मेमोरी पते या डेटा शामिल होता है जैसा कि स्लेव उपकरण वेंडर के डेटाशीट के अनुसार होता है। एक वैध इनपुट पर, MISO पिन मास्टर को डेटा भेजने के लिए जिम्मेदार होता है। आउटपुट डेटा इनपुट समाप्त होने के बाद अगले क्लॉक साइकिल पर ठीक भेजा जाता है। MISO पिन डेटा भेजता है जब तक डेटा पूरी तरह से ट्रांसमिटर नहीं होता या मास्टर चिप सिलेक्ट पिन को ऊंचा नहीं कर देता (उस मामले में, स्लेव ट्रांसमिट करना बंद कर देगा और मास्टर उस क्लॉक साइकिल के बाद सुनने वाला नहीं होगा)।
## EEPROMs से फर्मवेयर डंप करना
# डंप फ्लैश
फर्मवेयर को डंप करना फर्मवेयर का विश्लेषण करने और उनमें दुर्बलताएँ खोजने के लिए उपयोगी हो सकता है। अक्सर समय ऐसा होता है कि फर्मवेयर इंटरनेट पर उपलब्ध नहीं होता है या मॉडल नंबर, संस्करण आदि जैसे कई कारकों के विभिन्नताओं के कारण अमान्य होता है। इसलिए, फिजिकल डिवाइस से सीधे फर्मवेयर निकालना खतरों की खोज के लिए विशेष हो सकता है।
## बस पाइरेट + फ्लैशरोम
सीरियल कंसोल प्राप्त करना उपयोगी हो सकता है, लेकिन अक्सर समय ऐसा होता है कि फ़ाइलें केवल पढ़ने योग्य होती हैं। इसके कई कारणों के कारण विश्लेषण को प्रतिबंधित किया जाता है। उदाहरण के लिए, जिन टूल्स की आवश्यकता होती हैं जो पैकेज भेजने और प्राप्त करने के लिए आवश्यक होते हैं, वे फर्मवेयर में नहीं होते हैं। इसलिए, बाइनरी को उलटा इंजीनियर करने के लिए बाइनरीज को निकालना संभव नहीं होता है। इसलिए, पूरे फर्मवेयर को सिस्टम पर डंप करना और विश्लेषण के लिए बाइनरीज को निकालना बहुत ही उपयोगी हो सकता है।
![](<../../.gitbook/assets/image (201).png>)
इसके अलावा, रेड रीमिंग और डिवाइसेस को फिजिकल एक्सेस प्राप्त करने के दौरान, फर्मवेयर को डंप करना फाइलों को संशोधित करने या दुर्भाग्यपूर्ण फ़ाइलें इंजेक्ट करने में मदद कर सकता है और फिर उन्हें मेमोरी में फिर से फ्लैश करना उपयोगी हो सकता है डिवाइस में एक बैकडोर डालने के लिए। इसलिए, फर्मवेयर डंप करने के साथ अनेक संभावनाएं खोल सकती हैं।
ध्यान दें कि यदि पाइरेट बस का पिनआउट **MOSI** और **MISO** के लिए पिन दिखाता है तो कुछ SPIs में पिन्स को DI और DO के रूप में दिखाया जा सकता है। **MOSI -> DI, MISO -> DO**
### CH341A EEPROM प्रोग्रामर और रीडर
![](<../../.gitbook/assets/image (648) (1) (1).png>)
यह डिवाइस EEPROMs से फर्मवेयर को डंप करने और उन्हें फर्मवेयर फ़ाइलों के साथ फिर से फ्लैश करने के लिए एक सस्ता उपकरण है। यह कंप्यूटर BIOS चिप्स (जो केवल EEPROMs होते हैं) के साथ काम करने के लिए एक लोकप्रिय विकल्प रहा है। यह डिवाइस USB के माध्यम से कनेक्ट होता है और शुरू होने के लिए न्यूनतम उपकरणों की आवश्यकता होती है। इसके अलावा, यह आम तौर पर कार्य को तेजी से पूरा कर लेता है, इसलिए यह भौतिक डिवाइस एक्सेस में भी मददगार हो सकता है।
Windows या Linux में आप [**`flashrom`**](https://www.flashrom.org/Flashrom) प्रोग्राम का उपयोग करके फ्लैश मेमोरी की सामग्री डंप कर सकते हैं कुछ इस प्रकार कुछ चला कर:
<img src="../../.gitbook/assets/board_image_ch341a.jpg" alt="drawing" width="400" align="center"/>
CH341a प्रोग्रामर के साथ EEPROM मेमोरी को कनेक्ट करें और डिवाइस को कंप्यूटर में प्लग करें। यदि डिवाइस को पहचाना नहीं जा रहा है, तो कंप्यूटर में ड्राइवर इंस्टॉल करने का प्रयास करें। इसके अलावा, सुनिश्चित करें कि EEPROM सही ओरिएंटेशन में कनेक्ट है (सामान्यतः, VCC पिन को USB कनेक्टर के उलट ओर
```
binwalk -e <filename>
```
फ़ाइलनाम .bin या .rom हो सकता है टूल्स और कॉन्फ़िगरेशन के अनुसार।
{% hint style="danger" %} ध्यान दें कि फर्मवेयर निकालना एक संवेदनशील प्रक्रिया है और इसमें बहुत धैर्य की आवश्यकता है। किसी भी गलती से फर्मवेयर को क्षति पहुंच सकती है या फिर पूरी तरह से मिटा सकती है और उपकरण का उपयोग असंभव बना सकती है। सिफ़र निकालने का प्रयास करने से पहले विशिष्ट उपकरण का अध्ययन करना सुझाव दिया जाता है। {% endhint %}
### बस पाइरेट + फ्लैशरोम
![](<../../.gitbook/assets/image (907).png>)
ध्यान दें कि यदि पाइरेट बस का पिनआउट **MOSI** और **MISO** को SPI से कनेक्ट करने के लिए पिन दिखाता है तो कुछ SPI पिन को DI और DO के रूप में दिखा सकता है। **MOSI -> DI, MISO -> DO**
![](<../../.gitbook/assets/image (357).png>)
Windows या Linux में आप [**`flashrom`**](https://www.flashrom.org/Flashrom) प्रोग्राम का उपयोग करके फ्लैश मेमोरी की सामग्री डंप करने के लिए कुछ इस प्रकार का कुछ चला सकते हैं:
```bash
# In this command we are indicating:
# -VV Verbose
@ -42,14 +63,14 @@ flashrom -VV -c "W25Q64.V" -p buspirate_spi:dev=COM3 -r flash_content.img
```
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
दूसरे तरीके HackTricks का समर्थन करने के लिए:
HackTricks का समर्थन करने के अन्य तरीके:
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहत हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** पर फॉलो करें 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
* अगर आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके
</details>