
एक बेयर-मेटल x86 उपयोगिता जो भौतिक RAM को सीधे डिस्क पर डंप करती है। फ्रोजन मेमोरी पर कोल्ड बूट अटैक प्रयोगों के लिए बनाया और परीक्षण किया गया।
एक सरल x86 बेयर-मेटल टूल जिसे डिस्क/USB से बूट करने और सिस्टम की रैम को सीधे बूटिंग मीडियम पर डंप करने के लिए डिज़ाइन किया गया है। यह बूट और डिस्क ऑपरेशन के लिए BIOS इंटरप्ट पर निर्भर करता है, और 1MB बैरियर से ऊपर की मेमोरी तक पहुँचने के लिए अनरियल मोड में प्रवेश करता है।
यह टूल मूल रूप से कोल्ड बूट अटैक के प्रयोग के लिए विकसित और सफलतापूर्वक परीक्षण किया गया था। लैपटॉप की रैम को फ्रीज करके (-60°C तक) और इस टूल वाली USB ड्राइव से जल्दी से रीबूट करके, डेटा क्षय होने से पहले फ्रोजन मेमोरी सामग्री को डिस्क पर डंप करना संभव है, जिससे एन्क्रिप्शन कुंजियों जैसी संवेदनशील जानकारी निकाली जा सकती है।
INT 0x15 E820 का उपयोग करता है।INT 0x13 AH=0x43 (एक्सटेंडेड राइट) का उपयोग करता है।stage1.asm एक 512-बाइट बूट सेक्टर है। यह सेगमेंट रजिस्टरों को इनिशियलाइज़ करता है, स्टैक सेट करता है, और LBA 1 से stage2 को मेमोरी में 0x8000 पर लोड करने के लिए एक्सटेंडेड रीड (INT 0x13 AH=0x42) का उपयोग करता है। फिर यह stage2 पर जाता है।stage2.asm मुख्य लॉजिक निष्पादित करता है:
INT 0x15 E820 का उपयोग करके मेमोरी मैप प्राप्त करता है।0x90000) में कॉपी किया जा सके।यह टूल सेक्टर 64 से शुरू करके बूट ड्राइव पर सीधे रॉ डेटा लिखता है! यदि आप इसे किसी महत्वपूर्ण डेटा वाली USB ड्राइव पर लिखते हैं, तो RAM डंप LBA 64 और उससे आगे की सामग्री को ओवरराइट कर देगा। इस उद्देश्य के लिए एक समर्पित, खाली USB फ्लैश ड्राइव का उपयोग करें।
इस प्रोजेक्ट को कंपाइल करने के लिए आपको NASM स्थापित होना चाहिए।
Windows पर, प्रदान की गई बिल्ड स्क्रिप्ट चलाएँ:
build.bat
Linux पर, आप चला सकते हैं:
nasm -f bin stage1.asm -o stage1.bin
nasm -f bin stage2.asm -o stage2.bin
cat stage1.bin stage2.bin > boot.bin
boot.bin उत्पन्न करने के लिए प्रोजेक्ट बनाएँ।boot.bin को USB ड्राइव पर लिखें (उदाहरण के लिए Linux/macOS पर dd का उपयोग करके, या Windows पर Rufus / Win32DiskImager)।
sudo dd if=boot.bin of=/dev/sdX bs=512