حل لمشكل عدم تعرف النظام على مسار بعض البرامج بسبب فيروس

الناقل : elmasry | الكاتب الأصلى : djug | المصدر : www.arabteam2000-forum.com

السلام عليكم



موضوعنا اليوم يخص رسالة خطأ عادة ما تظهر لدى الإصابة بفيروس أو حتى بعد الإصابة به إذا لم يقم مضاد الفيروسات الذي تستعمله بكامل عمله

رسالة الخطأ هذه هي التالية

و التي مفادها أن النظام لا يستطيع إيجاد البرنامج الذي تود تشغيله

تظهر هذه الرسالة لدى تشغيل أحد مضادات الفيروسات أو أحد برامج النظام مثل Regedit taskMgrو غيرهما

الخدعة التي تستعملها الفيروسات هي جعل بعض البرامج تشتغل في وضع التنقيح Debug

و ذلك بـإنشاء مفتاح جديد في مسجل النظام في التشعب التالي يحمل اسم البرنامج المراد إيقافه

  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

و من ثم إنشاء قيمة تحت هذا المفتاح تحمل اسم debugger و يكون محتواها هو مسار البرنامج الذي سيلعب دور المنقح



أول جيل من الفيروسات التي تستعمل هذه التقنية كانت تضع مسار نسخة من الفيروس في هذه القيمة و بالتالي فإنه في كل مرة تود تشغيل إحدى البرامج المذكورة فوق فإن الفيروس هو الذي يشتغل محلها

هذا الأمر جعل القضاء على الفيروس سهلا نسبيا و ذلك بمجرد البحث في الـ registry عن جميع القيم التي تحوي اسم و/أو مسار الفيروس و من ثم حذفها

مما دفع بمبرمجي الفيروسات إلى انتهاج أسلوب آخر و هو استبدال مسار الفيروس بمسار برنامج موجود في النظام و بالأخص البرامج التي لا واجهة رسومية لها (services) مما يصعب على المستخدم العادي اكتشاف أن المفتاح من وضع فيروس و ليس من وضع النظام

مثل:

 %windir%\system32\dllcache\


حتى و إن تفطن المستخدم إلى الحيلة فإنه يصعب عليه حل المشكل بحكم أنه لا يستطيع تشغيل الـ RegEdit



كيف الحل إذا؟

أولا يجب "تحرير" الـ regedit و ذلك بإنشاء ملف registry (ملف نصي عادي امتداده reg بدل txt) يكون محتواه على النحو التالي:


 Windows Registry Editor Version 5.00
 
       
 
   [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\REGEDIT.EXE]


لاحظ جيدا وجود - قبل HKEY

احفظ الملف وليكن اسمه على سبيل المثال clrRE.reg

الآن يجب إضافة محتوى الملف إلى المسجل و ذلك بكتابة الأمر التالي في نافذة الـ dos

 Reg import RegistryFilePath\RegistryFile.reg




RegistryFilePath تمثل مسار المجلد الذي يتواجد فيه الملف الذي أنشأناه قبل قليل

أي إذا كان الملف موجودا في جذر القرص c نكتب إذا

Reg import c:\clrRE.reg




الآن يمكننا الدخول إلى regedit

يبقى علينا تنظيف باقي المفاتيح الموجودة في الشجيرة HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

من القيم الضارة

لكن عادة ما تكون عدد المفاتيح الواجب حذفها كثيرا قد يصل أو يتجاوز 50 مفتاحا



و عليه نقوم بالتالي

نقوم بحفظ نسخة من الشجيرة الخاصة بالمسار المذكور فوق

نقتح الملف الناتج باستعمال notepad



الآن اضغط على ctrl+h تظهر لك نافذة البحث و الاستبدال

ضع في الخانة الأولى المسار الموجود في القيم debugger (لنفرض أن المسار هو C:\WINDOWS\system32\dllcache\)

و اترك الخانة الثانية فارغة

قم بتنفيذ التغيير و احفظ التغييرات الحاصلة في الملف

الآن ارجع إلى regedit و قم بحذف الشجيرة
  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options


بعد ذلك قم يإضافة محتوى الملف السابق إلى الـ registry (يكفي عمل doubleClick على الملف فقط)



الآن جرب فتح أي برنامج لم تكن تستطيع فتحه من قبل لترى أن الأمور رجعت إلى نصابها



بقيت نقطة واحدة لضمان نجاح كل هذه الخطوات و هي الدعاء بظهر الغيب لكاتب الموضوع :D
 
ملف مرفق(ملفات)
 
ملف مرفق  ImageFileExecution.rar (1.13ميجا بايت )