
أداة x86 تعمل على المعدن العاري لتفريغ الذاكرة الفعلية (RAM) مباشرةً إلى القرص. تم بناؤها واختبارها لتجارب هجوم الإقلاع البارد (Cold Boot Attack) على الذاكرة المجمدة.
أداة بسيطة تعمل على المعدن العاري (bare-metal) لمعمارية x86، صُممت للإقلاع من قرص/USB وتفريغ ذاكرة الوصول العشوائي (RAM) للنظام مباشرةً إلى وسيط الإقلاع. تعتمد هذه الأداة على مقاطعات BIOS للإقلاع وتنفيذ عمليات القرص، وتدخل إلى الوضع غير الحقيقي (unreal mode) للوصول إلى الذاكرة فوق حاجز 1 ميجابايت.
طُوّرت هذه الأداة أصلاً واختُبرت بنجاح لتجربة هجمات الإقلاع البارد. من خلال تجميد ذاكرة الوصول العشوائي للابتوب (حتى -60 درجة مئوية) وإعادة الإقلاع بسرعة من محرك USB يحتوي على هذه الأداة، يمكن تفريغ محتويات الذاكرة المجمّدة إلى القرص قبل أن تتحلل البيانات، مما يسمح باستخراج معلومات حساسة مثل مفاتيح التشفير.
INT 0x15 E820 لاكتشاف مناطق RAM الصالحة وتجنب تفريغ الذاكرة المحجوزة أو الذاكرة المعينة للإدخال/الإخراج (memory-mapped I/O).INT 0x13 AH=0x43 (الكتابة الموسعة) لكتابة محتويات الذاكرة مباشرةً إلى محرك الإقلاع ابتداءً من القطاع LBA 64.stage1.asm هو قطاع إقلاع بحجم 512 بايت. يقوم بتهيئة سجلات القطاعات، وإعداد المكدس، واستخدام القراءة الموسعة (INT 0x13 AH=0x42) لتحميل stage2 من القطاع LBA 1 إلى الذاكرة في العنوان 0x8000. ثم يقفز إلى 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 (مثلاً باستخدام dd على Linux/macOS، أو Rufus / Win32DiskImager على Windows).
sudo dd if=boot.bin of=/dev/sdX bs=512