حل التمرين BLACKSPACE #02 - نسخة قابلة للطباعة +- الفريق العربي للهندسة العكسية (https://www.at4re.net/f) +-- قسم : منتديات الهندسة العكسية - Reverse Engineering Forums (https://www.at4re.net/f/forum-4.html) +--- قسم : الهندسة العكسية المتقدمة - Advanced RCE (https://www.at4re.net/f/forum-26.html) +--- الموضوع : حل التمرين BLACKSPACE #02 (/thread-2488.html) |
حل التمرين BLACKSPACE #02 - YANiS - 24-01-2021 السلام عليكم و رحمة الله شرح سريع للتمرين BlackSpace #02: https://www.at4re.net/f/thread-2435.html - التمرين مبني على آلية محاولة كشف البيئة التي يتم تشغيله فيها، اعتمادا على جلب معلومات المعالج. - المعلومات التي نحاول جلبها هي قيمة البت رقم 31. - حسب التوثيق قيمة البت رقم 31 هي دائما صفر في الأجهزة "الحقيقية" و واحد في الأجهزة "لافتراضية". - لجلب المعلومات نستعمل الــ OPCODE المسمى CPUID اختصار لـ CPU Identification. مراحل العملية (لاحظ الصورة) : 01 يمثل تمرير القيمة 1 للـ EAX يمكننا من تحديد ما نريده من معلومات، في حالتنا (EAX=1 (Processor Info and Feature Bits 02 تمثل وضع الــ OPCODE المسمى CPUID و النتيجة سوف تكون في ECX. 03 باعتماد الأمر TEST نلاحظ في الــ FLAGS ان العلم SF يحمل القيمة 0 او 1 (حالة الجهاز الحقيقي تكون القيمة 0 و في حالة الجهاز الافتراضي تكون القيمة 1) الحل: بما المطلوب في التمرين كان اظهار رسالة النجاح دون التعديل عليه و طبعا عند تشغيل التمرين في الجهاز الحقيقي يظهر رسالة الفشل، بعد فهم ما يجري يكفي تشعيله في الجهاز الافتراضي لكي يظهر رسالة النجاح... ملاحظة: بالنسبة للبرنامج VMWare فهو يتيح لنا التعديل على الاعدادات (ملف vmx) لتخطي الآلية التي تعتمد على البت رقم 31 و جعله دائما صفر. يكفي اضافة هذا السطر:
RE: حل التمرين BLACKSPACE #02 - ashrafonlinenow - 24-01-2021 نتمنى ان يكون هناك المزيد مثل هذا الشرح البسيط لتعم الفائده و بدون تحميل مرفقات RE: حل التمرين BLACKSPACE #02 - the9am3 - 24-01-2021 بارك الله فيك اخي Yanis على تحديات وحلولها الله يعطيك الصحة والعافيه باانتظار تمارين فك ضغط unpackme |