Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
evtx — محلل سريع (وآمن) لتنسيق سجل أحداث XML لويندوز (EVTX) | Kitploit
أدوات/GitHubGitHub/omerbenamram/evtx
التحقيق الجنائي الرقميالتحاليل الرقمية الجنائيةالاستجابة للحوادثتحليل السجلات
GitHubomerbenamram/evtx

evtx

محلل سريع (وآمن) لتنسيق سجل أحداث XML لويندوز (EVTX)

عرض المستودع
94981منذ 2 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

EVTX

محلل عبر المنصات لصيغة سجل أحداث Windows XML


Crates.io version Download docs.rs docs safety-dance Build status

الميزات

  • 🔒 تم تطويره باستخدام Rust آمن 100% - ويعمل على جميع المنصات التي تدعمها Rust (التي تحتوي على stdlib).
  • ⚡ سريع - انظر مقاييس الأداء أدناه. إنه أسرع من أي تطبيق آخر بمراتب من حيث الحجم!
  • 🚀 متعدد الخيوط.
  • ✨ يدعم مخرجات XML و JSON، وكلاهما يُبنى مباشرة من تمثيل وسيط مشترك (IR) (بدون تحويل xml2json!)
  • ⛏️ يدعم استعادة أساسية للسجلات/القطع المفقودة!
  • 🐍 روابط Python متاحة أيضًا على https://github.com/omerbenamram/pyevtx-rs (وعلى PyPi https://pypi.org/project/evtx/)

العارض المستند إلى الويب (EVTX Web)

EVTX Web Screenshot

هل تفضل خيارًا بدون تثبيت؟ مستكشف EVTX كامل الميزات يعمل مباشرة في متصفحك، مدعومًا بنفس نواة Rust المترجمة إلى WebAssembly.

👉 جربه الآن: https://omerbenamram.github.io/evtx/

كل شيء يحدث محليًا – الملفات لا تغادر جهازك أبدًا. أبرز الميزات:

  • سحب وإسقاط ملفات .evtx (أو النقر للتصفح) – يتعامل مع سجلات كبيرة جدًا!
  • تحليل فائق السرعة عبر WebAssembly وعرض التمرير الافتراضي
  • فلاتر متعددة الأوجه على المستوى، المزود، القناة، معرف الحدث، وحقول EventData الديناميكية – جميعها مدعومة بـ DuckDB-WASM
  • بحث شامل، إدارة الأعمدة، وتصدير فوري بتنسيق JSON/XML للمجموعة المفلترة
  • سمات فاتحة/داكنة، تنقل بلوحة المفاتيح، وواجهة مستخدم على نمط Windows

يتم تقديم العارض بشكل ثابت من GitHub Pages؛ بعد التحميل الأول يعمل بالكامل دون اتصال.

التثبيت (الأداة الثنائية المرتبطة):

  • تحميل أحدث إصدار تنفيذي من https://github.com/omerbenamram/evtx/releases
    • يتم بناء الإصدارات تلقائيًا لأنظمة Windows و macOS و Linux. (ملفات تنفيذية 64-bit فقط)
  • البناء من المصادر باستخدام cargo install evtx

evtx_dump (أداة ثنائية):

الأداة الثنائية الرئيسية المقدمة مع هذه الحزمة هي evtx_dump، وتوفر وسيلة سريعة لتحويل ملفات .evtx إلى صيغ إخراج مختلفة.

بعض الأمثلة:

  • evtx_dump <evtx_file> يفرغ محتويات سجلات evtx بتنسيق XML.
  • evtx_dump -o json <evtx_file> يفرغ محتويات سجلات evtx بتنسيق JSON.
  • evtx_dump -f <output_file> -o json <input_file> يفرغ محتويات سجلات evtx بتنسيق JSON إلى ملف معين.
  • cat <evtx_file> | evtx_dump -o jsonl - يقرأ ملف EVTX من الإدخال القياسي (مفيد للأنابيب/فك الضغط).

يمكن دمج evtx_dump مع fd لمعالجة دفعية مريحة للملفات:

  • fd -e evtx -x evtx_dump -o jsonl سيقوم بمسح مجلد وتفريغ جميع ملفات evtx إلى ملف واحد بتنسيق jsonlines.
  • fd -e evtx -x evtx_dump '{}' -f '{.}.xml' سينشئ ملف xml بجوار كل ملف evtx، لجميع الملفات في المجلد بشكل متكرر!
  • إذا كان مصدر الملف يحتاج إلى إضافته إلى json، يمكن استخدام xargs (أو gxargs على mac) و jq: fd -a -e evtx | xargs -I input sh -c "evtx_dump -o jsonl input | jq --arg path "input" '. + {path: \$path}'"

ملاحظة: بشكل افتراضي، سيحاول evtx_dump استخدام تعدد الخيوط، مما يعني أن السجلات قد تُعاد خارج الترتيب.

لفرض الاستخدام أحادي الخيط (والذي سيضمن الترتيب أيضًا)، يمكن تمرير -t 1.

عرض القوالب دون اتصال (WEVT_TEMPLATE)

يمكن لسجلات EVTX أن تشير إلى تعريفات القوالب المخزنة في ملفات ثنائية للمزود (EXE/DLL/SYS). يستطيع evtx_dump استخراج تلك القوالب إلى ذاكرة تخزين مؤقتة غير متصلة واستخدامها وقت العرض.

ملاحظة: تتطلب هذه الوظيفة بناء evtx_dump مع ميزة Cargo wevt_templates (قد تتضمنها الإصدارات الثنائية بالفعل).

  • بناء ذاكرة تخزين مؤقتة (ملف .wevtcache محمول واحد):
    • evtx_dump extract-wevt-templates --input <provider.dll> --output /tmp/wevt_cache.wevtcache --overwrite
  • تفريغ ملف EVTX باستخدام الذاكرة المؤقتة (قاعدة حتمية: تطبق فقط عندما يفشل سجل بسبب GUID قالب مفقود/تالف بشكل صريح):
    • evtx_dump --wevt-cache /tmp/wevt_cache.wevtcache <log.evtx>

أدوات المساعدة في التصحيح:

  • تفريغ قيم استبدال TemplateInstance لسجل (JSONL):
    • evtx_dump dump-template-instances --input <log.evtx> --record-id <ID> | head -n1
  • عرض GUID قالب محدد مع استبدالات (XML إلى الإخراج القياسي):
    • evtx_dump apply-wevt-cache --cache /tmp/wevt_cache.wevtcache --template-guid <GUID> --evtx <log.evtx> --record-id <ID>

انظر docs/wevt_templates.md للتفاصيل والخلفية (issue #103).

مثال استخدام (كمكتبة):

root@kitploit:~
use evtx::EvtxParser;
use std::path::PathBuf;

// Change this to a path of your .evtx sample.
let fp = PathBuf::from(format!("{}/samples/security.evtx", std::env::var("CARGO_MANIFEST_DIR").unwrap()));

let mut parser = EvtxParser::from_path(fp).unwrap();
for record in parser.records() {
    match record {
        Ok(r) => println!("Record {}\n{}", r.event_record_id, r.data),
        Err(e) => eprintln!("{}", e),
    }
}

يتم تمكين الإصدار المتوازي عند التجميع مع ميزة "multithreading" (ممكّنة افتراضيًا).

قياس الأداء

عند استخدام تعدد الخيوط - يكون evtx أسرع بشكل ملحوظ من أي محلل آخر متاح. بالنسبة لأداء النواة الواحدة، فهو الأسرع والمحلل الوحيد عبر المنصات الذي يدعم مخرجات XML و JSON.

تم قياس الأداء على جهازي باستخدام hyperfine (أداة قياس إحصائية).

أجري الاختبارات على معالج AMD Ryzen 3900X ذو 12 نواة.

تشغيل القياس: يونيو 2026 (evtx 0.12.2).

النظام: Arch Linux (Linux 7.0.11-arch1-1 x86_64).

Commit القياس: 99a6def.

تم إعادة قياس أعمدة evtx — و pyevtx-rs، روابط Python الخاصة بنا، والتي تغلف نفس نواة Rust — في يونيو 2026 على نفس الجهاز، بعد تنفيذ إعادة كتابة القوالب المترجمة (انظر docs/compiled-templates.html). كلاهما هما بنيات PGO التي تُشحن لنظامي Linux/macOS (الملف الثنائي للإصدار وعجلة PyPI؛ التفاصيل أدناه). pyevtx-rs مقيد بـ Python marshaling لكل سجل (قاموس واحد لكل سجل) وليس بالمحلل، لذلك لا يرى تسريع النواة الكامل. أرقام المنافسين المتبقية (libevtx، velocidex/evtx، golang-evtx، python-evtx) منقولة بدون تغيير من تشغيل يناير 2026 على نفس الجهاز — أدوات خارجية لم يتغير أداؤها.

المكتبات التي تم قياسها:

  • python-evtx(https://github.com/williballenthin/python-evtx) - مع CPython و PyPy
  • pyevtx-rs(https://github.com/omerbenamram/pyevtx-rs) / evtx(https://pypi.org/project/evtx/) - روابط Python لهذه المكتبة
  • libevtx(https://github.com/libyal/libevtx)
  • golang-evtx(https://github.com/0xrawsec/golang-evtx.git) - JSON فقط (يستخدم تعدد الخيوط)
  • evtx(https://github.com/Velocidex/evtx) - JSON فقط.
  • evtx (هذه المكتبة)

ملاحظة: الأرقام المعروضة هي قياسات real-time (الوقت الذي يستغرقه الاستدعاء حتى الاكتمال). قياسات user-time تكون أعلى عند استخدام تعدد الخيوط/المعالجات المتعددة، بسبب حمل المزامنة.

مع 8 خيوط - يكون evtx أسرع بأكثر من 7000x من python-evtx عند تفريغ سجلات xml.

يصل الإنتاج الآن إلى التشبع عند حوالي 8 خيوط على هذه العينة بحجم 30MB: أصبح التحليل أحادي الخيط سريعًا بما يكفي (حوالي 3.8x أسرع من أرقام يناير 2026، على نفس الجهاز) بحيث لم يعد 30MB يحمل ما يكفي من العمل لإبقاء جميع النوى المنطقية الـ 24 مشغولة — 24 خيطًا ليس أسرع من 8 (كلاهما ضمن ضوضاء القياس، لذا يسلط الجدول الضوء على العمود 8 خيوط كنقطة تشبع). عند تلك النقطة، يكون evtx أسرع بحوالي 65x من golang-evtx، والذي يستخدم استراتيجية تعدد خيوط مماثلة.

بناء PGO

الأرقام أعلاه تأتي من بناء موجه بالملف الشخصي (./build_pgo.sh): يقوم بتدريب ثنائي مزود بأدوات القياس على مجموعة العينات، ثم يعيد البناء بهذا الملف الشخصي. تقوم CI بتشغيل هذا لثنائيات إصدار Linux (x86_64) و macOS، لذا يعكس الجدول الأداة التي ينزلها معظم الناس (الإخراج مطابق بايت لبناء عادي). يبلغ تحسين PGO حوالي 2–5% من الإنتاجية أحادية الخيط مقارنة بـ cargo build --release --features fast-alloc العادي (JSON 77.6 → 75 ms، XML 73.0 → 71 ms)؛ عند 8+ خيوط، يكون عبء العمل مقيدًا بالتشبع، لذا فإن PGO هناك ضمن ضوضاء القياس.

تحذيرات

  • غير منفذ حالياً:
    • عُقد CDATA.
    • نوع العقدة EVTHandle.

إذا حدث خطأ في المحلل على أي من هذه العقد، فلا تتردد في فتح مشكلة أو إرسال بريد إلكتروني مع عينة.

الترخيص

مرخص تحت أحد الخيارين التاليين

  • Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
  • MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)

حسب اختيارك.

المساهمة

ما لم تذكر صراحةً خلاف ذلك، فإن أي مساهمة تقدمها عمدًا لإدراجها في العمل، كما هو محدد في ترخيص Apache-2.0، ستكون مرخصة بشكل مزدوج كما هو مذكور أعلاه، دون أي شروط أو أحكام إضافية.

تنزيل الأداة
evtx (1 thread)evtx (8 threads)evtx (24 threads)libevtx (C)velocidex/evtx (go)golang-evtx (uses multiprocessing)pyevtx-rs (CPython 3.14.5)python-evtx (CPython 3.13.11)python-evtx (PyPy 7.3.19)
30MB evtx (XML)71.6 ms ± 1.8 ms20.7 ms ± 1.0 ms22.1 ms ± 1.7 ms2.439 s ± 0.035 sNo supportNo support204.6 ms ± 5.7 ms2m41.075s (ran once)40.096s (ran once)
30MB evtx (JSON)75.1 ms ± 2.1 ms20.5 ms ± 0.8 ms20.1 ms ± 0.9 msNo support5.467 s ± 0.038 s1.344 s ± 0.005 s223.1 ms ± 4.7 msNo supportNo support