30-09-2010, 02:55 AM
يقدم هذا التحديث إدخال تسجيل جديد، وهو CWDIllegalInDllSearch يسمح للمستخدمين بالتحكم في لوغاريتم مسار بحث DLL. يستخدم لوغاريتم مسار بحث DLL بواسطة واجهتي برمجة التطبيقات LoadLibrary وLoadLibraryEx عندما يتم تحميل ملفات DLL دون تحديد مسار مؤهل بالكامل.
يسمح التحديث للمسؤول بتعريف ما يلي على أساس كل تطبيق أو على مستوى النظام:
إزالة دليل العمل الحالي من مسار بحث المكتبة.
منع التطبيق من تحميل مكتبة من موقع WebDAV.
منع التطبيق من تحميل مكتبة من WebDAV بالإضافة إلى موقع UNC بعيد.
عودة إلى الأعلى
معلومات أخرى
هام يحتوي هذا القسم أو الطريقة أو المهمة على الخطوات التي توضح كيفية تعديل السجل. ومع ذلك، قد تحدث مشكلات خطيرة في حالة تعديل السجل بطريقة غير صحيحة. ولذلك، يجب التأكد من اتباع الخطوات التالية بعناية. للحماية الإضافية، قم بعمل نسخة احتياطية من السجل قبل تعديله. يمكنك بعد ذلك استعادة السجل في حالة حدوث أية مشكلة. لمزيد من المعلومات حول كيفية عمل نسخة احتياطية من السجل واستعادته، انقر فوق رقم المقالة التالي لعرضها في "قاعدة معارف Microsoft" (قد تحتوي هذه المقالة على ارتباطات إلى محتوى باللغة الإنجليزية (محتوى لم تتم ترجمته بعد)):
322756 كيفية عمل نسخة احتياطية من السجل واستعادته في نظام التشغيل Windows XP
عودة إلى الأعلى
كيفية عمل إدخال التسجيل CWDIllegalInDllSearch
عندما يحمّل أحد التطبيقات DLL ديناميكيًا دون تحديد مسار مؤهل بالكامل، يحاول Windows تحديد موقع DLL هذا بالبحث من خلال مجموعة محددة جيدًا من الدلائل. وتُعرف هذه مجموعات الدلائل هذه بأنها مسار بحث DLL. وبمجرد أن يحدد Windows موقع DLL بأحد الدلائل، سيحمّل Windows ملف DLL. فإذا لم يعثر Windows على DLL في أيٍ من الدلائل الموجودة بترتيب بحث DLL، فسوف يعرض Windows فشلاً لعملية تحميل DLL.
تستخدم الوظيفتان LoadLibrary وLoadLibraryEx لتحميل ملفات DLL ديناميكيًا. فيما يلي ترتيب بحث DLL لهاتين الوظيفتين:
الدليل الذي يتم تحميل التطبيق منه
دليل النظام
دليل نظام 16 بت
دليل Windows
دليل العمل الحالي (CWD)
الدلائل المسرودة في متغير بيئة PATH
يتيح إدخال التسجيل CWDIllegalInDllSearch المقدّم مؤخرًا لمسؤولي الكمبيوتر تعديل سلوك لوغاريتم مسار بحث DLL المستخدم بواسطة كلٍ من LoadLibrary وLoadLibraryEx. وقد يتيح إدخال التسجيل هذا إمكانية تخطي بعض أنواع الدلائل.
يمكن إضافة إدخال التسجيل CWDIllegalInDllSearch في المسار التالي:
لاستخدام إدخال التسجيل هذا لكافة التطبيقات الموجودة على الكمبيوتر:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
لاستخدام إدخال التسجيل هذا لتطبيق محدد على الكمبيوتر:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\<application binary name>
يسمح إدخال تسجيل كل تطبيق دائمًا بتجاوز إعداد على مستوى النظام. يسمح ذلك بتعيين إعداد على مستوى النظام بشكل مقيد. بعد ذلك يمكن تعيين إعداد التطبيق لأي تطبيق من التطبيقات التي لا تعمل بشكل صحيح مع إعداد على مستوى النظام.
على سبيل المثال يمكن للمسؤول منع تحميل DLL من WebDAV وSMB من خلال تعيين إعداد على مستوى النظام إلى 2، وبالتالي يمكن تغيير السلوك لتطبيق معين يتطلب هذا السلوك، من خلال تعيين "خيار تنفيذ ملف الصورة" إلى 0 أو إلى 1.
تعمل قيمة إدخال التسجيل CWDIllegalInDllSearch على تعديل سلوك LoadLibrary وLoadLibraryEx كالتالي.
السيناريو 1: يبدأ التطبيق من مجلد محلي، مثل C:\Program Files
قيمة CWDIllegalInDllSearch طبيعة مسار بحث DLL في كلٍ من LoadLibrary وLoadLibraryEx
0xFFFFFFFF إزالة دليل العمل الحالي من ترتيب بحث DLL الافتراضي
0 استخدام مسار بحث DLL الافتراضي المذكور سابقًا
1 يمنع تحميل DLL من دليل العمل الحالي في حالة تعيين الأخير على مجلد WebDAV
2 يمنع تحميل DLL من دليل العمل الحالي في حالة تعيين الأخير إلى مجلد بعيد (مثل موقع WebDAV أو UNC)
دون مفتاح أو قيم أخرى استخدام مسار بحث DLL الافتراضي المذكور سابقًا
السيناريو 2: يبدأ التطبيق من مجلد بعيد مثل \\remote\shareremote\share
قيمة CWDIllegalInDllSearch طبيعة مسار بحث DLL في كلٍ من LoadLibrary وLoadLibraryEx
0xFFFFFFFF إزالة دليل العمل الحالي من ترتيب بحث DLL الافتراضي
0 استخدام مسار بحث DLL الافتراضي المذكور سابقًا
1 يمنع تحميل DLL من دليل العمل الحالي في حالة تعيين الأخير على مجلد WebDAV
2 يسمح بتحميل DLL من دليل العمل الحالي في حالة تعيين الأخير إلى مجلد بعيد (مثل موقع WebDAV أو UNC).
دون مفتاح أو قيم أخرى استخدام مسار بحث DLL الافتراضي المذكور سابقًا
السيناريو الثالث: يبدأ التطبيق من مجلد WebDav، مثل http://remote/share)
قيمة CWDIllegalInDllSearch طبيعة مسار بحث DLL في كلٍ من LoadLibrary وLoadLibraryEx
0xFFFFFFFF إزالة دليل العمل الحالي من ترتيب بحث DLL الافتراضي
دون مفتاح أو قيم أخرى استخدام مسار بحث DLL الافتراضي المذكور سابقًا
عودة إلى الأعلى
أمثلة
مثال 1: كيفية تعطيل تحميل ملفات DLL من مشاركة WebDAV لكافة التطبيقات المثبتة على الكمبيوتر المحلي
قم بتسجيل الدخول إلى جهاز الكمبيوتر كمسؤول.
افتح "محرر التسجيل".
حدد موقع مفتاح التسجيل الفرعي التالي، ثم انقر فوقه:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
انقر بزر الماوس الأيمن فوق إدارة جلسات العمل، وأشر إلى جديد، ثم انقر فوق قيمة Dword.
اكتب CWDIllegalInDllSearch، ثم انقر فوق تعديل.
في المربع بيانات القيمة، اكتب 1، ثم انقر فوق موافق.
المثال 2: كيفية تعطيل تحميل ملفات DLL من مشاركة WebDAV لتطبيق محدد مثبت على الكمبيوتر المحلي فقط
قم بتسجيل الدخول إلى جهاز الكمبيوتر كمسؤول.
افتح "محرر التسجيل".
حدد موقع مفتاح التسجيل الفرعي التالي، ثم انقر فوقه:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\<application binary name>
إذا لم يوجد مفتاح بالاسم الثنائي للتطبيق، فعليك إنشاء واحد.
انقر بزر الماوس الأيمن فوق <الاسم الثنائي للتطبيق>، أشر إلى جديد، ثم انقر فوق قيمة Dword.
اكتب CWDIllegalInDllSearch، ثم انقر فوق تعديل.
في المربع بيانات القيمة، اكتب 1، ثم انقر فوق موافق.
المثال 3: كيفية تعطيل تحميل ملفات DLL من مشاركة (SMB) لتطبيق محدد مثبت على الكمبيوتر المحلي فقط
قم بتسجيل الدخول إلى جهاز الكمبيوتر كمسؤول.
افتح "محرر التسجيل".
حدد موقع مفتاح التسجيل الفرعي التالي، ثم انقر فوقه:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\<application binary name>
إذا لم يوجد مفتاح بالاسم الثنائي للتطبيق، فعليك إنشاء واحد.
انقر بزر الماوس الأيمن فوق <الاسم الثنائي للتطبيق>، أشر إلى جديد، ثم انقر فوق قيمة Dword.
اكتب CWDIllegalInDllSearch، ثم انقر فوق تعديل.
في المربع بيانات القيمة، اكتب 2، ثم انقر فوق موافق.
المصدر:
http://support.microsoft.com/?scid=kb;ar...7&x=11&y=9
Hotfix Windows 7 (64-bit):
http://download.microsoft.com/download/D...07-x64.msu
Hotfix Windows 7 (32-bit):
http://download.microsoft.com/download/C...07-x86.msu
يسمح التحديث للمسؤول بتعريف ما يلي على أساس كل تطبيق أو على مستوى النظام:
إزالة دليل العمل الحالي من مسار بحث المكتبة.
منع التطبيق من تحميل مكتبة من موقع WebDAV.
منع التطبيق من تحميل مكتبة من WebDAV بالإضافة إلى موقع UNC بعيد.
عودة إلى الأعلى
معلومات أخرى
هام يحتوي هذا القسم أو الطريقة أو المهمة على الخطوات التي توضح كيفية تعديل السجل. ومع ذلك، قد تحدث مشكلات خطيرة في حالة تعديل السجل بطريقة غير صحيحة. ولذلك، يجب التأكد من اتباع الخطوات التالية بعناية. للحماية الإضافية، قم بعمل نسخة احتياطية من السجل قبل تعديله. يمكنك بعد ذلك استعادة السجل في حالة حدوث أية مشكلة. لمزيد من المعلومات حول كيفية عمل نسخة احتياطية من السجل واستعادته، انقر فوق رقم المقالة التالي لعرضها في "قاعدة معارف Microsoft" (قد تحتوي هذه المقالة على ارتباطات إلى محتوى باللغة الإنجليزية (محتوى لم تتم ترجمته بعد)):
322756 كيفية عمل نسخة احتياطية من السجل واستعادته في نظام التشغيل Windows XP
عودة إلى الأعلى
كيفية عمل إدخال التسجيل CWDIllegalInDllSearch
عندما يحمّل أحد التطبيقات DLL ديناميكيًا دون تحديد مسار مؤهل بالكامل، يحاول Windows تحديد موقع DLL هذا بالبحث من خلال مجموعة محددة جيدًا من الدلائل. وتُعرف هذه مجموعات الدلائل هذه بأنها مسار بحث DLL. وبمجرد أن يحدد Windows موقع DLL بأحد الدلائل، سيحمّل Windows ملف DLL. فإذا لم يعثر Windows على DLL في أيٍ من الدلائل الموجودة بترتيب بحث DLL، فسوف يعرض Windows فشلاً لعملية تحميل DLL.
تستخدم الوظيفتان LoadLibrary وLoadLibraryEx لتحميل ملفات DLL ديناميكيًا. فيما يلي ترتيب بحث DLL لهاتين الوظيفتين:
الدليل الذي يتم تحميل التطبيق منه
دليل النظام
دليل نظام 16 بت
دليل Windows
دليل العمل الحالي (CWD)
الدلائل المسرودة في متغير بيئة PATH
يتيح إدخال التسجيل CWDIllegalInDllSearch المقدّم مؤخرًا لمسؤولي الكمبيوتر تعديل سلوك لوغاريتم مسار بحث DLL المستخدم بواسطة كلٍ من LoadLibrary وLoadLibraryEx. وقد يتيح إدخال التسجيل هذا إمكانية تخطي بعض أنواع الدلائل.
يمكن إضافة إدخال التسجيل CWDIllegalInDllSearch في المسار التالي:
لاستخدام إدخال التسجيل هذا لكافة التطبيقات الموجودة على الكمبيوتر:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
لاستخدام إدخال التسجيل هذا لتطبيق محدد على الكمبيوتر:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\<application binary name>
يسمح إدخال تسجيل كل تطبيق دائمًا بتجاوز إعداد على مستوى النظام. يسمح ذلك بتعيين إعداد على مستوى النظام بشكل مقيد. بعد ذلك يمكن تعيين إعداد التطبيق لأي تطبيق من التطبيقات التي لا تعمل بشكل صحيح مع إعداد على مستوى النظام.
على سبيل المثال يمكن للمسؤول منع تحميل DLL من WebDAV وSMB من خلال تعيين إعداد على مستوى النظام إلى 2، وبالتالي يمكن تغيير السلوك لتطبيق معين يتطلب هذا السلوك، من خلال تعيين "خيار تنفيذ ملف الصورة" إلى 0 أو إلى 1.
تعمل قيمة إدخال التسجيل CWDIllegalInDllSearch على تعديل سلوك LoadLibrary وLoadLibraryEx كالتالي.
السيناريو 1: يبدأ التطبيق من مجلد محلي، مثل C:\Program Files
قيمة CWDIllegalInDllSearch طبيعة مسار بحث DLL في كلٍ من LoadLibrary وLoadLibraryEx
0xFFFFFFFF إزالة دليل العمل الحالي من ترتيب بحث DLL الافتراضي
0 استخدام مسار بحث DLL الافتراضي المذكور سابقًا
1 يمنع تحميل DLL من دليل العمل الحالي في حالة تعيين الأخير على مجلد WebDAV
2 يمنع تحميل DLL من دليل العمل الحالي في حالة تعيين الأخير إلى مجلد بعيد (مثل موقع WebDAV أو UNC)
دون مفتاح أو قيم أخرى استخدام مسار بحث DLL الافتراضي المذكور سابقًا
السيناريو 2: يبدأ التطبيق من مجلد بعيد مثل \\remote\shareremote\share
قيمة CWDIllegalInDllSearch طبيعة مسار بحث DLL في كلٍ من LoadLibrary وLoadLibraryEx
0xFFFFFFFF إزالة دليل العمل الحالي من ترتيب بحث DLL الافتراضي
0 استخدام مسار بحث DLL الافتراضي المذكور سابقًا
1 يمنع تحميل DLL من دليل العمل الحالي في حالة تعيين الأخير على مجلد WebDAV
2 يسمح بتحميل DLL من دليل العمل الحالي في حالة تعيين الأخير إلى مجلد بعيد (مثل موقع WebDAV أو UNC).
دون مفتاح أو قيم أخرى استخدام مسار بحث DLL الافتراضي المذكور سابقًا
السيناريو الثالث: يبدأ التطبيق من مجلد WebDav، مثل http://remote/share)
قيمة CWDIllegalInDllSearch طبيعة مسار بحث DLL في كلٍ من LoadLibrary وLoadLibraryEx
0xFFFFFFFF إزالة دليل العمل الحالي من ترتيب بحث DLL الافتراضي
دون مفتاح أو قيم أخرى استخدام مسار بحث DLL الافتراضي المذكور سابقًا
عودة إلى الأعلى
أمثلة
مثال 1: كيفية تعطيل تحميل ملفات DLL من مشاركة WebDAV لكافة التطبيقات المثبتة على الكمبيوتر المحلي
قم بتسجيل الدخول إلى جهاز الكمبيوتر كمسؤول.
افتح "محرر التسجيل".
حدد موقع مفتاح التسجيل الفرعي التالي، ثم انقر فوقه:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
انقر بزر الماوس الأيمن فوق إدارة جلسات العمل، وأشر إلى جديد، ثم انقر فوق قيمة Dword.
اكتب CWDIllegalInDllSearch، ثم انقر فوق تعديل.
في المربع بيانات القيمة، اكتب 1، ثم انقر فوق موافق.
المثال 2: كيفية تعطيل تحميل ملفات DLL من مشاركة WebDAV لتطبيق محدد مثبت على الكمبيوتر المحلي فقط
قم بتسجيل الدخول إلى جهاز الكمبيوتر كمسؤول.
افتح "محرر التسجيل".
حدد موقع مفتاح التسجيل الفرعي التالي، ثم انقر فوقه:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\<application binary name>
إذا لم يوجد مفتاح بالاسم الثنائي للتطبيق، فعليك إنشاء واحد.
انقر بزر الماوس الأيمن فوق <الاسم الثنائي للتطبيق>، أشر إلى جديد، ثم انقر فوق قيمة Dword.
اكتب CWDIllegalInDllSearch، ثم انقر فوق تعديل.
في المربع بيانات القيمة، اكتب 1، ثم انقر فوق موافق.
المثال 3: كيفية تعطيل تحميل ملفات DLL من مشاركة (SMB) لتطبيق محدد مثبت على الكمبيوتر المحلي فقط
قم بتسجيل الدخول إلى جهاز الكمبيوتر كمسؤول.
افتح "محرر التسجيل".
حدد موقع مفتاح التسجيل الفرعي التالي، ثم انقر فوقه:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\<application binary name>
إذا لم يوجد مفتاح بالاسم الثنائي للتطبيق، فعليك إنشاء واحد.
انقر بزر الماوس الأيمن فوق <الاسم الثنائي للتطبيق>، أشر إلى جديد، ثم انقر فوق قيمة Dword.
اكتب CWDIllegalInDllSearch، ثم انقر فوق تعديل.
في المربع بيانات القيمة، اكتب 2، ثم انقر فوق موافق.
المصدر:
http://support.microsoft.com/?scid=kb;ar...7&x=11&y=9
Hotfix Windows 7 (64-bit):
http://download.microsoft.com/download/D...07-x64.msu
Hotfix Windows 7 (32-bit):
http://download.microsoft.com/download/C...07-x86.msu