minelife123/SysCore

GitHub: minelife123/SysCore

一个基于 C++20 的高性能跨平台系统工程与诊断框架,为底层系统编程提供全面的模块化抽象。

Stars: 1 | Forks: 0

# ⚡ SysCore:高性能现代 C++20 Windows 系统工程与诊断框架 [![C++20 Standard](https://img.shields.io/badge/C%2B%2B-20-blue.svg?style=flat-square&logo=cplusplus)](https://en.cppreference.com/w/cpp/20) [![Platform](https://img.shields.io/badge/Platform-Windows_x64_%7C_Linux-0078D6.svg?style=flat-square&logo=windows)](https://microsoft.com/windows) [![Toolchain](https://img.shields.io/badge/MSVC_2022_%7C_GCC_11%2B_%7C_Clang_13%2B-purple.svg?style=flat-square)](https://visualstudio.microsoft.com/) [![License](https://img.shields.io/badge/License-MIT-green.svg?style=flat-square)](LICENSE) [![Unit Tests](https://img.shields.io/badge/Tests-44%20%2F%2044%20Passing-brightgreen.svg?style=flat-square)](tests/test_main.cpp) [![Dynamic Modules](https://img.shields.io/badge/Dynamic_Modules-13_Loaded-orange.svg?style=flat-square)](modules/) **SysCore** 是一个开源、可用于生产环境、超高性能的 Windows 系统编程框架,使用现代 **C++20** 编写。SysCore 专为系统架构师、逆向工程师、安全分析师和恶意软件研究人员设计,为底层 Win32 API、PE header 解析、thread pool 任务调度、shared memory IPC、Win32 Service Control Manager (SCM)、Registry、Named Pipes、PSAPI 驱动审计、Process Security Tokens 以及实时目录监控提供了简洁的抽象层。 ## 🌟 核心架构与引擎子系统 ### 🛠 核心子系统(19 个模块) 1. **RAII Win32 Handle Wrappers (`SysCore::Core::UniqueHandle`)** - 用于 `HANDLE`、`HMODULE`、`SC_HANDLE` 和进程句柄(`ProcessHandle`、`FileHandle`、`ModuleHandle`)的仅移动且异常安全的 RAII wrapper。 2. **Scoped Virtual memory Allocator (`SysCore::Resources::ScopedVirtualMem`)** - 利用 `VirtualAlloc` 和 `VirtualFree`(`MEM_COMMIT | MEM_RESERVE`,`PAGE_READWRITE`)进行安全的页内存管理。 3. **PE Export Table Resolver (`SysCore::Utils::ExportResolver`)** - 零依赖的 PE header 解析器,用于运行时导出解析(`IMAGE_DOS_HEADER`、`IMAGE_NT_HEADERS`、`IMAGE_EXPORT_DIRECTORY`)。 4. **Shared Memory IPC Channel (`SysCore::IPC::SharedMemoryChannel`)** - 高吞吐量的进程间内存映射(`CreateFileMappingW`、`MapViewOfFile`),带有原子的 FIFO Ring Buffer。 5. **Lock-Free Multithreaded Worker Pool (`SysCore::Threading::ThreadPool`)** - C++20 thread pool(`std::jthread`、`std::stop_token`),支持异步任务分发和 `std::future` 结果检索。 6. **Hot-Reloadable Dynamic Plugin System (`SysCore::Modules::ModuleManager`)** - 动态 DLL 插件管理器,支持运行时加载(`LoadLibraryW`、`GetProcAddress`)、签名验证和热插拔。 7. **Config & Settings Manager (`SysCore::Config::ConfigManager`)** - 用于全局运行时配置的线程安全键值存储。 8. **Type-Safe Decoupled Event Bus (`SysCore::Events::EventBus`)** - 支持自定义事件结构体的发布-订阅事件机制。 9. **High-Precision Scope Profiler (`SysCore::Profiling::PerformanceProfiler`)** - 微秒级作用域计时宏(`SYSCORE_PROFILE_SCOPE`),带有汇总调用报告。 10. **Dynamic Module Integrity Verifier (`SysCore::Modules::ModuleVerifier`)** - 在加载前检查 `CreateModule` 和 `DestroyModule` 导出的 PE 导出验证器。 11. **WinSock2 Socket Network Manager (`SysCore::Network::NetworkManager`)** - 进程 socket 监控和 WinSock2 初始化。 12. **Trampoline Detour Hook Engine (`SysCore::Instrumentation::HotPatchManager`)** - 通过 x64 14 字节绝对跳转(`FF 25 00 00 00 00 [64-bit addr]`)进行 inline 函数 hooking,并带有 trampoline 执行备份。 13. **Hardware Telemetry Subsystem (`SysCore::Hardware::HardwareInfo`)** - CPU 拓扑、RAM 使用情况和 Windows OS 版本检测(`GetLogicalProcessorInformationEx`、`GlobalMemoryStatusEx`)。 14. **Cryptographic SHA-256 Hasher (`SysCore::Crypto::CryptoHashManager`)** - Windows CNG(`BCryptOpenAlgorithmProvider`、`BCryptCreateHash`)SHA-256 哈希生成器。 15. **REST Telemetry HTTP Server (`SysCore::Network::TelemetryHttpServer`)** - 在后台线程运行的轻量级嵌入式 REST API server,用于处理 HTTP GET 指标请求。 16. **Win32 Overlapped Async File I/O (`SysCore::IO::AsyncFileEngine`)** - 使用 `OVERLAPPED` 结构体和 Win32 事件通知的非阻塞异步文件读写。 17. **Service Control Manager Auditor (`SysCore::Services::ServiceManager`)** - 通过 `EnumServicesStatusExW` 枚举活动的 Windows 服务。 18. **Nanosecond Micro-Benchmark Engine (`SysCore::Profiling::BenchmarkEngine`)** - 高精度的每秒操作数和每操作纳秒级微基准测试引擎。 19. **Windows Registry API Engine (`SysCore::Registry::RegistryManager`)** - 通过 `RegOpenKeyExW` 和 `RegEnumValueW` 安全读取 Registry 键(`HKLM`、`HKCU`)。 20. **Named Pipe Streaming Channel (`SysCore::IPC::NamedPipeChannel`)** - 通过 Win32 Named Pipes(`CreateNamedPipeW`)进行进程间通信流。 21. **PSAPI Kernel Driver Auditor (`SysCore::Kernel::DriverInfo`)** - 使用 `EnumDeviceDrivers` 枚举已加载的内核设备驱动程序。 22. **Process Token Security Auditor (`SysCore::Security::TokenManager`)** - 进程提权状态、token 完整性级别和权限枚举器(`OpenProcessToken`)。 23. **Win32 Directory Watcher Engine (`SysCore::IO::DirectoryWatcher`)** - 实时目录监控引擎(`ReadDirectoryChangesW`、`CancelIoEx`)。 ## 🧩 13 个核心动态 DLL 模块 | 模块名称 | 文件 | 描述 | |---|---|---| | `SampleMemoryModule` | `SampleModule.dll` | 演示动态模块内存分配和热重载。 | | `MemoryDiagnosticModule` | `MemoryDiagnosticModule.dll` | 审计进程内存页(`VirtualQueryEx`)并检查 W^X 安全性。 | | `SystemMetricsModule` | `SystemMetricsModule.dll` | 报告系统 RAM、可用内存和总句柄数。 | | `ProcessWatcherModule` | `ProcessWatcherModule.dll` | 通过 Toolhelp32 快照枚举活动的运行进程。 | | `NetworkDiagnosticModule` | `NetworkDiagnosticModule.dll` | 通过 `GetExtendedTcpTable` 扫描活动的进程 socket 连接。 | | `CryptoIntegrityModule` | `CryptoIntegrityModule.dll` | 使用 Windows CNG 计算 SHA-256 加密摘要。 | | `DiskDiagnosticModule` | `DiskDiagnosticModule.dll` | 审计 `C:\` 驱动器的存储容量和剩余磁盘空间。 | | `ServiceDiagnosticModule` | `ServiceDiagnosticModule.dll` | 通过 Service Control Manager 审计 300 多个活动的 Windows 服务。 | | `RegistryDiagnosticModule` | `RegistryDiagnosticModule.dll` | 读取 Windows OS 构建信息和 HKLM 自动运行项。 | | `PipeDiagnosticModule` | `PipeDiagnosticModule.dll` | 测试 Named Pipe server 创建和 IPC 流。 | | `DriverDiagnosticModule` | `DriverDiagnosticModule.dll` | 通过 PSAPI 审计活动的内核设备驱动程序。 | | `SecurityDiagnosticModule` | `SecurityDiagnosticModule.dll` | 审计进程安全提权状态、完整性级别和 token 权限。 | | `FileWatcherModule` | `FileWatcherModule.dll` | 实时监控文件创建、删除和修改事件。 | ## 💻 快速开始与构建说明 ### 环境要求 - **Windows 10 / 11 (x64)** - **Visual Studio 2022** 包含 C++ 桌面开发工作负载 - **CMake 3.20+** ### 通过 CMake 构建 (Windows MSVC) ``` git clone https://github.com/your-username/SysCore.git cd SysCore cmake -B build -G "Visual Studio 17 2022" -A x64 cmake --build build --config Release ``` ### 通过 CMake 构建 (Linux GCC 11+ / Clang 13+) ``` git clone https://github.com/your-username/SysCore.git cd SysCore cmake -B build -DCMAKE_BUILD_TYPE=Release cmake --build build ``` ### 运行自动化单元测试套件 ``` # Windows .\build\Release\SysCoreUnitTestApp.exe # Linux ./build/SysCoreUnitTestApp ``` ### 运行系统应用程序 ``` # Windows .\build\Release\SystemCoreApp.exe # Linux ./build/SystemCoreApp ``` ## 🐧 Linux & POSIX 抽象层路线图 虽然 SysCore 专精于深度的 Win32/PE 底层架构,但其核心组件(**ThreadPool**、**ConfigManager**、**EventBus**、**PerformanceProfiler**、**CryptoHash**、**BenchmarkEngine**、**SharedMemory IPC**)均符合跨平台 C++20 标准。 在整个架构中实现的 POSIX/Linux 抽象等价物: - **Dynamic Modules**:`dlopen` / `dlsym` / `dlclose`(替代 `LoadLibraryW` / `GetProcAddress`)。 - **File System Watcher**:`inotify`(`inotify_init1`、`inotify_add_watch`)。 - **Shared Memory IPC**:POSIX shared memory(`shm_open`、`mmap`)。 - **Process & Security Audit**:`/proc` 文件系统(`/proc/[pid]/status`、`/proc/[pid]/maps`)。 ## 📄 许可证 本项目基于 MIT 许可证授权 - 详见 [LICENSE](LICENSE) 文件了解详情。
标签:Bash脚本, Bing搜索, C++20, Linux, PE解析, 安全意识培训, 底层开发, 系统编程, 系统诊断