
Veto v2.3
عميل أندرويد مفتوح المصدر لـ VirusTotal. امسح الملفات وعناوين URL والتطبيقات المثبتة مقابل أكثر من 70 محركًا لمكافحة الفيروسات. اعرض تقارير مفصلة تحتوي على التجزئات (hashes) وتصنيفات التهديدات ومطابقات YARA وسلوكيات الصندوق الرملي. لا تتبع ولا إعلانات.
Veto
عميل VirusTotal مفتوح المصدر لنظام أندرويد
مجاني ومفتوح المصدر. أحضر مفتاح VirusTotal API الخاص بك لفحص الملفات والروابط والتطبيقات المثبتة عبر أكثر من 70 محرك فحص، بواجهة Material 3. بدون حسابات، بدون تتبع، بدون إعلانات.
ما هو Veto؟
Veto هو عميل أندرويد لخدمة VirusTotal. أرسل ملفًا أو رابطًا أو تطبيقًا مثبتًا لعرض نتائج التحليل في الوقت الفعلي. يعرض التطبيق تقريرًا واضحًا يتراوح من حكم موحّد واحد إلى المجموعة الكاملة من الحقول التي تُرجعها الخدمة.
المشروع مجاني ومفتوح المصدر، ولا يحتوي على حسابات مستخدمين أو أنظمة تتبع أو إعلانات. نظرًا لأن المستخدمين يوفّرون مفتاح VirusTotal API الخاص بهم، فإن جميع عمليات الفحص تتم مباشرةً تحت حسابهم الشخصي دون المرور عبر خوادم وسيطة تابعة لجهات خارجية.
لقطات الشاشة
![]() | ![]() | ![]() |
![]() | ![]() |
مجموعة الميزات
- قدرة الفحص: فحص التطبيقات المثبتة أو الملفات المحلية أو عناوين URL المستهدفة.
- تجميع متعدد المحركات: يجمع التشخيصات من أكثر من 70 محرك مكافحة فيروسات.
- وضعا تقارير: وضع سريع لملخصات التحقق السريعة، ووضع تفصيلي للفحص العميق.
- تفسيرات سياقية: يتوفر نص توضيحي لكل قسم، مع إعداد لإخفاء التفسيرات إذا رغبت.
- تقارير عالية الدقة: يعرض تجزئات الملفات وتصنيفات التهديدات والسجل والتقييمات المجتمعية وسلوكيات بيئة الحماية ومطابقات YARA والتفاصيل الداخلية لتطبيقات أندرويد وجميع حقول حمولة API الإضافية.
- التنفيذ في الخلفية: تتبع تقدم الرفع والتحليل في الوقت الفعلي يستمر داخل خدمة خلفية.
- الوصول دون اتصال: يحفظ التقارير محليًا للسماح بمراجعتها لاحقًا، حتى بدون اتصال بالإنترنت.
- تحذيرات حد المعدل: يعرض إشعارات واضحة عندما يصل مفتاح API المحلي إلى حد المعدل الخاص به.
- السمات: دعم كامل لـ Material 3 مع ألوان نظام ديناميكية، ودعم لكل من السمة الفاتحة والداكنة.
تفاصيل تنفيذ البنية الأساسية
- مزامنة الحالة: يعمل
ScanManagerعلى مستوى التطبيق كمصدر مركزي للحقيقة لجميع حالات الفحص. يضمن ذلك بقاء واجهة المستخدم متزامنة سواء كان التطبيق نشطًا في المقدمة أو معلقًا في الخلفية أو تم إتلافه بواسطة نظام التشغيل. - استطلاع مرن: يستطلع التطبيق نقطة النهاية
/analyses/{id}بحد زمني أقصى قدره ست دقائق. إذا تمت مواجهة استجابة حد معدل، تنتظر العملية بدلاً من الفشل. تتم إعادة جلب التقرير حتى يتم ملء النتائج، مع إرجاع حالة فشل منظمة إذا تم الوصول إلى حد المهلة. - دورة حياة العملية: بينما توجد
ScanStateداخلScanManagerلتحمّل إتلاف النشاط، تحافظScanServiceعلى دورة حياة العملية أثناء العمليات النشطة وتدير الإشعارات الجارية وإشعارات الاكتمال. - تحليل كامل الدقة: يتم التقاط الحقول الشائعة باستخدام نماذج مكتوبة، بينما يتم الاحتفاظ ببيانات
attributesالأولية الكاملة بصيغة JSON عبر مُسلسِل مخصص. يتيح ذلك لعرض التقرير التفصيلي عرض جميع الحقول المُرجعة، بما في ذلك أي حقول جديدة تُضاف إلى حمولة API بمرور الوقت.
حزمة التقنيات
| الطبقة | التقنية | الدور في المشروع |
|---|---|---|
| اللغة | Kotlin | لغة البرمجة الأساسية |
| إطار الواجهة | Jetpack Compose | بنية واجهة المستخدم التصريحية |
| نظام التصميم | Material 3 | التنسيق البصري، تلوين الأنظمة الديناميكي، والأيقونات الموسعة |
| حقن التبعيات | Hilt | إدارة التبعيات |
| الشبكات | Retrofit & OkHttp | الاتصال عبر HTTP مع واجهة VirusTotal API |
| التسلسل | kotlinx.serialization | تحليل JSON آمن الأنواع والحفاظ على السمات المخصصة |
| اللا تزامن | Kotlin Coroutines | البرمجة غير المتزامنة والمعالجة في الخلفية |
| الاستمرارية | Jetpack DataStore | تخزين الإعدادات الديناميكية وتقارير الفحص المحفوظة |
| التوافق | SDK 30 إلى 36 | تم الترجيع باستخدام JDK 17، minSdk 30، targetSdk 36 |
هيكل المشروع
└── app/src/main/java/com/quantum_prof/vtscansuite/
├── data/ # النماذج وواجهة API البعيدة وتنفيذ المستودع
├── domain/ # واجهة المستودع وحالات الاستخدام الخاصة بالأعمال
├── di/ # وحدات حقن التبعيات Hilt
├── scan/ # ScanManager وScanService وإشعارات النظام
└── ui/ # مكونات واجهة المستخدم وطبقات العرض
├── intro/ # شاشة البداية وإعداد مفتاح API
├── dashboard/ # مركز التنقل: وحدات فحص الروابط والملفات والتطبيقات
├── results/ # عارضات التقارير السريعة والتفصيلية
├── components/# عناصر وتخطيطات واجهة مستخدم قابلة لإعادة الاستخدام
├── theme/ # إعدادات الألوان والأشكال والخطوط والحركة
└── util/ # أدوات الاهتزاز والإيماءات والروابط العميقة
- أصول وموارد نصية لقائمة المتجر متوفرة في
fastlane/metadata/android/en-US/. - ملفات SVG للنماذج القابلة للتحرير موجودة في
docs/store/svg/. - يمكن تصدير النماذج إلى صيغة PNG باستخدام
docs/store/export.html.
البدء
المتطلبات الأساسية
- Android Studio (أحدث إصدار مستقر)
- JDK 17
- مفتاح VirusTotal API مجاني، يمكن الحصول عليه من: https://www.virustotal.com/gui/my-apikey
البناء والتشغيل
استنسخ المستودع وقم بتجميع إصدار التصحيح باستخدام سطر الأوامر:
git clone https://github.com/ProfessorQuantumUniverse/VTScan.git
cd VTScan
./gradlew :app:assembleDebug
بدلاً من ذلك، افتح الدليل الجذر داخل Android Studio وحدد إعداد التشغيل Run.
عند التشغيل الأول، أدخل مفتاح VirusTotal API الخاص بك في شاشة إعداد المقدمة. يتم تخزين المفتاح محليًا على جهازك، مشفرًا بمفتاح AES-256-GCM من Android Keystore، ويُستثنى من النسخ الاحتياطي السحابي والنقل من جهاز إلى جهاز. تخضع مفاتيح API المجانية عادةً لحد أقصى قدره أربعة استعلامات في الدقيقة.
سياسة الخصوصية
يتواصل التطبيق حصريًا مع واجهة VirusTotal API باستخدام بيانات الاعتماد التي تقدمها. يتم إرسال الملفات المرفوعة وعناوين URL المقدمة والنتائج الديناميكية مباشرةً إلى خوادم VirusTotal. يتم تخزين مفتاح API محليًا على جهازك، مشفرًا بمفتاح AES-256-GCM من Android Keystore، ويُستثنى من النسخ الاحتياطي السحابي والنقل من جهاز إلى جهاز، لذلك لا يغادر الجهاز أبدًا. يقتصر تسجيل HTTP على إصدارات التصحيح ويخفي ترويسة المفتاح. لا يجمع Veto بيانات تحليلية ولا يحتوي على حزم SDK إعلانية.
الترخيص
هذا المشروع مرخص بموجب شروط رخصة GNU العامة العامة الإصدار 3.0.
الشروط الأساسية لـ GPLv3:
- الاستخدام التجاري: مسموح
- التعديل: مسموح
- التوزيع: مسموح
- الكشف عن الكود المصدري: مطلوب عند التوزيع
- نفس الرخصة: يجب أن يستخدم الكود المعدل أيضًا GPLv3
- المسؤولية والضمان: لا يقدم المؤلفون أيًا منهما
لمزيد من التفاصيل، يرجى الاطلاع على ملف LICENSE في هذا المستودع.




