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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
wake-and-break — AMD navi31 (RX 7900) GPU के लिए PSP exploit जो firmware signature जाँचों को अक्षम कर देता है ताकि कार्ड अहस्ताक्षरित SMU, SDMA, MEC, IMU और RLC firmware लोड कर सके; cold boot के बाद यह स्थायी नहीं रहता। | Kitploit
उपकरण/GitHubGitHub/blasty/wake-and-break
एम्बेडेड सिस्टम सुरक्षाविशेषाधिकार वृद्धिशोषणरिवर्स इंजीनियरिंगहार्डवेयर हैकिंगहार्डवेयर सुरक्षापेपर और शोधफर्मवेयर विश्लेषण
GitHubblasty/wake-and-break

wake-and-break

AMD navi31 (RX 7900) GPU के लिए PSP exploit जो firmware signature जाँचों को अक्षम कर देता है ताकि कार्ड अहस्ताक्षरित SMU, SDMA, MEC, IMU और RLC firmware लोड कर सके; cold boot के बाद यह स्थायी नहीं रहता।

6172 दिन पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें

Wake and Break

Wake and Break

AMD navi31 कार्ड (RX 7900 श्रृंखला) के लिए एक PSP (Platform Security Processor) एक्सप्लॉइट। संभवतः अन्य निकटवर्ती उत्पाद परिवारों के लिए भी अनुकूलनीय है।

यह PSP के फर्मवेयर हस्ताक्षर जाँच को बंद कर देता है, इसलिए कार्ड अहस्ताक्षरित IP फर्मवेयर (SMU, SDMA, MEC, IMU, RLC) लोड करेगा जिसे वह अन्यथा मना कर देता। कस्टम पावर मैनेजमेंट, क्लॉक सीमाओं, या वेंडर द्वारा हस्ताक्षरित और आपके द्वारा नहीं, ऐसे फर्मवेयर में रहने वाली किसी भी अन्य चीज़ के बारे में सोचें।

कुछ भी फ्लैश नहीं किया जाता। पैच PSP मेमोरी में रहता है और वार्म बूट के दौरान लागू होता है; कोल्ड पावर साइकल इसे मिटा देता है और कार्ड फिर स्टॉक हो जाता है। वह वार्म बूट ही "Wake and Break" है: कार्ड जागता है, हम उसे तुरंत बहुत ऊँचा होने के लिए मना लेते हैं और उसे हस्ताक्षर जाँच को निष्क्रिय करने के लिए मजबूर करते हैं। :-)

RX 7900 XTX पर कार्ड-परीक्षित। देखें Status।

आपको क्या मिलता है

python3 wakebreak.py 25=/path/to/firmware.bin

यह पैच लगाता है, कार्ड को वार्म-बूट करता है, और आपकी इमेज को फर्मवेयर टाइप 25 के रूप में सबमिट करता है। यदि यह accepted प्रिंट करता है, तो PSP ने एक ऐसी इमेज स्वीकार कर ली है जिसे वह सामान्यतः अस्वीकार कर देता।

इसे आज़माने के लिए कुछ चाहिए? ipfw_images.py उस फर्मवेयर की सूची बनाता है जिसे आपका ड्राइवर वास्तव में लोड करता है और एक टेस्ट पेयर लिखता है — एक असली इमेज और एक कॉपी जिसके सिग्नेचर में एक बिट फ़्लिप किया गया है, ताकि फर्मवेयर स्वयं बाइट-दर-बाइट समान रहे:

python3 ipfw_images.py             # what does this card load?
python3 ipfw_images.py 25          # -> /tmp/fw_25_{ok,bad}.bin
python3 wakebreak.py 25=/tmp/fw_25_bad.bin

स्टॉक फर्मवेयर fw_25_bad.bin को अस्वीकार करता है। पैच लागू होने पर इसे स्वीकार कर लिया जाता है। यही पूरा प्रदर्शन है।

सेटअप

python3 -m venv venv
venv/bin/pip install -r requirements.txt
make verify          # are the shipped artifacts intact?
make selftest        # offline sanity checks, no card touched

आपको एक Linux होस्ट चाहिए जिसमें कार्ड tinygrad के AMD ड्राइवर (PCIe या उसके USB ब्रिज) के माध्यम से पहुँच योग्य हो। अपने होस्ट के लिए आवश्यक एक tinygrad पैच के लिए requirements.txt देखें।

आपके पास कौन सा कार्ड है?

navi31 के चार ज्ञात फर्मवेयर बिल्ड हैं, और पैच को उनसे मेल खाना चाहिए। प्रोफ़ाइल a डिफ़ॉल्ट है और सबसे सामान्य बिल्ड को कवर करती है। यदि आपके पास अपने कार्ड की SPI फ़्लैश का डंप है, तो identify.py आपको बताएगा:

python3 identify.py FLASH.bin
# -> sos-build c: wakebreak.py --sos-build c

अन्यथा बस उन्हें आज़माएँ। गलत अनुमान लगाना हानिरहित है: पैच यह जाँचता है कि वह क्या संशोधित करने वाला है, कोई ऐसी चीज़ पाता है जिसे वह नहीं पहचानता, कुछ भी नहीं लिखता, और कार्ड सामान्य रूप से बूट हो जाता है।

python3 wakebreak.py --sos-build c 25=/tmp/fw_25_bad.bin

स्थिति

परीक्षण किए गए कार्ड (RX 7900 XTX, प्रोफ़ाइल a) पर पुष्टि की गई:

छेड़छाड़ किया गया फ़र्मवेयर, स्टॉक कार्डअस्वीकृत
छेड़छाड़ किया गया फ़र्मवेयर, पैच किया गयास्वीकृत
कोल्ड पावर साइकल के बादफिर से अस्वीकृत — कार्ड स्टॉक है

नोट: प्रोफ़ाइल b, c और d बनाए और ऑफ़लाइन जाँचे गए हैं, लेकिन हार्डवेयर पर कभी नहीं चलाए गए हैं। यदि आपके पास प्रोफ़ाइल b, c या d से मेल खाने वाला कार्ड है, तो कृपया बताएँ कि यह काम करता है या नहीं!

पुनर्निर्माण

पैच स्वयं hook/*.S में ARM असेंबली के कुछ सौ बाइट्स है। निर्मित ब्लॉब्स रेपो के साथ भेजे जाते हैं, इसलिए इसका उपयोग करने के लिए आपको क्रॉस कंपाइलर की आवश्यकता नहीं है। यदि आप फिर भी उन्हें पुनर्निर्माण करना चाहते हैं:

make rebuild                                  # needs arm-none-eabi binutils
make rebuild CROSS=/path/to/arm-none-eabi-

बिल्ड ऐसी किसी भी चीज़ को इंस्टॉल करने से इनकार कर देता है जिसका हैश उन बाइट्स से मेल नहीं खाता जिन्हें किसी कार्ड पर परीक्षण किया गया था, इसलिए कोई भिन्न टूलचेन चुपचाप यह नहीं बदल सकता कि आपके PSP पर क्या लिखा जाता है।

इसमें क्या है

wakebreak.py        the exploit
identify.py       which --sos-build does this card need?
ipfw_images.py    build a signed/tampered firmware pair to test with
selftest.py       offline checks
hook/             the patch: ARM sources and built blobs
firmware/         two stock AMD firmware images the exploit needs to get in

firmware/ में असंशोधित, सार्वजनिक रूप से जारी किए गए AMD इमेज हैं। ये पुराने संस्करण हैं, जिन्हें इसलिए रखा गया है क्योंकि इन्हीं के माध्यम से अंदर जाने का रास्ता बनता है।

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

यहाँ जानबूझकर शामिल नहीं किया गया: कोड पढ़ें। wakebreak.py लगभग 600 टिप्पणी-युक्त पंक्तियाँ हैं और टिप्पणियाँ तंत्र, सुरक्षा जाँचों और यह क्यों हर चरण का क्रम इसी तरह है, यह समझाती हैं। TL;DR: दो स्टॉक AMD ट्रस्टेड एप्लिकेशन लोड किए जाते हैं, उनमें से एक को ऐसी चेन चलाने के लिए मनाया जाता है जो PSP मेमोरी लिख सके, पैच को बूटलोडर की निवासी प्रति में रखा जाता है, और फिर कार्ड को उसमें वार्म-बूट किया जाता है।

लाइसेंस

MIT, देखें LICENSE। इसके साथ जो चाहें करें।

अस्वीकरण

इस कार्य को तैयार करने में भारी LLM सहायता का उपयोग किया गया था। इसका मतलब यह नहीं है कि लेखक को इस बात की कोई जानकारी नहीं है कि यहाँ वास्तव में क्या हो रहा है। यहाँ तक पहुँचने के लिए भी बहुत सारे विरोध और मैन्युअल काम शामिल थे। आपको ये स्लॉप्ड पायथन आर्टिफैक्ट्स या जो भी हो पसंद न आएँ, लेकिन आप इस तथ्य से बहस नहीं कर पाएँगे कि आपका Navi31 कार्ड अब अचानक अहस्ताक्षरित फर्मवेयर कंपोनेंट ब्लॉब्स लोड करता है। ध्यान देने के लिए धन्यवाद।

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