تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
حل التمرين BLACKSPACE #02
#1
السلام عليكم و رحمة الله

شرح سريع للتمرين 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)
 
[صورة مرفقة: OUM0NxN.png]


الحل:
بما المطلوب في التمرين كان اظهار رسالة النجاح دون التعديل عليه و طبعا عند تشغيل التمرين في الجهاز الحقيقي يظهر رسالة الفشل، بعد فهم ما يجري يكفي تشعيله في الجهاز الافتراضي لكي يظهر رسالة النجاح...

ملاحظة:
بالنسبة للبرنامج VMWare فهو يتيح لنا التعديل على الاعدادات (ملف vmx) لتخطي الآلية التي تعتمد على البت رقم 31 و جعله دائما صفر.

يكفي اضافة هذا السطر:
cpuid.1.ecx="0---:----:----:----:----:----:----:----"
software analysis addict
أعضاء أعجبوا بهذه المشاركة : TeRcO , mohamad , Polia , PowerUser , Cyperior , Sanad-Rizeq , ashrafonlinenow , siddigss , the9am3 , hesham , farfes , sitifis , xdvb_dz , soukdok , Gu-sung18
#2
نتمنى ان يكون هناك المزيد مثل هذا الشرح البسيط لتعم الفائده و بدون تحميل مرفقات
 Th3-R3p4ck3r
أعضاء أعجبوا بهذه المشاركة : YANiS , soukdok
#3
بارك الله فيك اخي Yanis على تحديات وحلولها الله يعطيك الصحة والعافيه باانتظار تمارين فك ضغط  unpackme
أعضاء أعجبوا بهذه المشاركة : YANiS , hesham


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم