اليوم: إضافة توقيع الفيروس رقم 4مليون للـ AIO SystemCare. ولكن أصبح البرنامج بطيء.!

LOYOUR_Corp

الحمد لله بعد عمل شاق لسنوات.

اليوم أصبح برنامجي يتعامل مع أكثر من 4مليون تهديد منهم 523331 حصان طرواده.

طبعاً هذا رقم صغير نوعاً ما بالنسبة لبرنامج Avast أو ESET أو AVG.

ولكن هذا إنجاز بالنسببة لي.

وأيضاً انتهيت من كتابة Privacy policy و Terms of use سأعرضها عليكم قريباً

ولكن ظهرت بعض المشاكل لا أعرف ماحلها.

  1. محرك الفحص Antivirus Engine أصبح بطيء جدا واحيانات لا يستجيب. (حيث يقوم بمقارنة الملف الواحد بعدد كبير من الفيروسات).

  2. لا أستطيع عمل تحديث للبرنامج بسبب عدم توفري علي خادم Server. (ان شاء الله يتم حلها لاحقاً).

  3. الطريقة التي استعملها في تخزين البيانات (تسجيل بيانات مشفره) غالباً تعطي انذار كاذب (يتم التغيير في التوقيعات في مرحلة فك التشفير) ما رأيكم بأفضل طريقة لتسجيل مثل هذه البيانات؟

  4. بالنسبة للملفات المضغوطة كيف أتصرف معها! (هل أفك الضغط في temp أم أحاول فحصها وهي مضغوطة أو اتجاوزها)

شكراً مقدماً.


التعليق السابق

لا أفهم ما تقصد كيف تكون التوقيعات مرتبة؟

استعملت 9خوارزميات مختلفة وكلهم نفس النتيجة.

احاول استعمال الذاكرة الوهميه في النظام VRAM كما يفعل eset

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

جيدجداً..

سيقلل هذا الضغط علي المحرك

تقريباً كما قال @daka

من المهم جداً ان لا تقارن كل ملف ب 4 ملايين توقيع, كل ملف يجب ان يقارن ب 10 الاف توقيع مثلاً او اقل,

على سبيل المثال لو قلنا انك تقوم بأخذ Hash الملف ثم مقارنته ب التواقيع الموجودة, فلو كانت التواقيع مرتبة ابجدياً, و هاش الملف يبدأ بحرف ال Z فلا داعي لمقارنته ب جميع التواقيع الاخرى والتي لا تبدأ بحرف ال Z, بذلك تكون قد حصرت المقارنات بلتواقيع التي تبدأ ب Z, ولانها مرتبة فأنت تعرف انها تبدأ من ال ID 3777777 مثلاً .. وهكذا

طبعاً انا لا اعرف كيف تخزن وكيف تقارن في برنامجك, لكن هذا مجرد مثال بسيط.

تفكير سليم 100%..

والله لم تخطر في بالي هذه الفكرة.

سأجرب حالاً.

شكراً لك.

ارجو ان تطلعنا على النتائج

للأسف لم يصل للنتيجه المطلوبة...

المشكله أني أستعمل طريقة مثل هذه..

مثلا لدينا قاعده لتوقيعت الفيروس من نوع PE:Win32.Expiro.m!1610239 علي هذا الشكل:

  1. 6111570a55c590d985e401d0dd875483

  2. fe9d2f53622f4a1b6ddfefd93a37cb93

  3. f302da63208467182fba50673e195e73

وهكذا حتي 131078 توقيع.

ولدينا قاعدة أخري من نوع مثلاً Gen:Trojan.Heur.PT.bmGeaCaVTegG علي هذا الشكل:

  1. de960b8f99230e94858204b711fb8a38

  2. 61ffee2fc6680f45effdaf0dbe4e865e

  3. 0c6d02bb059238704aa5feb4f73a80d6

وهكذا حتي 21848توقيع.

وبنفس الكيفيه مع باقي الفيروسات..

لينا الملف Example.exe أقوم بمقارنته أكثر من مره مع كل نوع من الفيروسات..

يعني الملف يمر علي أكث من 40عملية مقارنة منفرده (وهذا سبب المشكل).

وأنا مضطر لنقارنته بهذه الطريقة لأرجع القيمة الصحيحه(نوع الفيروس) إن تم التحقق أنه ملف ضار..

@wgh @DeltaForce @wajdy essam @daka

السلام عليكم

معذرة أخي أنا لم أدخل للنت من مدة

إن شاء الله تكون وجدت الحل

انا لست مختص لاكن لو أردت أن أنشئ قاعدة بيانات من هذا الشكل سأعتمد على الشكل التالي

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

تخزن التواقيع بهذا النظام تأخذ توقيع الملف تحوله لنظام العشري تطبق نفس منهاجية للتحقق

المهم ستجد نفسك إما ستبحث في جدول صغير أو لا تبحث نهائيا و ترتاح لو محتاج شرح أكثر أنا في خدمة لو كنت متصل

حساب العضو تم حظره، له حسابان آخران وتم حظرهما أيضاً!، لا أعلم اذا مازال يزور الموقع.