
امسح المجلدات بشكل متكرر باستخدام واجهة برمجة تطبيقات VirusTotal للكشف عن البرامج الضارة. يتضمن ميزات: البحث عن التجزئة (hash lookup)، تصدير CSV، تتبع التقدم في الوقت الفعلي، ومعالجة حدود المعدل للتحليل الآلي للملفات.
نص برمجي بلغة Python لتحليل جميع الملفات باستخدام واجهة برمجة تطبيقات VirusTotal، مع مسح المجلدات والمجلدات الفرعية بشكل متكرر. محسن لنظام Windows.
قم بتنزيل الملفات إلى جهاز الكمبيوتر الخاص بك
تثبيت التبعيات:
pip install -r requirements.txt
انسخ ملف .env.example إلى .env:
cp .env.example .env
قم بتحرير ملف .env وأضف الإعدادات الخاصة بك:
VIRUSTOTAL_API_KEY=your_actual_api_key_here
SCAN_FOLDER=C:\Users\username\Desktop\my_files
قم بتشغيل النص البرمجي:
python virustotal_scanner.py
سيقوم النص البرمجي بتحميل الإعدادات تلقائياً من ملف .env.
إذا كنت تفضل عدم استخدام ملف .env، فسيطلب النص البرمجي المعلومات:
python virustotal_scanner.py
سيطلب النص البرمجي ما يلي:
مثال استخدام:
Enter your VirusTotal API key: a1b2c3d4e5f6...
Enter the folder path to scan: C:\Users\username\Desktop\my_files
Do you want to continue? (y/n): y
C:\Users\username\Documents\my_filesC:\Users\username\Desktop\folder. (النقطة = المجلد الحالي)بعد تشغيل النص البرمجي، سيتم إنشاء الملفات التالية تلقائياً:
ملف سجل بجميع الأحداث:
ملف CSV بالنتائج (مفصول بفاصلة منقوطة):
يمكن فتح ملف CSV باستخدام Excel أو Google Sheets أو أي برنامج جداول بيانات.
================================================================================
VIRUSTOTAL SCANNER - COMPLETE FOLDER SCAN
================================================================================
Folder: C:\Users\username\Desktop\my_files
API limit: 4 files per minute
Maximum file size: 32 MB
================================================================================
Counting files...
Total files found: 15
Starting analysis...
================================================================================
Progress: [1/15]
================================================================================
[*] Analyzing: document.pdf
Path: C:\Users\username\Desktop\my_files\document.pdf
Uploading file...
Waiting for analysis results...
Analysis in progress... (attempt 1/30)
>> URL: https://www.virustotal.com/gui/file/abc123...
>> Detections: 0/70
================================================================================
Progress: [2/15]
================================================================================
[*] Analyzing: program.exe
Path: C:\Users\username\Desktop\my_files\program.exe
Uploading file...
Waiting for analysis results...
>> URL: https://www.virustotal.com/gui/file/def456...
>> Detections: 2/70
[!] Rate limit reached: Waiting 15 seconds...
================================================================================
FINAL SCAN SUMMARY
================================================================================
ANALYZED FILES:
--------------------------------------------------------------------------------
1. [CLEAN] 0/70
File: C:\Users\username\Desktop\my_files\document.pdf
URL: https://www.virustotal.com/gui/file/abc123...
2. [DETECTED] 2/70
File: C:\Users\username\Desktop\my_files\program.exe
URL: https://www.virustotal.com/gui/file/def456...
================================================================================
SKIPPED FILES:
--------------------------------------------------------------------------------
1. C:\Users\username\Desktop\my_files\large_file.iso
Reason: File too large (650.50 MB)
2. C:\Users\username\Desktop\my_files\system.dll
Reason: No read permissions
================================================================================
STATISTICS
================================================================================
Total files found: 15
Files analyzed: 13
Files skipped: 2
- Clean files (0 detections): 12
- Files with detections: 1
================================================================================
خطأ: "Invalid API key"
خطأ: "Access denied to file"
النص البرمجي بطيء جداً
الملفات التي تم تخطيها
MIT License - Copyright (c) 2025 neorai
هذا المشروع مجاني ومفتوح المصدر. يمكنك استخدامه وتعديله وتوزيعه بحرية. انظر ملف LICENSE للحصول على التفاصيل.