Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/gmh5225/lithium-kernel
تحليل الذاكرة الجنائيالهندسة العكسيةمكافحة الروبوتاتاستغلال الملفات الثنائية
GitHubgmh5225/lithium-kernel

lithium-kernel

برنامج تشغيل وضع النواة في ويندوز مع عميل وضع المستخدم يعرض القراءة/الكتابة في الذاكرة الفيزيائية والافتراضية عبر IOCTL، والتنقل في جداول الصفحات، ومسح الأنماط، ومحاكاة الإدخال للغش في الألعاب.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

██╗     ██╗████████╗██╗  ██╗██╗██╗   ██╗███╗   ███╗
██║     ██║╚══██╔══╝██║  ██║██║██║   ██║████╗ ████║
██║     ██║   ██║   ███████║██║██║   ██║██╔████╔██║
██║     ██║   ██║   ██╔══██║██║██║   ██║██║╚██╔╝██║
███████╗██║   ██║   ██║  ██║██║╚██████╔╝██║ ╚═╝ ██║
╚══════╝╚═╝   ╚═╝   ╚═╝  ╚═╝╚═╝ ╚═════╝ ╚═╝     ╚═╝

إطار عمل لبرنامج تشغيل وضع النواة في Windows مع عميل وضع المستخدم

Language Platform Arch Mode

[!IMPORTANT]

احصل على المشروع الكامل

ملفات الحل متاحة عبر خادم Discord.

هل أنت مهتم بشراء الشيفرة المصدرية الكاملة؟ تواصل معي على Telegram أو Discord: @tonythimself.


نظرة عامة

Lithium هو برنامج تشغيل وضع النواة في Windows (lithium-kernel) مقترن بعميل وضع المستخدم (lithium-usermode). يتواصل عبر واجهة IOCTL مخصصة ويكشف عن عمليات التلاعب بالذاكرة منخفضة المستوى، والمشي في جداول الصفحات، وبدائيات التحكم في أجهزة الإدخال.


الميزات

الميزةالوصف
قراءة/كتابة الذاكرة الفيزيائيةقراءة/كتابة العناوين الفيزيائية مباشرة عبر MmCopyMemory
قراءة/كتابة الذاكرة الافتراضيةالوصول إلى الذاكرة الافتراضية عبر العمليات عبر MmCopyVirtualMemory
استخراج DTBاستخراج قاعدة جدول الدليل عبر تعداد قاعدة بيانات PFN
المشي في جدول الصفحاتترجمة العنوان الخطي مع التخزين المؤقت لطبقات PML4/PDPT/PD/PT
مسح الأنماطمسح التوقيعات بأسلوب IDA عبر ذاكرة العملية
تخصيص الذاكرةZwAllocateVirtualMemory في سياق العملية الهدف
حماية الذاكرةZwProtectVirtualMemory في سياق العملية الهدف
محاكاة الفأرةإدخال الفأرة على مستوى النواة عبر خطاف استدعاء خدمة MouClass
إخفاء الخيوطتزييف حقول ETHREAD (عنوان البدء، CID، وقت الإنشاء، إلخ)
تعطيل استدعاء NMIكتم استدعاء NMI للتهرب من أدوات التصحيح
تنظيف التجمعإزالة إدخال جدول التجمع الكبير من متتبع تجمع النواة

هيكل المشروع

lithium/
├── lithium-kernel/              # Kernel-mode driver (KMDF)
│   ├── entry.cpp                # DriverEntry entry point
│   ├── core/
│   │   ├── dispatch/            # IOCTL dispatch and request routing
│   │   ├── requests/
│   │   │   ├── directory-table-base/  # DTB resolution & page table walk
│   │   │   ├── image-base/           # Process module base retrieval
│   │   │   ├── mouse/                # Mouse input emulation via MouClass
│   │   │   ├── read-write/           # Physical and virtual memory R/W
│   │   │   └── virtual-memory/       # Allocate, protect, query, pattern scan
│   │   └── utilities/
│   │       ├── kernel/          # Module enumeration, NMI, thread ops
│   │       └── ...              # Pool cleaner, CRT shim
│   └── dependencies/
│       ├── additional/
│       │   ├── crt/             # Minimal CRT implementation
│       │   ├── security/        # skCrypter string encryption, oxorany
│       │   └── structures/      # Shared invoke data structures
│       └── includes.hpp         # Master include header
│
└── lithium-usermode/            # User-mode client
    ├── entry.cpp                # Client entry point
    ├── core/
    │   └── driver/              # IOCTL communication layer
    └── dependencies/
        ├── additional/
        │   └── structs.hpp      # Page table entry unions & helpers
        └── includes.hpp

واجهة IOCTL

يتم إنشاء الاتصال عبر اعتراض روتين إرسال IOCTL لبرنامج تشغيل موجود (ProcObsrvesx.sys). عند التحميل، يحدد برنامج النواة برنامج التشغيل الهدف، ويمسح بحثًا عن معالج إرسال IRP الخاص به، ويستبدله بترامبولين إلى hooked_ioctl الخاص بـ lithium. يفتح عميل وضع المستخدم \\.\ProcObsrvesx ويتم إعادة توجيه جميع IOCTLs بشفافية عبر الخطاف.

الرمزبنية الإدخالالإجراء
invoke_basebase_invoke { pid, handle }استرداد قاعدة صورة العملية
invoke_dtbdtb_invoke { pid, dtb }استخراج قاعدة جدول الدليل
invoke_readread_invoke { pid, directory_table, address, buffer, size }قراءة الذاكرة الفيزيائية
invoke_writewrite_invoke { pid, directory_table, address, buffer, size }كتابة الذاكرة الفيزيائية
invoke_read_virtualread_virtual_invoke { pid, address, buffer, size }قراءة الذاكرة الافتراضية
invoke_write_virtualwrite_virtual_invoke { pid, address, buffer, size }كتابة الذاكرة الافتراضية
invoke_allocateallocate_invoke { pid, type, protection, address, size }تخصيص الذاكرة الافتراضية
invoke_protectprotect_invoke { pid, protection, address, size }تغيير حماية الذاكرة
invoke_virtual_queryquery_virtual_invoke { pid, address, mbi }الاستعلام عن معلومات الذاكرة الافتراضية
invoke_pattern_scanpattern_invoke { pid, signature, address, pattern_address }مسح الأنماط في الذاكرة
invoke_move_mousemouse_invoke { x, y, flags, button_flags }محاكاة إدخال الفأرة

التفاصيل الداخلية

استخراج DTB

يكرر برنامج التشغيل على نطاقات الذاكرة الفيزيائية التي يعيدها MmGetPhysicalMemoryRanges، ويمشي في قاعدة بيانات PFN لتحديد إدخال PML4 ذاتي الإشارة، ويتحقق من كل طبقة جدول صفحات لتأكيد قاعدة جدول الدليل الصحيحة لعملية معينة.

المشي في جدول الصفحات

تعبر الترجمة من الخطي إلى الفيزيائي التسلسل الهرمي لجدول الصفحات رباعي المستويات x64 (PML4 → PDPT → PD → PT) مع التخزين المؤقت لكل مستوى. يتم تضمين دعم الصفحات الكبيرة (2MB / 1GB) على أساس بذل أفضل جهد.

محاكاة الفأرة

يحدد برنامج التشغيل كائنات برنامج التشغيل MouClass و MouHID، ويستخرج MouseClassServiceCallback من امتداد جهاز HID، ويحقن حزم MOUSE_INPUT_DATA مباشرة في سلسلة الاستدعاء.

إخفاء الخيوط

يتم حفظ حقول ETHREAD الرئيسية — وقت الإنشاء، عنوان البدء، عنوان بدء Win32، مكدس النواة، CID، وحالة الخروج — واستبدالها بقيم حميدة أو فارغة. عند التفكيك، يتم استعادة القيم الأصلية قبل إنهاء الخيط.


المتطلبات

  • Windows 10/11 x64
  • Visual Studio 2022 أو أحدث مع Windows Driver Kit (WDK) 10.0.26100.0
  • طريقة تحميل برنامج تشغيل النواة (test signing، kernel mapper، إلخ)

البناء

  1. افتح lithium.sln في Visual Studio
  2. اضبط التكوين على Release / x64
  3. ابنِ lithium-kernel → lithium-kernel.sys
  4. ابنِ lithium-usermode → lithium-usermode.exe

أو عبر MSBuild:

msbuild lithium.sln /p:Configuration=Release /p:Platform=x64

الاستخدام

#include <core/driver/driver.hpp>

g_driver->initialize_handle();
DWORD pid = g_driver->get_process_id(L"target.exe");
g_driver->attach(pid);

g_driver->image_base = g_driver->get_image_base(0);
g_driver->dtb = g_driver->resolve_directory_table_base();

auto value = g_driver->read<uintptr_t>(g_driver->image_base + 0xOFFSET);
g_driver->mouse_event(-10, -10, 0, 0);

التبعيات

  • skCrypter — تشفير النصوص في وقت الترجمة
  • oxorany — تشويش الثوابت في وقت الترجمة

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

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


built for research · not for production
تنزيل الأداة