العودة إلى التحديثات
New releaseAug 14, 2026

TABPE v2026.8

مجموعة بيانات أساسية شهرية لملفات Windows PE للباحثين في الأمن السيبراني

مشاركة

TABPE

ما هو TABPE؟

TABPE (مزيج من TABriz + PE - تبريز هي مسقط رأسي، وقد سميت هذا المشروع بهذا الاسم حباً بمدينتي) هو مجموعة بيانات مفتوحة ومنظمة تحتوي على معلومات حول جميع ملفات PE (ملفات ويندوز التنفيذية) بما في ذلك .exe و .dll و .sys وغيرها، على إصدارات ويندوز 10 برو وويندوز 11 برو النظيفة والمحدثة بالكامل.

سير عملي كالتالي:

  • قمت بتثبيت ويندوز، وفي كل شهر بعد أن تصدر مايكروسوفت تحديثاتها الأمنية (Patch Tuesday)، حاولت تحديث النظام.
  • في بعض الأشهر، تم تطبيق التحديث في نفس اليوم أو بعد بضعة أيام من Patch Tuesday.
  • في أشهر أخرى، بسبب أسباب مختلفة (مثل انقطاع الإنترنت في إيران)، لم أتمكن من التحديث في الوقت المحدد. في تلك الحالات، قمت بتنزيل ملفات التحديث (.msu) وتثبيتها يدوياً.
  • نتيجة لذلك، قد يختلف وقت المسح الدقيق بالنسبة لـ Patch Tuesday من بضعة أيام إلى بضعة أسابيع. ومع ذلك، في النهاية، تم تطبيق جميع التحديثات التي أصدرتها مايكروسوفت حتى تاريخ المسح على النظام.

يتم تسجيل وقت البدء والانتهاء الدقيق لكل مسح في ملف pe_files_info.json تحت قسم scan_info.

مخرجات المشروع

يوفر كل إصدار ثلاثة ملفات رئيسية:

الملفالوصف
pe_files_info.jsonالملف الرئيسي الذي يحتوي على معلومات كاملة حول جميع ملفات PE (الرؤوس، الأقسام، الواردات، الصادرات، تجزئة SHA256، معلومات الأمان، LOAD_CONFIG، إلخ)
file_list.txtقائمة كاملة بمسارات جميع ملفات PE في إصدار ويندوز المحدد
scanner.logسجل الأخطاء والملفات التي لم يتمكن الماسح من الوصول إليها (تم رفض الوصول) + الخطأ

نموذج هيكل pe_files_info.json

{
    "scan_info": {
        "start_time": "2026-06-04T06:21:51-07:00",
        "end_time": "2026-06-04T08:09:37-07:00",
        "duration": "1h 47m 45s",
        "windows_version": {
            "os_name": "Windows 11 Pro",
            "os_version": "10.0.26100.8457 Build 26100",
            "system_type": "x64-based PC",
            "version": "24H2",
            "last_update": "KB5087054"
        },
        "total_files": 29377,
        "error_files": 12,
        "error_files_list": [
            {
                "id": 7618,
                "path": "C:\\Windows\\SysWOW64\\compobj.dll"
            },
            {
                "id": 8561,
                "path": "C:\\Windows\\SysWOW64\\ole2disp.dll"
            },
            {
                "id": 8562,
                "path": "C:\\Windows\\SysWOW64\\ole2nls.dll"
            },
            {
                "id": 8560,
                "path": "C:\\Windows\\SysWOW64\\ole2.dll"
            },
            {
                "id": 8839,
                "path": "C:\\Windows\\SysWOW64\\storage.dll"
            },
            {
                "id": 8912,
                "path": "C:\\Windows\\SysWOW64\\typelib.dll"
            },
            {
                "id": 28768,
                "path": "C:\\Windows\\WinSxS\\x86_microsoft-windows-n..nd-syswow64-payload_31bf3856ad364e35_1.0.26100.1_none_d3b8ff829e6c9bfb\\ole2.dll"
            },
            {
                "id": 28767,
                "path": "C:\\Windows\\WinSxS\\x86_microsoft-windows-n..nd-syswow64-payload_31bf3856ad364e35_1.0.26100.1_none_d3b8ff829e6c9bfb\\compobj.dll"
            },
            {
                "id": 28769,
                "path": "C:\\Windows\\WinSxS\\x86_microsoft-windows-n..nd-syswow64-payload_31bf3856ad364e35_1.0.26100.1_none_d3b8ff829e6c9bfb\\ole2disp.dll"
            },
            {
                "id": 28770,
                "path": "C:\\Windows\\WinSxS\\x86_microsoft-windows-n..nd-syswow64-payload_31bf3856ad364e35_1.0.26100.1_none_d3b8ff829e6c9bfb\\ole2nls.dll"
            },
            {
                "id": 28772,
                "path": "C:\\Windows\\WinSxS\\x86_microsoft-windows-n..nd-syswow64-payload_31bf3856ad364e35_1.0.26100.1_none_d3b8ff829e6c9bfb\\typelib.dll"
            },
            {
                "id": 28771,
                "path": "C:\\Windows\\WinSxS\\x86_microsoft-windows-n..nd-syswow64-payload_31bf3856ad364e35_1.0.26100.1_none_d3b8ff829e6c9bfb\\storage.dll"
            }
        ]
    },
    "pe_files": [
        {
            "id": 1,
            "filename": "msdaosp.dll",
            "path": "C:\\Program Files\\Common Files\\System\\Ole DB\\msdaosp.dll",
            "sha256": "38390b62e81fd3381d6ea2d50c5e35ff93370e70122326c0cb8de53f9f9085d0",
            "file_type": "dll",
            "has_rich_header": "YES",
            "machine": "AMD64",
            "time_date_stamp": "2010-06-03 08:46:58 UTC",
            "characteristics": [
                "EXECUTABLE_IMAGE",
                "LARGE_ADDRESS_AWARE",
                "UP_SYSTEM_ONLY"
            ],
            "magic": "PE32+",
            "major_linker_version": 14,
            "minor_linker_version": 38,
            "major_os_version": 10,
            "minor_os_version": 0,
            "major_image_version": 10,
            "minor_image_version": 0,
            "major_subsystem_version": 10,
            "minor_subsystem_version": 0,
            "checksum": 188850,
            "subsystem": "WINDOWS_GUI",
            "dll_characteristics": [
                "DYNAMIC_BASE",
                "GUARD_CF",
                "HIGH_ENTROPY_VA",
                "NX_COMPAT"
            ],
            "data_directories": [
                "EXPORT_TABLE",
                "IMPORT_TABLE",
                "RESOURCE_TABLE",
                "EXCEPTION_TABLE",
                "BASE_RELOCATION_TABLE",
                "DEBUG",
                "LOAD_CONFIG_TABLE",
                "IAT"
            ],
            "sections": [
                {
                    "name": ".text",
                    "characteristics": [
                        "CNT_CODE",
                        "MEM_EXECUTE",
                        "MEM_SHARED"
                    ]
                },
                {
                    "name": "fothk",
                    "characteristics": [
                        "CNT_CODE",
                        "MEM_EXECUTE",
                        "MEM_SHARED"
                    ]
                },
                {
                    "name": ".rdata",
                    "characteristics": [
                        "CNT_INITIALIZED_DATA",
                        "MEM_EXECUTE"
                    ]
                },
                {
                    "name": ".data",
                    "characteristics": [
                        "CNT_INITIALIZED_DATA",
                        "MEM_EXECUTE",
                        "MEM_READ"
                    ]
                },
                {
                    "name": ".pdata",
                    "characteristics": [
                        "CNT_INITIALIZED_DATA",
                        "MEM_EXECUTE"
                    ]
                },
                {
                    "name": ".rsrc",
                    "characteristics": [
                        "CNT_INITIALIZED_DATA",
                        "MEM_EXECUTE"
                    ]
                },
                {
                    "name": ".reloc",
                    "characteristics": [
                        "CNT_INITIALIZED_DATA",
                        "LNK_NRELOC_OVFL",
                        "MEM_EXECUTE"
                    ]
                }
            ],
            "exports": [
                "DllCanUnloadNow",
                "DllGetClassObject",
                "DllMain",
                "DllRegisterServer",
                "DllUnregisterServer"
            ],
            "imports": [
                {
                    "dll_name": "ADVAPI32.DLL",
                    "functions": [
                        "RegCloseKey",
                        "RegOpenKeyExW",
                        "RegQueryValueExW"
                    ]
                },
                {
                    "dll_name": "KERNEL32.DLL",
                    "functions": [
                        "CompareStringA",
                        "CompareStringW",
                        "DeleteCriticalSection",
                        "DisableThreadLibraryCalls",
                        "EnterCriticalSection",
                        "GetCurrentProcess",
                        "GetCurrentProcessId",
                        "GetCurrentThread",
                        "GetCurrentThreadId",
                        "GetProcessHeap",
                        "GetSystemDefaultLCID",
                        "GetSystemInfo",
                        "GetSystemTimeAsFileTime",
                        "GetTickCount",
                        "InitializeCriticalSection",
                        "LeaveCriticalSection",
                        "MultiByteToWideChar",
                        "QueryPerformanceCounter",
                        "RtlCaptureContext",
                        "RtlLookupFunctionEntry",
                        "RtlVirtualUnwind",
                        "SetUnhandledExceptionFilter",
                        "Sleep",
                        "TerminateProcess",
                        "TryEnterCriticalSection",
                        "UnhandledExceptionFilter",
                        "WideCharToMultiByte"
                    ]
                },
                {
                    "dll_name": "MSVCRT.DLL",
                    "functions": [
                        "_XcptFilter",
                        "__C_specific_handler",
                        "_amsg_exit",
                        "_callnewh",
                        "_initterm",
                        "_mbsinc",
                        "_purecall",
                        "_wcsicmp",
                        "floor",
                        "free",
                        "malloc",
                        "memcmp",
                        "memcpy",
                        "memmove",
                        "memset",
                        "realloc"
                    ]
                },
                {
                    "dll_name": "OLE32.DLL",
                    "functions": [
                        "CLSIDFromProgID",
                        "CoCreateInstance",
                        "CoGetMalloc",
                        "CoTaskMemFree",
                        "ProgIDFromCLSID",
                        "StringFromCLSID"
                    ]
                },
                {
                    "dll_name": "USER32.DLL",
                    "functions": [
                        "DispatchMessageW",
                        "LoadStringW",
                        "MsgWaitForMultipleObjects",
                        "PeekMessageW",
                        "TranslateMessage"
                    ]
                }
            ],
            "debug_info": [
                "CODEVIEW"
            ],
            "mitigations": [
                "DYNAMIC_BASE/ASLR",
                "NX_COMPAT/DEP",
                "CFG",
                "HIGH_ENTROPY_VA"
            ],
            "has_certificate": false,
            "load_config": {
                "raw": "00000148 size\n0 time date stamp\n0.00 Version\n0 GlobalFlags Clear\n0 GlobalFlags Set\n0 Critical Section Default Timeout\n0 Decommit Free Block Threshold\n0 Decommit Total Free Threshold\n0000000000000000 Lock Prefix Table\n0 Maximum Allocation Size\n0 Virtual Memory Threshold\n0 Process Affinity Mask\n0 Process Heap Flags\n0 CSD Version\n0000 Dependent Load Flag\n0000000000000000 Edit List\n00000001800190C0 Security Cookie\n0000000180015B38 Guard CF address of check-function pointer\n0000000180015B40 Guard CF address of dispatch-function pointer\n0000000180015BD4 Guard CF function table\nA5 Guard CF function count\n10417500 Guard Flags\nCF instrumented\nFID table present\nProtect delayload IAT\nDelayload IAT in its own section\nExport suppression info present\nLong jump target table present\nEH Continuation table present\n0000 Code Integrity Flags\n0000 Code Integrity Catalog\n00000000 Code Integrity Catalog Offset\n00000000 Code Integrity Reserved\n0000000000000000 Guard CF address taken IAT entry table\n0 Guard CF address taken IAT entry count\n0000000000000000 Guard CF long jump target table\n0 Guard CF long jump target count\n0000000000000000 Dynamic value relocation table\n0000000000000000 Hybrid metadata pointer\n0000000000000000 Guard RF address of failure-function\n0000000000000000 Guard RF address of failure-function pointer\n00000228 Dynamic value relocation table offset\n0007 Dynamic value relocation table section\n0000 Reserved2\n0000000000000000 Guard RF address of stack pointer verification function pointer\n00000000 Hot patching table offset\n0000 Reserved3\n0000000000000000 Enclave configuration pointer\n0000000000000000 Volatile metadata pointer\n0000000180015B90 Guard EH continuation table\nD Guard EH continuation count\n0000000180015B48 Guard XFG address of check-function pointer\n0000000180015B50 Guard XFG address of dispatch-function pointer\n0000000180015B58 Guard XFG address of dispatch-table-function pointer\n0000000180015B60 CastGuard OS determined failure mode\n0000000000000000 Guard memcpy function pointer\nGuard CF Function Table\nAddress\n--------\n0000000180001060\n00000001800012E0\n0000000180001550\n00000001800017D0\n0000000180001AA0\n0000000180001AC0\n0000000180001AE0\n0000000180001B60\n0000000180001BA0\n0000000180001CF0\n0000000180001D10\n0000000180001D30\n0000000180001D40\n0000000180001D50\n0000000180001D60\n0000000180001D70\n0000000180002080\n00000001800022C0\n00000001800022D0\n00000001800022F0\n0000000180002B70\n0000000180003470\n00000001800034D0\n0000000180003D20\n0000000180003D30\n0000000180003D40\n0000000180003F30\n0000000180003F50\n0000000180003F60\n0000000180003F70\n0000000180003F80\n0000000180003F90\n0000000180003FA0\n0000000180003FC0\n0000000180003FD0\n0000000180003FE0\n0000000180003FF0\n0000000180004000\n0000000180004010\n0000000180004500\n00000001800046A0\n0000000180004800\n0000000180004810\n0000000180004840\n0000000180004A30\n0000000180005490\n00000001800054A0\n00000001800055A0\n0000000180005710\n00000001800057A0\n00000001800057B0\n00000001800059B0\n0000000180005AD0\n0000000180005B70\n0000000180005BB0\n0000000180005BD0\n0000000180005C10\n0000000180005E00\n00000001800062F0\n00000001800064C0\n0000000180006890\n00000001800068D0\n0000000180006A00\n0000000180006BB0\n0000000180006C30\n0000000180006C50\n0000000180007150\n00000001800075B0\n00000001800076A0\n0000000180007C60\nE 0000000180008570\nE 00000001800085E0\nE 00000001800088F0\n0000000180008BD0\n00000001800094F0\n0000000180009B80\n000000018000A040\n000000018000A060\n000000018000A0A0\n000000018000A3E0\n000000018000A420\n000000018000A620\n000000018000A790\n000000018000A890\n000000018000A8C0\n000000018000A930\n000000018000AA40\n000000018000AA70\n000000018000AAF0\n000000018000AB20\n000000018000AB80\n000000018000AC70\n000000018000ACA0\n000000018000AD30\n000000018000ADB0\n000000018000AE00\n000000018000AF40\n000000018000B470\n000000018000B630\n000000018000BA90\n000000018000CFF0\n000000018000D0D0\n000000018000D190\n000000018000D2E0\n000000018000D2F0\n000000018000D300\n000000018000D310\n000000018000D320\n000000018000D330\n000000018000D350\n000000018000D360\n000000018000D450\n000000018000D4C0\n000000018000D910\n000000018000D930\n000000018000E030\n000000018000E5B0\n000000018000EBF0\n000000018000EC00\n000000018000EF90\n000000018000F370\n000000018000F6F0\n000000018000F780\n000000018000F7D0\n000000018000F7E0\n000000018000F800\n000000018000F820\n000000018000F830\n000000018000FA80\n000000018000FCA0\n00000001800102A0\n0000000180010440\n00000001800104B0\n00000001800105D0\n0000000180010680\n0000000180010960\n0000000180010970\n0000000180010980\n0000000180010990\n00000001800109A0\n00000001800109B0\n0000000180010A10\n0000000180010A20\n0000000180010A30\n0000000180010A40\n0000000180010A50\n0000000180010A60\n0000000180010B50\n0000000180010B90\n0000000180010C90\n0000000180010D00\n0000000180010E80\n0000000180010FD0\n0000000180011580\n0000000180011750\n0000000180012050\n0000000180013080\n0000000180013100\n0000000180013120\n0000000180013140\n0000000180013170\n0000000180013180\n0000000180013190\n00000001800131C0\n00000001800131E0\nGuard EH Continuation Table\nAddress\n--------\n00000001800013A3\n00000001800013DA\n0000000180001411\n000000018000143E\n0000000180001460\n000000018000148E\n00000001800014C4\n0000000180001508\n0000000180001640\n00000001800085C4\n0000000180008B93\n000000018000D49B\n0000000180010CE8\nDynamic Value Relocation Table (version: 1)\nSymbol VA: 0000000000000007 IMAGE_DYNAMIC_RELOCATION_FUNCTION_OVERRIDE\nTotal function overrides size: 20 bytes\nBDD data: 20 bytes\nFunction Override (1)\nOriginal RVA: 00013480\nBDD Offset: 0\nRVA array size: 4\nReloc size: C\nRVAs:\n[00000000] 00013480\nBDD (version: 1, 18 bytes):\n[00000000] 0002, 0001, 00000142\n[00000001] 0001, 0001, 00000000\n[00000002] 0000, 0000, 00000000\nFixup RVAs:\n[00000000] = page 00014000 rva 00014011 type 1"
            }
        },

حالات الاستخدام في الأمن السيبراني

الدفاعي (الفريق الأزرق)

  • كشف التمويه (Masquerading Detection): من خلال مقارنة تجزئات الملفات على نظامك مع تلك الموجودة في TABPE، يمكنك اكتشاف الملفات المزيفة والبرامج الضارة التي تنتحل صفة ملفات النظام الشرعية (مثل svchost.exe مزيف).
  • تحليل الطب الشرعي (Forensics Analysis): من خلال البحث عن تجزئة ملف في TABPE، يمكنك تحديد ما إذا كان ينتمي إلى ويندوز نفسه أم أنه تهديد خارجي بسرعة.
  • تحديد LOLBin (الثنائيات المعتمدة على النظام): من خلال فحص قدرات ملفات ويندوز الشرعية (عبر الواردات والصادرات)، يمكنك رؤية الأدوات المدمجة التي قد يستخدمها المهاجمون لتنفيذ تعليمات برمجية ضارة.

الهجومي (الفريق الأحمر)

  • تحميل جانبي لـ DLL (DLL Side-Loading): من خلال فحص جدول الواردات للملفات التنفيذية الشرعية، يمكنك تحديد مكتبات DLL التي يقوم ملف تنفيذي معين بتحميلها. هذه المعلومات حاسمة لتقنيات التحميل الجانبي لـ DLL.
  • العثور على ملفات تفتقر إلى آليات الأمان: من خلال التحقق من قسم mitigations، يمكنك العثور على ملفات تفتقر إلى ASLR أو DEP، مما يسهل تطوير الاستغلالات.
  • تحديد LOLBin (الثنائيات المعتمدة على النظام): بالنسبة للفريق الأحمر، من الضروري معرفة ملفات ويندوز الشرعية التي لديها قدرات مثل تنفيذ التعليمات البرمجية، تنزيل الملفات، أو الاتصال بالشبكة لاستخدامها في الهجمات.

تحليل البرامج الضارة وتطوير الاستغلالات

  • كشف الحزم (Packer Detection): غالبًا ما تحتوي البرامج الضارة المعبأة على أقسام غير عادية. يوفر TABPE خطًا أساسيًا للملفات العادية حتى تتمكن من اكتشاف الحالات الشاذة بشكل أسرع.
  • فحص التخفيفات (Mitigation Checks): قبل كتابة استغلال، تحتاج إلى معرفة آليات الأمان (ASLR، DEP، CFG، إلخ) النشطة على الملف المستهدف. يمنحك TABPE هذه المعلومات.

تتبع التغييرات بمرور الوقت (المقارنة الثنائية)

من خلال مقارنة ملفات PE بين إصدارين مختلفين، يمكنك:

  • رؤية الملفات التي تغيرت بالضبط خلال كل Patch Tuesday.
  • تحديد التصحيحات الأمنية الصامتة.
  • تتبع تغييرات الملفات لتحليل الثغرات ذات اليوم الصفر.

معلومات تقنية

الميزةالقيمة
المنصةWindows 10 Pro & Windows 11 Pro (x64)
بيئة المحاكاة الافتراضيةVMware Workstation (جهاز افتراضي معزول، لا تداخل مع المضيف)
تكرار التحديثشهريًا (بعد كل Patch Tuesday)
عدد ملفات PE لكل إصدارما يقرب من 25,000 – 31,000 ملف
تنسيق الإخراجJSON (قابل للمعالجة باستخدام Python، PowerShell، C#، إلخ)
تنسيق الوسمYYYY.M (مثال: 2026.5 لشهر مايو 2026)
حجم الملف المضغوط~30 ميجابايت (JSON الأصلي ~1 جيجابايت)

إخلاء مسؤولية

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

الترخيص

تم إصدار هذا المشروع بموجب رخصة MIT.

الفئات