
أداة للعثور على المجلدات المستثناة من الفحص الفوري لمضاد الفيروسات باستخدام أوراكل زمني
هذه الأداة مقدمة لأغراض تعليمية فقط. أي أفعال وأنشطة تتعلق بالمادة الواردة في هذا المستودع تقع على مسؤوليتك وحدك. يمكن أن يؤدي إساءة استخدام هذه الأداة إلى توجيه اتهامات جنائية للأشخاص المعنيين. لن يتحمل المؤلف المسؤولية إذا تم رفع أي اتهامات جنائية ضد أي أفراد يسيئون استخدام الأداة المقدمة لمخالفة القانون.
أداة إثبات مفهوم صُممت لتحديد المجلدات المستثناة من الفحص اللحظي لمضادات الفيروسات في أنظمة ويندوز.
تتلقى الأداة مسار مجلد كوسيط، وتتكرر عبر المجلدات الفرعية بعمق Y. Y هو وسيط أقصى عمق يقدمه المستخدم. تنشئ الأداة N ملفًا بطول 512 بايت بمحتوى عشوائي في كل مجلد. N هو حجم العينة الذي يقدمه المستخدم. قيمة N الأكبر توفر دقة أعلى وتقلل من حالات النتائج الإيجابية الكاذبة. كلما زادت N، زاد عدد الملفات المنشأة. وبالتالي، زاد الوقت الذي تستغرقه الأداة للتنفيذ. بدا أن خمسة آلاف توفر علاقة جيدة بين الوقت والدقة خلال اختباراتي. ستقوم الأداة بعد ذلك بتسجيل متوسط الوقت الذي استغرقته لإنشاء الملفات في كل مجلد. في النهاية، تتحقق الأداة مما إذا كان أي من المجلدات لديه متوسط وقت كتابة أسرع بنسبة X% على الأقل من المتوسط العام. يسمى X معامل الحساسية. بناءً على اختباراتي، يبدو أن 0.25 (25%) يعمل في معظم الحالات.
ستحلل حلول مكافحة الفيروسات معظم المحتوى المكتوب على القرص وتقوم باعتراض ("hook") الاستدعاءات المرتبطة بكتابة الملفات. هذه الخطوة الإضافية يمكن أن تحدث فرقًا زمنيًا قابلاً للقياس عند الكتابة إلى مجلد مستثنى من الفحص اللحظي. يوضح الرسم البياني التالي متوسط عدد الميكروثانية المستغرق لكتابة ملف في عدة مجلدات خلال الاختبارات الأولية للأداة. المجلدان المستثنيان من الفحص اللحظي محددان في الصورة.

وضع التنفيذ 0 (--mode 0) سيحاول تعيين المجلدات الموجودة في قائمة استثناءات Defender. يجب على المستخدم تقديم قائمة بالمجلدات لاختبارها عبر وسيط --targets. يمكن استخدام وسيط --sample-size لضبط عدد الملفات التي يتم إنشاؤها في كل دليل.
مثال:
TimeException.exe --sample-size 1000 --mode 0 --targets dirs.txt
وضع التنفيذ 1 (--mode 1) سيحاول تعيين الامتدادات الموجودة في قائمة استثناءات Defender. يجب على المستخدم تقديم قائمة بالامتدادات لاختبارها عبر وسيط --targets. يجب أن تكون الامتدادات في ملف الأهداف بصيغة .ext (مثل .png و.txt و.foobar وغيرها). يمكن استخدام وسيط --sample-size لضبط عدد الملفات التي يتم إنشاؤها لكل امتداد.
مثال:
TimeException.exe --sample-size 1000 --mode 1 --targets exts.txt
وضع التنفيذ 2 (--mode 2) سيحاول تعيين العمليات الموجودة في قائمة استثناءات Defender. يجب على المستخدم تقديم قائمة بأسماء العمليات لاختبارها عبر وسيط --targets. يجب أن تكون الامتدادات في ملف الأهداف بصيغة program.exe (مثل calc.exe وmspaint.exe وغيرها). يتطلب وضع تنفيذ العملية توفير أداة قياس (benchmarker). أداة القياس هي تطبيق وحدة تحكم يقبل --sample-size كوسيط صالح ويخرج رقمًا عائمًا مزدوج الدقة. TimeException نفسها هي أداة قياس. يمكن استخدام وسيط --sample-size لضبط عدد العمليات التي تنفذها أداة القياس لحساب نتيجتها.
مثال:
TimeException.exe --sample-size 1500 --ref 3.7225 --mode 2 --benchmarker .\TimeException.exe --targets procs.txt
وضع التنفيذ 3 (--mode 3) غير منفذ بعد.
وضع التنفيذ 4 (--mode 4) سيقيس متوسط الوقت المستغرق لكتابة ملف بحجم 512 بايت إلى الدليل الحالي. يمكن استخدام وسيط --sample-size لضبط عدد الملفات المستخدمة لحساب متوسط وقت الكتابة.
وضع المعيار هو وضع التشغيل الافتراضي لـ TimeException.
مثال:
TimeException.exe --mode 4 --sample-size 5000
Usage:
TimeException.exe [options]
Options:
Usage:
-h|--help Print usage instructions
--mode Exceptions to look folder. 0=Folder, 1=Extensions, 2=Process, 3=file, 4=benchmark (Default=4)
--ref Reference time value. Default=global average
--sample-size Sample size to use. Default=500
--sensitivity Sensitivity value. Default=0.25
--benchmarker Fully qualified path to a benchmarker executable
--verbose Increase verbosity
--targets File containing folder paths, extensions, or process names depending on the mode selected