Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2024-56426 — CVE-2024-56426 भेद्यता का एक PoC। | Kitploit
उपकरण/GitHubGitHub/creeeeger/cve-2024-56426
एम्बेडेड सिस्टम सुरक्षाविशेषाधिकार वृद्धिशोषणरिवर्स इंजीनियरिंगमोबाइल सुरक्षाहार्डवेयर सुरक्षापेलोड डेवलपमेंटफर्मवेयर विश्लेषणबाइनरी शोषण
GitHubcreeeeger/cve-2024-56426

CVE-2024-56426

CVE-2024-56426 भेद्यता का एक PoC।

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

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

सभी देखें →

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

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

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

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

Exynos 990 / Exynos9830 यूनिफाइड BootROM एक्सप्लॉइट

Exynos 990 Galaxy S20, S20 FE, और Note20 परिवारों के लिए यूनिफाइड CVE-2024-56426 टूलिंग। यह एक्सप्लॉइट सभी दस मॉडल नामों को स्वीकार करता है और उन्हें छह सत्यापित स्टॉक बूटलोडर परिवारों पर मैप करता है।

[!CAUTION] ट्रैक की गई कुंजी बंडल और जनरेट की गई इमेजें फ्यूज़िंग-सक्षम हैं। फ्यूज़िंग अपरिवर्तनीय है। किसी कुंजी पर फ्यूज़ किया गया फोन केवल उस कुंजी के साथ संगत इमेजें ही बूट कर सकता है। गलत मॉडल, रोलबैक रिवीज़न, पैच सेट, या कुंजी बंडल डिवाइस को फ्यूज़्ड बूट लूप में छोड़ सकता है। पुनरावृत्ति के दौरान डेवलपमेंट कुंजियाँ और UFS पेलोड का उपयोग करें। जब तक कस्टम-कुंजी फ्यूज़िंग स्पष्ट रूप से इच्छित न हो, हर तैयारी/साइनिंग कमांड में --no-fuse जोड़ें।

समर्थित मॉडल

चयनित मॉडल BL1 मॉडल ID और सटीक-मॉडल LK पैच TSV दोनों को नियंत्रित करता है। Runtime artifact नियंत्रित करता है कि प्रीफ्लाइट द्वारा कौन सा स्टॉक फर्मवेयर और एन्क्रिप्टेड स्प्लिट इमेजें उपयोग की जाती हैं। चार गैर-5G फ्लैग जो युग्मित 5G रनटाइम आर्टिफैक्ट्स का उपयोग करते हैं, वे LK के मॉडल-ID चेक और मॉडल-ID प्रोग्रामिंग पथ को भी पैच करते हैं।

मॉडल फ्लैगRuntime artifactRuntime firmwareमॉडल IDEVTरोलबैकपरीक्षण किया गया
G780FG780FG780FXXSOFYJ10x1541124❌
G980FG981BG981BXXSNHYB10x1431123✅
G981BG981BG981BXXSNHYB10x13D1123❌
G985FG986BG986BXXSNHYB10x1421123✅
G986BG986BG986BXXSNHYB10x13C1123✅
G988BG988BG988BXXSNHYB10x13E1123❌
N980FN981BN981BXXSIHYH30x15311

Exynos 990 KVM और EL2 मोड

सभी दस समर्थित Galaxy S20, S20 FE, और Note20 मॉडल फ्लैग में एक ऑप्ट-इन CLI-केवल KVM बूट प्रोफ़ाइल है। Exynos 990 कर्नेल की एक शाखा बनाएं जिसके नाम में kvm हो, और सटीक-मॉडल कमांड में --kvm जोड़ें, उदाहरण के लिए:```bash python3 exploit/exploit.py --build-sboot --model G985F --no-fuse --kvm

root@kitploit:~
यह प्रोफ़ाइल LK H-Arx/UH पथ को हटाती है, EL3 से EL2 पर कर्नेल में प्रवेश करने के लिए कहती है, और मेल खाते
डिक्रिप्टेड/री-एन्क्रिप्टेड EL3 मॉनिटर पैच टेबल को लागू करती है। यह स्टॉक/टैम्पर्ड बूटलोडर
फ्लैश मोड के लिए अनुपलब्ध रहती है। वेब कंट्रोल सेंटर में जानबूझकर कोई KVM नियंत्रण नहीं है। मेल खाते कर्नेल
और [WindowsInQemu](https://github.com/Creeeeger/WindowsInQemu) के साथ, Windows फोन पर QEMU में पूर्ण गति से चल सकता है
KVM के माध्यम से।

## त्वरित आरंभ

हर मोड को एक क्रमांकित इंस्टॉलेशन अनुक्रम के रूप में न मानें। एक लक्ष्य चुनें:

| लक्ष्य                              | पथ                                                                                                                     |
|-----------------------------------|--------------------------------------------------------------------------------------------------------------------------|
| एक हस्ताक्षरित कस्टम ROM स्थापित करें       | सटीक मॉडल/सेटअप → EUB → अस्थायी `--signed --no-fuse` श्रृंखला → ROM का पूर्ण हस्ताक्षरित आउटपुट फ्लैश करें → UFS पहला बूट |
| एक्सप्लॉइट का परीक्षण करें                  | वैकल्पिक `--prepare --no-fuse` → EUB → `--signed --no-fuse` → रुकें                                                       |
| बूट श्रृंखला विकसित करें (केवल CLI) | अस्थायी no-fuse परीक्षण → बिल्ड → उत्पन्न SBoot/TZSW/LDFW फ्लैश करें → UFS                                                   |
| डंप / रिकवरी                       | इसका अलग वर्कफ़्लो और फ़्यूज़-स्थिति जाँच उपयोग करें                                                                           |

`--prepare` एक अनुशंसित ड्राई-रन है, कोई आवश्यक पूर्ववर्ती नहीं: `--signed`
प्रीफ़्लाइट दोहराता है। उत्पन्न तीन-भाग Heimdall कमांड एक बूट-श्रृंखला विकास उपकरण है; यह कस्टम-ROM
फ्लैश नहीं है।

किसी डिवाइस को छूने से पहले [USER_GUIDE.md](https://github.com/creeeeger/cve-2024-56426/blob/exynos990/USER_GUIDE.md) पढ़ें और उसका मेल खाता वर्कफ़्लो चुनें। इसमें
पूर्ण-ROM हैंडऑफ़ के साथ-साथ अनफ़्यूज़्ड, फ़्यूज़्ड और अनिश्चित-स्थिति रिकवरी नियम शामिल हैं।

## वैकल्पिक स्थानीय UI

ब्राउज़र UI केवल Python की मानक लाइब्रेरी का उपयोग करता है और मौजूदा
`exploit/exploit.py` CLI को कॉल करता है। बूट-श्रृंखला विकास और इसका उत्पन्न तीन-भाग Heimdall कमांड टर्मिनल-केवल
उपकरण बने रहते हैं।

इसे रिपॉज़िटरी रूट से प्रारंभ करें:```bash
python3 exynos990_control_center.py

लॉन्चर 127.0.0.1 से बाइंड होता है, एक नया एक्सेस टोकन जनरेट करता है, पूरा लोकल URL प्रिंट करता है, और उसे डिफ़ॉल्ट ब्राउज़र में खोलता है। जब ब्राउज़र को स्वचालित रूप से नहीं खोलना हो तो --no-browser का उपयोग करें:```bash python3 exynos990_control_center.py --no-browser

root@kitploit:~
UI निम्नलिखित प्रदान करता है:

- निर्भरता और रिपॉजिटरी-एसेट के लिए लाल/हरा चेक;
- एक वैश्विक टारगेट-मॉडल विकल्प और ठीक दो फ्यूज़ निर्णय: Stay unfused या Fuse;
- एक वर्कफ़्लो चयनकर्ता जो केवल चयनित वर्कफ़्लो के चरणों को दिखाता और क्रमांकित करता है;
- install-ROM, exploit-test, BootROM-dump, और stock-recovery वर्कफ़्लो;
- एक सटीक-मॉडल tampered-loader क्रिया जो UH को मान्य करती है और उसे Heimdall के साथ BOOTLOADER स्लॉट में फ्लैश करती है ताकि
  EUB में प्रवेश किया जा सके;
- एक स्थायी फ्यूज़ चेतावनी और कॉन्फ़िगर की गई key/eFuse SHA-256 फ़िंगरप्रिंट;
- एक केवल-unfused स्टॉक बूट-चेन रिस्टोर कार्ड जो Fuse चुनने के बाद अनुपलब्ध हो जाता है;
- लाइव प्रोसेस आउटपुट, रद्दीकरण, और प्रति-चरण सत्यापन मार्कर।

यह एक केवल-CLI Exynos 990 KVM सूचना भी दिखाता है, लेकिन जानबूझकर कोई KVM विकल्प उजागर नहीं करता या किसी भी
वेब क्रिया में `--kvm` आगे नहीं भेजता।

USB एक्सेस उस प्रोसेस की अनुमतियों का पालन करता है जिसने कंट्रोल सेंटर लॉन्च किया। इसे शुरू करने से पहले दी गई udev/driver
अनुमतियाँ कॉन्फ़िगर करें। UI विशेषाधिकार क्रेडेंशियल का अनुरोध, धारण, या आगे अग्रेषण नहीं करता। मुद्रित टोकन
URL को निजी रखें और उपयोग के तुरंत बाद सर्वर बंद कर दें।

टर्मिनल उपयोगकर्ता `exynos990_control_center.py` को अनदेखा कर सकते हैं; नीचे दर्ज़ हर CLI कमांड अपरिवर्तित और पूरी तरह
समर्थित रहता है।

## आवश्यकताएँ

Python 3.10 या नया आवश्यक है।

Windows 10/11 (नेटिव PowerShell):```powershell
.\windows\setup.ps1
. .\windows\activate.ps1
python .\exploit\exploit.py --prepare --model G985F --no-fuse

सेटअप एक पिन किया हुआ नेटिव AArch64 टूलचेन, LZ4, Heimdall, और एक रिपॉजिटरी वर्चुअल एनवायरनमेंट इंस्टॉल करता है, फिर सभी पेलोड बनाता है। BootROM WinUSB ड्राइवर एक स्पष्ट Administrator opt-in है क्योंकि इसका अपस्ट्रीम self-signed सर्टिफिकेट मशीन के ट्रस्ट स्टोर को बदल देता है। पूर्ण सेटअप, ड्राइवर इंस्टॉल, Download Mode अंतर, सत्यापन, और समस्या निवारण प्रक्रिया के लिए WINDOWS.md देखें।

Windows सक्रियण के बाद, शेष क्रॉस-प्लेटफ़ॉर्म उदाहरणों में जहाँ python3 दिखाया गया है, वहाँ python का उपयोग करें।

Linux:```bash sudo apt-get update sudo apt-get install -y gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu lz4

root@kitploit:~
macOS:```bash
brew tap messense/macos-cross-toolchains
brew install aarch64-unknown-linux-gnu lz4

रिपॉजिटरी लेआउट

प्रीफ्लाइट

तैयारी, साइनिंग और पेलोड मोड समान मॉडल-जागरूक प्रीफ्लाइट चलाते हैं:

  1. चयनित मॉडल को उसके कैनोनिकल आर्टिफैक्ट परिवार में हल करें।
  2. exploit/extra/images/<model>/ को अछूते एन्क्रिप्टेड स्प्लिट छवियों की साफ प्रति से बदलें।
  3. सख्त स्टॉक-बाइट जाँच के साथ मेल खाते LK TSV को लागू करें। --no-fuse के साथ, पहले पाँच फ्यूज़िंग पंक्तियों को अक्षम करके एक प्रभावी TSV प्रति उत्पन्न करें। --kvm के साथ, kvm चिह्नित LK पंक्तियों को भी सक्षम करें, मेल खाते EL3 मॉनिटर TSV को डिक्रिप्ट और पैच करें, और उसके संरक्षित क्षेत्र को फिर से एन्क्रिप्ट करें।
  4. mem.bin, loader.bin और Exynos990_boot_custom_key.bin बनाएँ।
  5. पुष्टि करें कि EPBL और EL3 मॉनिटर एन्क्रिप्टेड हैं, केवल आवश्यक होने पर फिर से एन्क्रिप्ट करें।
  6. साइन करने से पहले स्टॉक FWBL1 मॉडल/EVT/रोलबैक मेटाडेटा और हर Stage2 रोलबैक फुटर को मान्य करें।
  7. FWBL1 को चयनित मॉडल ID के साथ साइन करें और सभी Stage2 घटकों को स्टॉक रोलबैक संशोधन के साथ साइन करें।
  8. USB स्थानांतरण से पहले हर उत्पन्न Stage2 हस्ताक्षर सत्यापित करें।

प्रक्रिया पहले फर्मवेयर, पैच, मेटाडेटा या हस्ताक्षर बेमेल पर रुक जाती है। यह अपरिवर्तनीय स्रोत निर्देशिकाओं को कभी भी स्थान पर पैच नहीं करता है।

एक्सप्लॉइट मोड

सभी कमांड के लिए --model आवश्यक है।

--no-fuse एक संशोधक है, स्टैंडअलोन मोड नहीं। यह कार्यशील LK को फिर से बनाते समय पाँच पहचाने गए कस्टम-की OTP पंक्तियों को अक्षम करता है। इसे हर उस कमांड के लिए उपयोग करें जो एक अनफ्यूज़्ड डेवलपमेंट चेन तैयार, भेजता या बनाता है। यह मौजूदा फ्यूज़ को पूर्ववत नहीं करता है।

CLI संशोधक को UFS और डंप मोड के साथ स्वीकार करता है क्योंकि वे कमांड भी प्रीफ्लाइट चलाते हैं, लेकिन उनके USB ऑपरेशन पुनर्निर्मित LK को प्रसारित नहीं करते हैं। फोन पर पहले से फ्लैश किया गया LK UFS फ्यूज़ व्यवहार निर्धारित करता है। परिणामस्वरूप, UI जानबूझकर UFS या BootROM डंप मोड के लिए कोई नो-फ्यूज़ नियंत्रण प्रदान नहीं करता है। दोनों बूटलोडर फ्लैश मोड --no-fuse को अस्वीकार करते हैं क्योंकि वे कोई LK पैचिंग या साइनिंग नहीं करते हैं।

--kvm भी एक संशोधक है। इसे हर सटीक-मॉडल वर्कफ़्लो के साथ स्वीकार किया जाता है जो प्रीफ्लाइट चलाता है। TSV में KVM पंक्तियों को तब तक अनदेखा किया जाता है जब तक यह फ़्लैग मौजूद न हो, और ब्राउज़र UI इसे कभी आपूर्ति नहीं करता है।

उदाहरण:```bash python3 exploit/exploit.py --signed --model N986B --no-fuse

root@kitploit:~
USB खोले बिना संबंधित हस्ताक्षरित बूटलोडर उत्पन्न करें:```bash
python3 exploit/exploit.py --build-sboot --model N986B --no-fuse

यह कमांड मॉडल इमेज डायरेक्टरी को साफ स्टॉक इनपुट से पुनर्निर्मित करता है, LK पैच लागू करता है, हर घटक पर हस्ताक्षर करता है और सत्यापित करता है, sboot.bin को मर्ज करता है, एम्बेडेड घटकों और टेल की जाँच करता है, और उसका आकार, SHA-256, और एक Heimdall कमांड प्रिंट करता है जो sboot.bin, हस्ताक्षरित tzsw.img, और हस्ताक्षरित ldfw.img भेजता है।

केवल उस डिवाइस पर जो अनफ्यूज्ड होने के लिए जाना जाता है, चयनित मॉडल के मूल BL tar से सटीक स्टॉक बूट चेन को पुनर्स्थापित करें:```bash python3 exploit/exploit.py --flash-stock --model N986B --wait

root@kitploit:~
यह कमांड केवल `sboot.bin.lz4`, `tzsw.img.lz4`, और `ldfw.img.lz4` निकालता है, उन्हें एक अस्थायी निर्देशिका में डीकंप्रेस करता है, सत्यापित करता है कि तीनों आउटपुट मौजूद हैं और खाली नहीं हैं, और एक Heimdall फ्लैश ऑपरेशन को आमंत्रित करता है। अस्थायी फ़ाइलें बाद में हटा दी जाती हैं। `--no-reboot` और `--verbose` भी समर्थित हैं। फ़ोन पहले से ही Heimdall-संगत डाउनलोड मोड में होना चाहिए, और चयनित मॉडल भौतिक डिवाइस से बिल्कुल मेल खाना चाहिए।

यह Android, AP, modem, CSC, userdata, या एक पूर्ण स्टॉक ROM को पुनर्स्थापित नहीं करता है। इसे कभी भी कस्टम-की-फ्यूज़्ड डिवाइस पर न चलाएँ। ऐसे फ़ोन को सटीक फ्यूज़्ड कुंजी के साथ पुनः हस्ताक्षरित स्टॉक-आधारित सॉफ़्टवेयर की आवश्यकता होती है; कस्टम ट्रस्ट रूट स्थायी रहता है। यदि फ्यूज़ स्थिति अज्ञात है, तो रुकें।

## FRP / PERSISTENT पुनर्स्थापना नोट

> [!CAUTION]
> यह प्रक्रिया केवल उस डिवाइस के लिए है जिसके आप स्वयं मालिक हैं और जिसकी
> सेवा करने के लिए आप अधिकृत हैं। इसे किसी अन्य व्यक्ति के डिवाइस पर उपयोग करना
> सख्त रूप से निषिद्ध है। गलत पार्टीशन पथ स्थायी डेटा हानि का कारण बन सकता है या
> डिवाइस को बूट करने में असमर्थ छोड़ सकता है। कुछ भी लिखने से पहले लक्षित पार्टीशन का बैकअप लें और उसके हल किए गए
> ब्लॉक-डिवाइस पथ और आकार को सत्यापित करें।

यह रिपॉजिटरी फ़ैक्टरी रीसेट प्रोटेक्शन (FRP) को स्वचालित रूप से नहीं हटाता है। उन डिवाइसों पर जो Android के
`PersistentDataBlockService` का उपयोग करते हैं, FRP स्थिति आमतौर पर `PERSISTENT` नामक पार्टीशन में संग्रहीत होती है। देखें
[AOSP कार्यान्वयन](https://android.googlesource.com/platform/frameworks/base/+/bc56632da95b/services/core/java/com/android/server/PersistentDataBlockService.java)।

एक्सप्लॉइट श्रृंखला द्वारा एक कस्टम रिकवरी बूट करने के बाद जो `adb` और
`dd` प्रदान करती है, पार्टीशन की पहचान करें और उसका बैकअप लें। अनुमानित संख्यात्मक ब्लॉक-डिवाइस पथ को प्रतिस्थापित न करें:```bash
adb shell ls -l /dev/block/by-name/PERSISTENT
adb shell dd if=/dev/block/by-name/PERSISTENT of=/tmp/PERSISTENT.backup.img bs=4096
adb pull /tmp/PERSISTENT.backup.img

केवल बैकअप लेने के बाद, पार्टीशन को शून्य करें और Android को एक नई persistent-data-block संरचना आरंभ करने दें:```bash adb shell dd if=/dev/zero of=/dev/block/by-name/persistent reboot

root@kitploit:~
यह विधि परीक्षण की गई है और काम करती है, FRP हटा दिया गया है और डिवाइस अनलॉक हो गया है।

## LK पैच

पैच चयन आर्टिफैक्ट मैपिंग के अनुसार होता है:```text
G780F -> lk_g780f_selected_patches.tsv
G980F -> lk_g980f_selected_patches.tsv  (applied to G981B LK)
G981B -> lk_g981b_selected_patches.tsv
G985F -> lk_g985f_selected_patches.tsv  (applied to G986B LK)
G986B -> lk_g986b_selected_patches.tsv
G988B -> lk_g988b_selected_patches.tsv
N980F -> lk_n980f_selected_patches.tsv  (applied to N981B LK)
N981B -> lk_n981b_selected_patches.tsv
N985F -> lk_n985f_selected_patches.tsv  (applied to N986B LK)
N986B -> lk_n986b_selected_patches.tsv

एक TSV को बदले बिना स्टॉक LK के विरुद्ध मान्य करें:```bash python3 external/tools/apply_lk_patches.py
bootLoaderFiles/sbootSplitParts_original/G986B/lk.bin
external/ghidra/lk_g986b_selected_patches.tsv
--check

root@kitploit:~
`external/ghidra/ApplyLkPatches.java` समान छह-स्तंभ TSV प्रारूप स्वीकार करता है और अब पुराने-बाइट बेमेल पर विफल हो जाता है
बजाय पैच को आँख मूंदकर लागू करने के। जिन पंक्तियों का पहला स्तंभ `kvm` है, उन्हें एक अतिरिक्त `--kvm` स्क्रिप्ट तर्क की आवश्यकता होती है।
पुराने `check_signature` और `check_ext4_signature` रिटर्न-शून्य पंक्तियाँ
प्रोफ़ाइल `0` का उपयोग करती हैं: वे पुराने बायपास स्थानों का दस्तावेज़ीकरण करती हैं लेकिन जानबूझकर लागू नहीं की जाती हैं,
इसलिए निर्मित इमेजों को LK की वास्तविक Samsung हस्ताक्षर जाँचों को संतुष्ट करना चाहिए।

## हस्ताक्षर

`external/tools/sign_sboot_images.py` को एक मॉडल की आवश्यकता होती है और वह मॉडल ID, EVT, और रोलबैक संशोधन को
[model_data.py](https://github.com/creeeeger/cve-2024-56426/blob/exynos990/external/tools/model_data.py) से प्राप्त करता है:```bash
python3 external/tools/sign_sboot_images.py \
  --images-dir exploit/extra/images/G986B \
  --keys-dir external/keys/exynos9830_crecker \
  --model G986B

Stage2 हस्ताक्षर हस्ताक्षर करने के बाद सत्यापित किए जाते हैं। यह टूल ldfw.img या tzsw.img के लिए Samsung AVB मेटाडेटा को पुनर्जीवित नहीं करता है; उन रैपरों के अंदर सुरक्षित-बूट बाइट्स को बदलने के लिए अभी भी लक्ष्य बूट प्रवाह द्वारा उपयोग की जाने वाली अलग AVB नीति की आवश्यकता होती है। एक पूर्ण हस्ताक्षरित ROM को सटीक AVB मॉडल और समान कुंजी बंडल का उपयोग करना चाहिए, फिर उसके पूर्ण जनरेट किए गए पैकेज के साथ फ्लैश किया जाना चाहिए। देखें CreckerROM रिपॉजिटरी और USER_GUIDE.md में इंस्टॉलेशन वर्कफ़्लो।

छेड़छाड़ किए गए लोडर

शामिल किए गए छेड़छाड़ वाले पैकेज sboot.bin.lz4 को छोड़कर हर स्टॉक BL सदस्य को संरक्षित करते हैं। वह सदस्य हटा दिया जाता है और पैकेज का डीकंप्रेस्ड uh.bin को sboot.bin के रूप में संग्रहीत किया जाता है, जो EUB-ट्रिगरिंग लेआउट से मेल खाता है।

UI सीधे संबंधित Heimdall प्रवाह को निष्पादित कर सकता है। यह सटीक भौतिक मॉडल के छेड़छाड़ वाले संग्रह का चयन करता है, सत्यापित करता है कि sboot.bin डीकंप्रेस्ड uh.bin.lz4 के साथ बाइट-समान है, और सत्यापित UH पेलोड को BOOTLOADER स्लॉट में फ्लैश करता है:```bash python3 exploit/exploit.py --flash-tampered --model G986B --wait

root@kitploit:~
यह जानबूझकर सामान्य बूट को रोकता है और अगले बूट को EUB में मजबूर करता है। यह BL tar के शेष सदस्यों को फ्लैश नहीं करता है।

एक पैकेज को इसके साथ पुनः उत्पन्न करें:```bash
python3 external/tools/build_tampered_loader.py \
  bootLoaderFiles/originalBl/G986B/BL_G986BXXSNHYB1.tar \
  bootLoaderFiles/tamperedLoader/G986B/BL_G986BXXSNHYB1_tampered.tar

उपयोग करें सटीक भौतिक मॉडल का छेड़छाड़ किया हुआ लोडर जब उसका निर्देशिका मौजूद हो। युग्मित रनटाइम मैपिंग लागू होती है एक्सप्लॉइट प्रीफ्लाइट और साइनिंग पर, न कि संग्रहीत स्टॉक/छेड़छाड़ किए गए BL पैकेज चयन पर।

ध्यान रखें कि यदि आपने डिवाइस को फ्यूज़ किया है, तो आपको अपने BOOTLOADER स्लॉट में एक साइन किया हुआ uh.bin फ्लैश करना होगा, क्योंकि स्टॉक uh वर्तमान में गलत कुंजी के साथ साइन किया गया है।

विश्लेषण उपकरण

विभाजित और विलय:```bash python3 exploit/split.py sboot.bin -o /tmp/G986B-splits python3 exploit/merge.py /tmp/G986B-splits

root@kitploit:~
स्टैंडअलोन मर्जर को parts डायरेक्टरी में `tzsw.img` और `ldfw.img` की आवश्यकता होती है और यह संबंधित तीन-भाग वाला
Heimdall कमांड प्रिंट करता है। उस कमांड का उपयोग केवल तभी करें जब वे दोनों इमेज पहले से चयनित मॉडल के लिए साइन की गई हों;
`--build-sboot` उस साइनिंग को स्वचालित रूप से निष्पादित और सत्यापित करता है।

व्यक्तिगत LDFW रिकॉर्ड निकालें:```bash
python3 external/tools/extract_ldfw.py ldfw.img -o LDFWs

प्रदान किया गया स्प्लिट लेआउट हर कैननिकल स्टॉक sboot.bin को बाइट-दर-बाइट पुनर्निर्मित करता है। EPBL और EL3 मॉनिटर डिक्रिप्ट/री-एन्क्रिप्ट भी सभी फर्मवेयर परिवारों के लिए बाइट-दर-बाइट राउंड-ट्रिप करते हैं जब EPBL हेडर अपरिवर्तित छोड़ दिया जाता है।

पेलोड संगतता

सभी समर्थित फोन एक ही Exynos 990 BootROM साझा करते हैं। पेलोड सामान्य BootROM एंट्री पॉइंट्स और IRAM पते का उपयोग करते हैं न कि मॉडल-विशिष्ट LK ऑफसेट का। उत्पन्न बाइनरी इन एंट्री पॉइंट्स पर रिज़ॉल्व होते हैं:

मॉडल-विशिष्ट व्यवहार LK TSV, FWBL1 मॉडल ID, और स्टॉक रोलबैक रिवीज़न तक सीमित है।

इमेज लेआउट

क्रेडिट और एट्रिब्यूशन

  • Chimera Tool: इस एक्सप्लॉइट की सबसे पहली ज्ञात खोज और व्यावहारिक उपयोग, लगभग 2021–2022।
  • Samsung का CVE-2024-56426 सलाह: इस प्रोजेक्ट द्वारा उपयोग की गई भेद्यता का दस्तावेज़ीकरण करता है।
  • Christopher Wade: CVE-2024-56426 को Samsung को रिपोर्ट किया।
  • Umer Uddin (halal-beef), के माध्यम से halal-beef/hubble: exploit/exploit.py द्वारा उपयोग किया गया बैकएंड कोड; SoC लेआउट जो exploit/split.py और exploit/merge.py द्वारा उपयोग किया जाता है; और run_exploit(), जो एड्रेस/ओवरराइट ऑपरेशन लागू करता है।
  • VDavid003 (David), के माध्यम से VDavid003/exynos-usbdl: वह पेलोड स्केलेटन जिससे Exynos990 कस्टम-की पेलोड व्युत्पन्न किया गया था।
टूल डाउनलोड करें
18
❌
N981BN981BN981BXXSIHYH30x14E1118❌
N985FN986BN986BXXSIHYH30x1521118❌
N986BN986BN986BXXSIHYH30x14D1118❌
पथउद्देश्य
bootLoaderFiles/originalBl/<model>/सभी दस मॉडलों के लिए साफ सटीक-मॉडल BL_<firmware>.tar पैकेज।
bootLoaderFiles/sbootSplitParts_original/<model>/अछूते सटीक-मॉडल एन्क्रिप्टेड SBoot स्प्लिट, ldfw.img, tzsw.img, मैनिफेस्ट और टेल।
bootLoaderFiles/exynos9830Decrypted/<model>/सटीक-मॉडल डिक्रिप्टेड EPBL, EL3, TZSW और LDFW विश्लेषण फ़ाइलें।
bootLoaderFiles/tamperedLoader/<model>/सटीक-मॉडल EUB-ट्रिगरिंग BL पैकेज।
bootLoaderFiles/MODEL_COMPARISON.mdसटीक-बनाम-युग्मित फर्मवेयर तुलना और पैच संगतता नोट्स।
bootLoaderFiles/exynos990Bootrom/साझा Exynos 990 BootROM डंप।
bootromNotes/साझा BootROM फ्लो और USB संदर्भ नोट्स।
drivers/windows/winusb/BootROM/EUB 04e8:1234 के लिए पिन किया गया Houston WinUSB पैकेज।
windows/नेटिव Windows सेटअप, पर्यावरण सक्रियण और हैश-जांच ड्राइवर इंस्टॉलर।
exploit/extra/images/<model>/डिस्पोज़ेबल मॉडल-विशिष्ट प्रीफ्लाइट आउटपुट।
external/ghidra/सटीक-मॉडल LK और KVM EL3 TSV के साथ-साथ Ghidra पैच स्क्रिप्ट।
external/decompiled_G985F/केवल-G985F डीकंपाइल्ड संदर्भ फ़ाइलें।
exynos990reverseEng_G985F/केवल-G985F Ghidra प्रोजेक्ट।
external/keys/exynos9830_crecker/साझा कस्टम-की बंडल।
exploit/exploit.pyस्थिर CLI प्रवेश बिंदु और वर्कफ़्लो समन्वयक।
exploit/build_payloads.pyक्रॉस-प्लेटफ़ॉर्म नेटिव पेलोड बिल्डर जो Windows, Linux और macOS पर प्रीफ्लाइट द्वारा उपयोग किया जाता है।
exploit/preflight.pyकार्यशील-छवि तैयारी, LK पैचिंग, साइनिंग और मर्ज सत्यापन।
exploit/usb_transport.pyPyUSB फ्रेमिंग, डिवाइस खोज, ओवरराइट और डंप ट्रांसपोर्ट।
exploit/tampered_loader.pyसटीक-मॉडल UH निष्कर्षण, टैम्पर्ड-लोडर सत्यापन और Heimdall EUB फ्लैश।
exploit/stock_restore.pyसटीक-मॉडल स्टॉक आर्काइव निष्कर्षण और Heimdall कमांड निर्माण।
control_center/ब्राउज़र बैकएंड क्रियाएँ, निर्भरता जाँच, जॉब और HTTP API।
external/tools/*_crypto.pyसाझा EPBL/EL3 AES और ECDSA एन्कोडिंग/हस्ताक्षर प्राइमिटिव।
मोडउद्देश्य
--prepareUSB खोले बिना प्रीफ्लाइट चलाएँ।
--build-sbootप्रीफ्लाइट चलाएँ और मॉडल इमेज निर्देशिका में सत्यापित हस्ताक्षरित sboot.bin बनाएँ।
--signedEUB से कस्टम-की पेलोड और हस्ताक्षरित बूट चेन भेजें।
--ufsloader.bin के साथ UFS बूट पथ शुरू करें।
--dumpmem.bin चलाएँ और BootROM के 0x20000 बाइट डंप करें।
--flash-tamperedसटीक-मॉडल UH मान्य करें और EUB को बाध्य करने के लिए इसे BOOTLOADER पर फ्लैश करें।
--flash-stockमूल BL tar से सटीक-मॉडल स्टॉक SBoot, TZSW और LDFW निकालें और फ्लैश करें।
छविकस्टम हस्ताक्षर कुंजी
fwbl1.imgBL1 निजी कुंजी प्लस Stage2 TEE/REE सार्वजनिक ब्लॉब्स
epbl.img, el3_mon.imgStage2 TEE
bl2.img, lk.binStage2 REE
ldfw.img, tzsw.imgStage2 TEE, आंतरिक और बाहरी Stage2 फुटर
पेलोडएक्सप्लॉइट जंपलिंक्ड एंट्री
mem.bin0x020220100x02022010
loader.bin0x020220100x02022010
Exynos990_boot_custom_key.bin0x02022000पोज़िशन-इंडिपेंडेंट स्टेज 1
भागप्रारंभअंत
fwbl1.img0x0000000x003000
epbl.img0x0030000x016000
bl2.img0x0160000x082000
lk.bin0x0DB0000x35B000
el3_mon.img0x35B0000x39B000
स्टेजलोड पता
BL10x02022000
EPBL0x02026000
BL20x15600000
LK0xE8000000
EL3 मॉनिटर0xBFE80000