واجهة البحث عن التواقيع
يوفر AMWScan\Signatures عمليات بحث للقراءة فقط ضمن فهارس التواقيع المضمّنة. استخدمه للإثراء أو الفرز. استخدم Scanner عندما تحتاج إلى اجتياز نظام الملفات أو مطابقة الأنماط أو إعداد التقارير أو المعالجة.
use AMWScan\Signatures;
$match = Signatures::findKnownMalwareHash('sha256', $sha256);
if ($match !== null) {
printf("%s: %s\n", $match['severity'], $match['description']);
}
SHA-256 للبرامج الخبيثة المعروفة
| الطريقة | الإدخال | الإرجاع |
|---|---|---|
findKnownMalwareHash(string $algorithm, string $hash) | الخوارزمية sha256 وتجزئة SHA-256 سداسية عشرية من 64 حرفا | سجل مطابقة أو null |
getKnownMalwareSha256() | لا شيء | مصفوفة من تجزئات SHA-256 المضمّنة |
getKnownMalwareIndexSha256() | لا شيء | المجموع الاختباري SHA-256 لفهرس المصدر المضمّن |
getKnownMalwareMd5PrefixCount() | لا شيء | عدد سجلات بادئة MD5 ذات العرض الثابت |
matchesKnownMalwareMd5(string $md5) | MD5 سداسي عشري من 32 حرفا | true عندما تظهر بادئته ذات الأحرف الثمانية في الفهرس |
تتحقق findKnownMalwareHash() من كلتا الوسيطتين. تعيد null لخوارزمية غير مدعومة أو تجزئة مشوهة أو عدم وجود مطابقة دقيقة. يحتوي سجل المطابقة الإيجابي على المفاتيح id وalgorithm وhash وseverity وdescription.
مطابقة بادئة MD5 هي إشارة مرشحة وليست مطابقة دقيقة لملف كامل. أبقها منفصلة عن مطابقات SHA-256 الدقيقة في التنبيهات وراجع الملف قبل معالجته.
توحيد اللب القديم
| الطريقة | الإدخال | الإرجاع |
|---|---|---|
normalizedFileSha256(string $path) | ملف عادي موجود وليس رابطا رمزيا | سلسلة SHA-256 موحّدة أو null |
matchesLegacyCoreSha256(string $sha256) | SHA-256 سداسي عشري من 64 حرفا | bool |
matchesLegacyCoreFile(string $path) | ملف عادي موجود وليس رابطا رمزيا | bool |
getLegacyCoreSha256Count() | لا شيء | عدد سجلات اللب القديم |
getLegacyCoreIndexSha256() | لا شيء | المجموع الاختباري SHA-256 لفهرس مصدر اللب القديم |
تزيل normalizedFileSha256() المسافات وعلامات الجدولة ومحارف إرجاع السطر وتغذية السطر أثناء التجزئة. يدعم هذا مطابقة اللب القديم؛ ولا ينتج القيمة نفسها التي تنتجها hash_file('sha256', $path) لملفات المصدر المنسقة.
مؤشرات النطاق
تعيد getDomainIndicators() سجلات تحتوي على id وdomain وclassification وseverity. تستخدم السجلات المضمّنة classification: suspicious وseverity: warn.
foreach (Signatures::getDomainIndicators() as $indicator) {
if ($indicator['domain'] === $domain) {
// Record a warning-level enrichment signal.
}
}
يحتاج مؤشر نطاق مشبوه إلى سياق. يمكن إعادة تخصيص النطاقات أو معالجتها أو الإشارة إليها في محتوى مؤرشف. لا تحظر حركة المرور أو تعدل الملفات بناء على هذه الإشارة وحدها.
بيانات التعريفات الداخلية
تدعم Signatures::$raw وSignatures::$regex وSignatures::$domains وgetAll() وoptimizeSignatures() اكتشاف الفاحص. وهي ليست عقد امتداد. وعلى وجه الخصوص، تعدّل optimizeSignatures() وسيطتها الممررة بالمرجع. تجنب تعديل مصفوفات التعريفات في عملية تطبيق؛ واستخدم إعداد الفاحص ومراجعة التقرير بدلا من ذلك.