كيفية ضمان عزل العملية وعدم كسر الويندوز. NET قفل كتلة الملف المعزول NRE كيفية استعادة الملف المعزول

4

لذلك أحاول قفل ملف تخزين معزول في تطبيق العميل C # الخاص بي حتى لا تتمكن مثيلات متعددة من تطبيقي من الوصول إليه في نفس الوقت. أنا أستخدم الصيغة التالية:

LockStream = new IsolatedStorageFileStream ("my.lck" ، FileMode.OpenOrCreate ، isoStore) ؛ lockStream.Lock (0 ، 0) ؛

يتسبب هذا الرمز في قيام تطبيقي بإلقاء NullReferenceException داخل أسلوب FileStream.Lock في إطار العمل. حاولت استخدام قيمة غير صفرية للطول. حاولت كتابة بايت إلى ملف ثم قمت بتأمين ذلك البايت فقط. بغض النظر عما أفعله ، فإن نفس NullReferenceException يطاردني. هل يعرف أحد ما إذا كان هذا ممكنًا مع التخزين المعزول؟

كما أنني أبحث في هذه التقنية في تطبيق Silverlight ، فهل يدعم Silverlight تأمين الملفات؟ يبدو أن مستندات MSDN تشير إلى أنها ليست كذلك ، لكنني رأيت هذا المنشور من C # MVP الذي يقول إنه كذلك.

تحديث: قامت Microsoft بإصلاح الخلل الذي أرسلته على Connect ، لكن لم يتم إصداره في الإصدار 4 من إطار العمل. يجب أن يكون متاحًا على أمل أن يكون متوفرًا في SP القادم أو الإصدار الكامل.

0

تمكنت من التغلب على هذا الخطأ باستخدام انعكاس لاستدعاء طريقة القفل في حقل IsolatedStorageFileStream الخاص بـ "m_fs" مثل: lockStream = new IsolatedStorageFileStream ("q.lck"، FileMode.OpenOrCreate، isoStore) ؛ FileStream m_fs = typeof (IsolatedStorageFileStream) .InvokeMember (("m_fs") ، BindingFlags.GetField | BindingFlags.NonPublic | BindingFlags.Instance ، null ، lockStream ، null) كـ FileStream ؛ m_fs.Lock (0، long.MaxValue) ؛ - بسيجيل 05 مارس 10 2010-03-05 15:57:55

  • 2 إجابة
  • فرز:

    نشاط

4

هذا يبدو وكأنه خطأ في Framework. ربما أكون مخطئًا ، لأنه حقًا أكبر من أن يكون صحيحًا.

بالنظر إلى التعليمات البرمجية المصدر لـ .NET 3.5 SP1 مع عاكس ، تجد أن IsolStorageFileStream يستدعي المُنشئ الأساسي بدون أبعاد (FileStream ()) ، مما يؤدي إلى فئة أساسية غير مهيأة. ينشئ IsolatedStorageFileStream مثيلاً لـ FileStream ويستخدمه في جميع الطرق التي يتجاوزها (كتابة ، قراءة ، تدفق ، بحث ، إلخ). من الغريب أنه لا يستخدم صنفه الأساسي بشكل مباشر.

لكن لا يتم تجاوز القفل والفتح وهم بحاجة إلى حقل خاص (_handle) لا يزال فارغًا (لأن المُنشئ المستخدم لا يحتوي على معلمات). يفترضون أنه ليس فارغًا ويلعبونه ويستدعون NRE.

لتلخيص ذلك ، القفل وفتح القفل غير مدعومين (أو لا يعملان).

كيفية استعادة ملفاتي المحذوفة بواسطة برنامج مكافحة الفيروسات Eset NOD32"هو طلب يمكن رؤيته غالبًا على الإنترنت. مع ذلك الحلول الممكنةهذه المشكلة ليست كثيرة ، والتي غالبًا ما تخلق شعورًا بعدم وجود طرق لإعادة المستندات المفقودة.

بادئ ذي بدء ، عليك أن تفهم أن برنامج مكافحة الفيروسات لن يحظر أو يحذف ملفًا لا يؤثر بطريقة أو بأخرى على الأداء نظام التشغيلأو البرامج المثبتة الأخرى.

وفقًا لذلك ، إذا تم حذف المستند الخاص بك ، فيمكنك الشك بأمان في أنه ضار. ومع ذلك ، هناك أيضًا ملفات تقوم ببساطة بتعديل البرنامج ، والتدخل في عملياته ، ولكنها لا تشكل تهديدًا في حد ذاتها.

هل توجد أي طرق لاستعادة ملف تم حذفه بواسطة أحد برامج مكافحة الفيروسات؟ بالتأكيد هناك! في هذه المقالة ، سنلقي نظرة على ماهية تطبيق Eset NOD32 وميزات العمل به و طريقة فعالةاستعادة الملفات المحذوفة بواسطة برنامج مكافحة الفيروسات.

ما هو Eset NOD32؟

لا أحد في العالم الحديثلا يخفى على أحد مدى أهمية ، والأهم من ذلك ، مدى صلة تطبيقات مكافحة الفيروسات. فهي لا تسمح فقط بإزالة الغالبية العظمى من الملفات الضارة ، ولكنها تساعد أيضًا في منع تهديد محتمل حتى قبل أن يتجلى ، مما يؤدي إلى إلحاق الضرر بالنظام بطريقة أو بأخرى.

مضاد للفيروسات مضاد الفيروسات ايسيت نود 32، والذي يشار إليه عادةً باسم NOD32 ، عبارة عن حزمة كاملة من برامج مكافحة الفيروسات برمجة، التي أنشأتها شركة Eset السلوفاكية في عام 1987.

هناك نسختان من البرنامج:

  • نسخة المنزل.
  • نسخة الأعمال.

يتمثل الاختلاف الرئيسي بين إصدار الأعمال والنسخة الرئيسية في القدرة على ذلك جهاز التحكمووجود حماية عبر الأنظمة الأساسية. لا تقل متعة هي الميزة التي تتيح لك تخصيص البرنامج بسهولة ومرونة لأي احتياجات.

مضاد الفيروسات ايسيت نود 32. كيفية تمكين أو تعطيل مكافحة الفيروسات؟

غالبًا ما يحدث أنه عند تثبيت برنامج معين ، يُطلب منا تعطيل برنامج مكافحة الفيروسات ، لأنه بخلاف ذلك "يأكل" ملفًا مهمًا لا يمكن تشغيل التطبيق بدونه.

سبب شائع آخر للبحث عن إجابات لسؤال تمكين / تعطيل مكافحة الفيروسات هو الهدف من تقليل استهلاك الموارد لـ "المدافع". هذا هو المكان الذي تؤثر فيه خصوصية عمل برامج مكافحة الفيروسات - فهي تستهلك عادةً قدرًا كبيرًا من الذاكرة حتى عندما تكون في حالة سلبية ، وعندما تبدأ برامج "ثقيلة" أخرى ، يتعين عليك أحيانًا إيقاف الحماية مؤقتًا.

إذن كيف يمكنك إكمال مهمة تمكين أو تعطيل NOD32؟ دعنا نلقي نظرة على هذه المشكلة في التعليمات أدناه.

1. بدء تطبيق مضاد الفيروسات ايسيت نود 32وتذهب إلى إعدادات.

2. في النافذة التي تفتح ، ستجد جميع حزم خدمة NOD32 المثبتة. قم بزيارة كل واحد وتمكين / تعطيل الخيارات حسب احتياجاتك.

مضاد الفيروسات ايسيت نود 32. الحجر الصحي والاستثناءات المضادة للفيروسات.

الحجر الصحي- مستودع موجود بالضرورة في أي برنامج مكافحة فيروسات ، بغض النظر عن الشركة المصنعة له وإصداره (المنزل أو العمل). يخزن جميع الملفات المشبوهة التي ، وفقًا لبرنامج مكافحة الفيروسات ، بطريقة أو بأخرى يمكن أن تلحق الضرر بنظام التشغيل الخاص بك.

تجدر الإشارة إلى حقيقة أنه لا يتم حذف أي مستند على الفور ، حتى لو كان حصان طروادة. بادئ ذي بدء ، يتم تحييد التهديد الناتج عن ذلك: يتم وضع الملف في الحجر الصحي وينتظر برنامج مكافحة الفيروسات بصبر قرار المستخدم المسؤول بشأن مزيد من العمل- يمكنك إما حذف المستند المصاب أو تمييزه كاستثناء ، والذي سنقوم بتحليله لاحقًا.

كيف تجد الحجر الصحي برنامج مكافحة الفيروسات ESET NOD32؟ بسيط جدا! دعنا نلقي نظرة على التعليمات أدناه.

1. يجري مضاد الفيروسات ايسيت نود 32وانتقل إلى القسم خدمة.

2. افتح علامة تبويب أموال إضافية. تقع في الزاوية اليمنى السفلى.

3. ظهرت أمامنا القائمة الكاملةالخدمات الإضافية التي تقدمها Eset كجزء من برنامج مكافحة الفيروسات الخاص بها. يفتح الحجر الصحي.

4. في القائمة التي تفتح ، يمنحك NOD32 الحقوق الكاملة لإدارة جميع الملفات المعزولة.

وجدنا الحجر الصحيووجدوه وظائف رئيسيه:

  • عزل الملف. يتيح لك هذا الخيار العثور يدويًا على ملف ضار وحظره إذا لم يتمكن برنامج مكافحة الفيروسات من التعامل مع الأمر بمفرده.
  • يعيد. خيار يسمح لك باستعادة ملف مؤمن بطريق الخطأ.

إن مجرد استعادة مستند معزول لا يؤدي دائمًا إلى تجنب المزيد من الأقفال. هل يمكن تغيير هذا؟ لنفكر.

1. دون مغادرة النافذة الحجر الصحي، انقر بزر الماوس الأيمن على الملف الذي تريد فتحه.

2. إختر خيار استعادة واستبعاد من المسح.

3. إذا كنت واثقًا من أفعالك ، انقر فوق نعم. إذا كنت لا تعرف ما إذا كان الملف خطيرًا أم غير ضار ، نوصي بالنقر فوق لا.

الملفات المحذوفة Eset NOD32. كيف تتعافى؟

مضاد للفيروساتهو الحاجز الوحيد الذي يعيق عددًا كبيرًا بشكل لا يصدق من التهديدات المحتملةقادرة على التسلل إلى أجهزة الكمبيوتر الخاصة بنا عبر الإنترنت. من الطبيعي تمامًا أنه يحظر تمامًا جميع الملفات بآلية تشغيل مماثلة ؛ مثل هذه المستندات التي تتداخل بطريقة أو بأخرى مع عمليات النظام أو البرامج.

لسوء الحظ ، لا تستطيع برامج مكافحة الفيروسات التمييز بين الملفات ، لأن أي ملف ضار يمكن أن يتنكر بسهولة كعملية Windows ويدمر الكمبيوتر تدريجيًا من الداخل.

وبالتالي ، يحاول البرنامج بكل طريقة ممكنة حماية جهاز الكمبيوتر ، وحجب كل ما يرى أنه يشكل تهديدًا معينًا. في معظم الحالات ، يمكن استعادة المستندات المقفلة بسهولة ببساطة عن طريق إجراء استثناء ، ولكن في بعض الأحيان الإزالة الكاملةإذا اعتبر برنامج مكافحة الفيروسات الملف خطيرًا للغاية.

Starus Partition Recovery (استعادة التقسيم النجمي)سيكون مساعدًا جيدًا في العمل اليومي مع نظام الملفات. سيريحك التطبيق من أي مخاوف بشأن المستندات الشخصية على المدى الطويل وسيساعدك على استعادة أي ملف بأي تنسيق ، بغض النظر عن كيفية فقده.

يمكنك تقييم كل فرص "إرجاع المفقود" قبل تسجيل أداة Starus Partition Recovery. قم بتنزيل برنامج استعادة المستندات الشخصية التي تم مسحها بواسطة برنامج مكافحة الفيروسات وجربه مجانًا. في نسخه تجريبيهتتوفر جميع الوظائف ، بما في ذلك معاينة الملفات المستردة. ستمنحك نافذة المعاينة الفرصة للتأكد من عدم تلف ملف معين أو الكتابة فوقه وأنه قابل للاسترداد بالكامل.

نأمل أن تكون المقالة مفيدة لك وساعدت في حل الأسئلة المطروحة.

كيف تعزل العمليات المشبوهة في الويندوز ولا تعطل نظام التشغيل نفسه؟ كيفية إنشاء ملف موثوق ومتوافق مع برامج ويندوزوضع الحماية بدون الأجهزة الافتراضية واعتراضات وظيفة النواة ، ولكن باستخدام آليات الأمان المضمنة الموثقة في نظام التشغيل؟ سنتحدث عن المشكلات الأكثر شيوعًا التي يواجهها المطورون (والمستهلكون في النهاية) لصناديق حماية البرمجيات. وبالطبع ، سوف نقدم الحل الخاص بنا :).

مقدمة ، أو ما مدى سوء العيش بدون رمل

بين المهنيين هناك العديد من البديهيات التي لا يحبون التحدث عنها. وماذا عن البديهيات؟ هم و هم. يبدو للجميع أنه واضح ، مثل اثنين واثنين. على سبيل المثال ، واحد منهم - لا تحمي برامج مكافحة الفيروسات القائمة على التوقيع. حسنًا ، هذا يعني أنهم لا يحمون ، وهذا كل شيء. لقد قيل الكثير من الأشياء وأعيد سردها حول هذا مرات عديدة. مع الأمثلة والعروض الجميلة والرقصات والرقصات. وتعد أوبئة جميع أنواع الأشياء السيئة مثل Ransomware أحد الأدلة على عدم كفاءة تقنيات التوقيع والاستكشاف. جميع أنواع برامج التشفير والتعتيم تنجح في حل مشكلة حماية البرامج الضارة المعروفة بالفعل من الكشف عنها ، ولبعض الوقت لم يتم اكتشاف هذه البرامج الضارة بواسطة برامج مكافحة الفيروسات. هذه المرة تكفي لشخص ما أن يشعر بالسوء والشخص بخير.

أي أن الأمر لا يتعلق حتى بـ 0 يوم: يمكنك أن تأخذ البرمجيات الخبيثة الملتحية القديمة المعروفة ، وتحويلها ، وإزالة التواقيع السلوكية (تعمل لبضعة أيام لشخص كسول) واستخدامها مرة أخرى ، ثم مرارًا وتكرارًا ، حتى تشعر بالملل أو حتى يضعوك في السجن. في الوقت نفسه ، يبدو أن الأشخاص الذين باعوا العلاج حتى لا يأتي هذا الشيء "السيئ" لا علاقة لهم به ؛ إنهم ينشرون نوعًا من النشرات ذات الوجوه الجادة ويتحدثون عن النظافة على الإنترنت ، متناسين القول إنه إذا تم مراعاة هذه النظافة تمامًا ، فلن تكون هناك حاجة عمليًا إلى مضادات الفيروسات ، خاصةً المدفوعة منها.

Sandboxes وميزات تنفيذها

لذلك ، لا تحفظ برامج مكافحة الفيروسات ، وفي بعض الأحيان تكسر ما هو موجود بالفعل. قال أحدهم ذكي بلا حدود: "دعونا نقترب من الحماية من الجانب الآخر ونعزل العمليات عن بعضها البعض". في الواقع ، إنه لأمر رائع أن يتم تشغيل العمليات المشبوهة في نوع من البيئة المعزولة تسمى Sandbox. لا يمكن للبرامج الضارة التي تعمل في وضع الحماية أن تترك حدودها وتضر بالنظام بأكمله. قد يكون هذا حلاً ، ولكن هناك فروق دقيقة في تطبيقات وضع الحماية الحالية ...
بعد ذلك ، سنناقش فقط جميع تعقيدات بناء الصناديق الرملية ، والتي ستكون معرفتها مفيدة بالتأكيد عندما تحتاج إلى اختيار أداة عزل العملية أو HIPS (نظام منع التسلل المستند إلى المضيف - نظام منع التطفل لمحطات العمل).

فارق بسيط رقم 1 ، أو صندوق رمل واحد للجميع

لا توفر معظم صناديق الحماية في الواقع عزلًا للعملية. في الحقيقة ، في معظم التطبيقات ، ينقسم النظام المحمي إلى قسمين - موثوق به وغير موثوق به. في الجزء الموثوق ، العمليات العادية، وغير موثوق بها - معزولة. أي أن جميع العمليات المعزولة تعمل في نفس آلية تحديد الوصول ، ولديها إمكانية الوصول إلى بعضها البعض وإلى موارد بعضها البعض ، واستخدام نفس السجل ونفس الشيء نظام الملفات.

وبالتالي ، يمكن أن تكتسب البرامج الضارة موطئ قدم في آلية تحديد الوصول نفسها وتبدأ بشكل عرضي بأحد التطبيقات المعزولة (أو مع عدة تطبيقات منفصلة ، أو مع أي منها). في الوقت نفسه ، لا تقوم صناديق الحماية في كثير من الأحيان بتسجيل إجراءات العمليات المعزولة. الإجراءات التي أقسمها HIPS في صناديق الرمل يمكن اجتيازها تمامًا دون أدنى رد فعل ، ومعدلة للعزل ، وهي ليست جيدة جدًا.

كيف تتحقق من أن العزلة مرتبة بهذه الطريقة؟ بسيط جدا! قم بتشغيل تطبيقين في وضع الحماية. على سبيل المثال ، notepad.exe و wordpad.exe. إنشاء باستخدام notepad.exe ملف نصي 1.txt.

بالطبع ، لن يتم حفظ هذا الملف على سطح المكتب ، ولكن في دليل "افتراضي". حاول فتحه باستخدام Wordpad (الشكل 3).



لذلك ، يمكن فتح ملف تم إنشاؤه بواسطة تطبيق وضع الحماية باستخدام تطبيق وضع الحماية آخر. دعونا نواجه الأمر ، العزلة ليست جيدة جدًا. لكن ربما على الأقل سيكون هناك نوع من الحماية من السجل؟ نقوم بتغيير المحتوى (الشكل 4).


وننقذ. والآن لنحاول فتح ملف 1.txt باستخدام notepad.exe. بالطبع ، لنقم بتشغيل notepad.exe في صندوق الحماية (الشكل 5).


وهذا ما تحدثنا عنه. لا يتم عزل تطبيقين منفصلين عن بعضهما البعض. اتضح أن هذه العزلة لم يتم توضيح سببها تمامًا. حتى برامج الفدية بدون الوصول إلى المجلدات المحلية على الكمبيوتر يمكنها تشفير كل شيء في الدليل الافتراضي ، وإذا كنت محظوظًا ، فعندئذٍ على موارد الشبكة ، نظرًا لأن إعدادات وضع الحماية هي نفسها لجميع التطبيقات المعزولة.

فارق بسيط رقم 2 ، أو تحت العزلة

نعم ، لا يمكن أن تصل عمليات وضع الحماية إلى الجزء الموثوق به من النظام ... ولكنها في معظم عمليات التنفيذ تكون للكتابة فقط. أي يمكنهم القراءة من أي مكان دون أي قيود تقريبًا وغالبًا ما يكون لديهم إمكانية الوصول إلى الشبكة. يتم ذلك ، على ما يبدو ، من أجل توافق أكبر ، لكن هذا لا يمكن أن يسمى العزلة.
جرب تجربة وضع حماية بسيطة من اختيارك. قم بإنشاء دليل على القرص الصلب الخاص بك. دعنا نقول هذا: E: \ Photos. ضع فيه ، على سبيل المثال ، صورة فوتوغرافية (الشكل 6).


يجري متصفح الانترنتفي وضع الحماية وحاول إرسال الصورة المعينة إلى rghost ، على سبيل المثال.



اذا كيف كانت؟ حدث؟ إذا كانت التجربة ناجحة ، فهي ليست جيدة جدًا. والأسوأ من ذلك ، إذا لم يكن وضع الحماية لديه القدرة على تحديد الدلائل التي لن تتمكن التطبيقات التي تم وضع الحماية لها من الوصول إليها. وليس جيدًا على الإطلاق إذا كان بإمكان التطبيقات المعزولة قراءة البيانات من أدلة المستخدم الحالي.

تعتمد المحاكاة الافتراضية لنظام الملفات والتسجيل في معظم عمليات التنفيذ على مبدأ "النسخ عند الطلب". بمعنى ، إذا كان الملف يحتاج إلى القراءة ببساطة ، فسيتم قراءته من الدليل المصدر إذا لم يكن هناك تناظري في الدليل الظاهري. إذا كان الملف نفسه موجودًا في الدليل الظاهري ، فسيعمل التطبيق المعزول معه. يمكن قول الشيء نفسه عن التسجيل الافتراضي. حسنًا ، من الواضح أنه عندما تحاول كتابة ملف على طول مسار حقيقي ، فسيتم كتابته في نظام الملفات الافتراضي. تقريبا دائما.

وبالتالي ، إذا كانت البرامج الضارة "معزولة" في مثل هذا الصندوق الرمل ، فسيكون بإمكانها الحصول عليها الوصول الكامللجميع العمليات "المعزولة" الأخرى ، إلى جميع البيانات تقريبًا في النظام للقراءة ، والبيانات الافتراضية (المخزنة بواسطة تطبيقات وضع الحماية) (والتي غالبًا ما تكون شائعة في جميع التطبيقات ذات وضع الحماية) للكتابة.

فارق بسيط رقم 3 ، أو "لنصنع دراجة أخرى ، إنها ممتعة جدًا"

واصلت متاحة للأعضاء فقط

الخيار 1. انضم إلى مجتمع "الموقع" لقراءة جميع المواد الموجودة على الموقع

ستمنحك العضوية في المجتمع خلال الفترة المحددة إمكانية الوصول إلى جميع مواد القرصنة ، وزيادة الخصم التراكمي الشخصي الخاص بك وتسمح لك بتجميع تقييم نقاط Xakep احترافي!

لذلك أحاول قفل ملف تخزين معزول في تطبيق العميل الخاص بي حتى لا تتمكن مثيلات متعددة من تطبيقي من الوصول إليه في نفس الوقت. أنا أستخدم الصيغة التالية:

LockStream = new IsolatedStorageFileStream ("my.lck" ، FileMode.OpenOrCreate ، isoStore) ؛ lockStream.Lock (0 ، 0) ؛

يتسبب هذا الرمز في قيام تطبيقي بإلقاء NullReferenceException من طريقة FileStream.Lock الخاصة بالبنية. حاولت استخدام قيمة غير صفرية للطول. حاولت كتابة بايت إلى ملف ثم قمت بتأمين ذلك البايت فقط. بغض النظر عما أفعله ، فإن نفس NullReferenceException يطاردني. هل يعرف أحد ما إذا كان هذا ممكنًا مع التخزين المعزول؟

كما أنني أبحث في هذه التقنية في تطبيق Silverlight ، فهل يدعم Silverlight تأمين الملفات؟ يبدو أن مستندات MSDN تشير إلى أنها لا تشير إلى ذلك ، لكنني رأيت هذا المنشور من MVP الذي يقول إنه كذلك.

تحديث: قامت Microsoft بإصلاح الخلل الذي أرسلته إلى Connect ، لكن لم يتم إصداره في الإصدار 4 من إطار العمل. يجب أن يكون متاحًا على أمل أن يكون متوفرًا في SP القادم أو الإصدار الكامل.

4

2 الردود

هذا يبدو وكأنه خطأ في Framework. ربما أكون مخطئًا ، لأنه حقًا أكبر من أن يكون صحيحًا.

بالنظر إلى التعليمات البرمجية المصدر لـ .NET 3.5 SP1 باستخدام Reflector ، يمكنك العثور على أن IsolStorageFileStream يستدعي المُنشئ الأساسي بدون أبعاد (FileStream ()) ، مما ينتج عنه فئة أساسية مهيأة بشكل غير صحيح. ينشئ IsolatedStorageFileStream مثيلاً لـ FileStream ويستخدمه في جميع الطرق التي يتجاوزها (كتابة ، قراءة ، تدفق ، بحث ، إلخ). من الغريب أنه لا يستخدم صنفه الأساسي بشكل مباشر.

لكن القفل وفتح القفل لا يتم تجاوزهما ويتطلبان حقلاً خاصًا (_handle) لا يزال فارغًا (لأن المُنشئ المستخدم لا يحتوي على معلمات). يفترضون أنه ليس فارغًا ويلعبونه ويستدعون NRE.

لتلخيص ذلك ، القفل وفتح القفل غير مدعومين (أو لا يعملان).

أعتقد أنك مجبر على استخدام طرق حجب أخرى مثل Mutex أو Semaphore.




قمة