
टाइम ओरेकल का उपयोग करके AV रीयल-टाइम स्कैनिंग से बहिष्कृत फ़ोल्डरों को खोजने का एक टूल।
यह टूल केवल शैक्षिक उद्देश्यों के लिए प्रदान किया गया है। इस रिपॉज़िटरी में निहित सामग्री से संबंधित कोई भी कार्य और गतिविधियाँ पूर्णतः आपकी ज़िम्मेदारी हैं। इस टूल का दुरुपयोग संबंधित व्यक्तियों के विरुद्ध आपराधिक आरोपों का कारण बन सकता है। यदि प्रदान किए गए टूल का दुरुपयोग करके कानून तोड़ने वाले किसी भी व्यक्ति के विरुद्ध आपराधिक आरोप लगाए जाते हैं, तो लेखक उत्तरदायी नहीं होगा।
विंडोज़ सिस्टम में AV रीयल-टाइम स्कैनिंग से छूट प्राप्त फ़ोल्डरों की पहचान करने के लिए बनाया गया एक प्रूफ-ऑफ-कॉन्सेप्ट टूल।
टूल एक फ़ोल्डर पथ को तर्क के रूप में प्राप्त करता है और उसकी चाइल्ड निर्देशिकाओं (जो Y गहराई तक हैं) में पुनरावृत्ति करता है। Y उपयोगकर्ता द्वारा प्रदान की गई अधिकतम गहराई का तर्क है। टूल प्रत्येक निर्देशिका में यादृच्छिक सामग्री वाली N फ़ाइलें (512 बाइट्स लंबी) बनाता है। N उपयोगकर्ता द्वारा प्रदान किया गया सैंपल आकार है। बड़ा N अधिक सटीकता प्रदान करता है और गलत सकारात्मक (false positives) की घटना को कम करता है। N जितना बड़ा होगा, बनाई गई फ़ाइलों की संख्या उतनी ही अधिक होगी। इसलिए, टूल को चलने में उतना ही अधिक समय लगेगा। मेरे परीक्षणों के दौरान पाँच हज़ार (5000) समय-बनाम-सटीकता का अच्छा संबंध प्रदान करता प्रतीत हुआ। फिर टूल प्रत्येक निर्देशिका में फ़ाइलें बनाने में लगे औसत समय को रिकॉर्ड करेगा। अंत में, टूल जाँचता है कि क्या कोई निर्देशिका है जिसका औसत लेखन समय (mean time-to-write) वैश्विक औसत से कम से कम X% तेज़ है। X को संवेदनशीलता पैरामीटर (sensitivity parameter) कहा जाता है। मेरे परीक्षणों के आधार पर, 0.25 (25%) अधिकांश मामलों के लिए कारगर प्रतीत होता है।
AV समाधान डिस्क पर लिखी गई अधिकांश सामग्री की जाँच करते हैं और फ़ाइल लेखन से संबंधित कॉल्स को हुक करते हैं। यह अतिरिक्त चरण उस फ़ोल्डर में लिखते समय एक मापने योग्य समय अंतर उत्पन्न कर सकता है जो रीयल-टाइम स्कैनिंग से बाहर रखा गया है। निम्नलिखित ग्राफ़ टूल के प्रारंभिक परीक्षणों के दौरान कई फ़ोल्डरों में एक फ़ाइल लिखने में लिए गए औसत माइक्रोसेकंड को दर्शाता है। रीयल-टाइम स्कैनिंग से बाहर रखे गए दो फ़ोल्डर चित्र में हाइलाइट किए गए हैं।

निष्पादन मोड 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, आदि)। प्रोसेस निष्पादन मोड के लिए एक बेंचमार्कर प्रदान किया जाना आवश्यक है। बेंचमार्कर एक कंसोल एप्लिकेशन है जो --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