minelife123/SysCore
GitHub: minelife123/SysCore
一个基于 C++20 的高性能跨平台系统工程与诊断框架,为底层系统编程提供全面的模块化抽象。
Stars: 1 | Forks: 0
# ⚡ SysCore:高性能现代 C++20 Windows 系统工程与诊断框架
[](https://en.cppreference.com/w/cpp/20)
[](https://microsoft.com/windows)
[](https://visualstudio.microsoft.com/)
[](LICENSE)
[](tests/test_main.cpp)
[](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解析, 安全意识培训, 底层开发, 系统编程, 系统诊断