(28-12-2021, 08:42 PM)Venom كتب : لدراسة مثل هذه الحماية تحتاج إلي استخدام نظام Windows ويفضل أن يكون XP، لكن إذا كان النظام Vista أو Windows 7 فيجب أن يكون بدون التحديث KB3086255؛ لإنه يوقف عمل هذه الحماية لأسباب أمنية، بالإضافة إلي استخدام DAEMON Tools أو Alcohol 120% لمحاكاة صورة من القرص المدمج الخاص باللعبة كي تستطيع تنقيحها بشكل سليم
استعملت Windows 7 x86 Lite إصدار خفيف خالي من الإضافات والتحديثات، وحسب ما قرأت إن اللعبة لا تعمل على ويندوز 8 وما فوق لإنه يتم حظر الدرايفر SecDRV.sys الموجود بالقرص الأول..
Alcohol 120% أعلم إنه يستخدم لعمل صورة لقرص اللعبة ولدي صورة "ISO" لكل قرص من القرصين الخاصين باللعبة.
بالنسبة للحماية فهناك ملفين
ما توصلت إليه
generals.exe 73KB مطلق خاص لمحرك اللعبة لايمكن إطلاق محرك اللعبة game.dat بدونه، جزء كبير منه مشفر .
game.dat ~5MB وهو ملف تنفيذي ومحرك اللعبة الاساسي وهو غير محمي وغير مشفر ولا يحتاج للتعديل عليه .
generals.exe عند تشغيله ينشئ مكتب df394b.tmp بمجلد المؤقتات Temp ثم ينفذ الدالة WaitForSingleObject ولكن في حال إلغاء هذه العملية مثلما ذكرت سينفذ بعض عمليات المقارنة والقفزات لينتهي بقفزة لعنوان نقطة الدخول الأصلية OEP وهي نفس عنوان نقطة البداية في الاصدار المكرك لكن البيانات مختلفة لانه لم يفك التشفير بعد وسيحدث Terminater
المكتبة مسؤولة على التحقق من المنقح Anti-Debug وهو من السهل تخطيه بمجرد وضع نفطة توقف على IsDebuggerPresent
وبدء التتبع وتغيير القفزات بدءا من مكان استدعاء IsDebuggerPresent حتى ثاني تعليمة ارجاع RET ستنفذ.
تقوم المكتبة بالتحقق من جميع الأقراص الموجودة وما هي طبيعتها عبر دوال ك GetDriverType وترجع 3 في حال كان وسائط يمكن إزالتها وإن لم يكن هناك تخرج رسالة إدخال القرص الأول .
إن وجد، تقوم بالتحقق من وجود ملف 256.00000000 في مجلد اللعبة ولم استطع معرفة دور هذا الملف ثم عن وجود ملف 00000001.TMP بالقرص وحجمه 2KB و اظن ان فيه مفتاح فك التشفير وهو من المفترض أن يكون بقطاع خاص sector تشير اليه اللعبة بعنوان ان وجد سيتم إظهار رسالة يتم التحميل لكن ظهر لي رسالة ادخل القرص لاتوقف عند هذه المرحلة.
معظم الشروحات القليلة المتوفرة على هذه الحماية تتكلم عن المرحلة بعد فك تشفير اي من المفترض وجود القرص الاصلي ولم ارى احد يتكلم فيها عن عملية فك التشفير.
( وَفِىٓ أَنفُسِكُمْ ۚ أَفَلَا تُبْصِرُونَ )