Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
aegis — 单头文件 C++20 软件保护 SDK,具备多态虚拟机代码虚拟化、编译期 MBA 与字符串混淆、25+ 加密原语、反调试/反转储以及 HWID 授权。 | Kitploit
工具/GitHubGitHub/1llu50ry/aegis
防御工具静态分析加密/解密工具身份管理逆向工程恶意软件分析密码学二进制分析反机器人
GitHub1llu50ry/aegis

aegis

单头文件 C++20 软件保护 SDK,具备多态虚拟机代码虚拟化、编译期 MBA 与字符串混淆、25+ 加密原语、反调试/反转储以及 HWID 授权。

31721小时前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库

🛡️ Aegis Protection Suite (aegis_protection.hpp)

单头文件 C++20 代码虚拟化、混淆、加密与防篡改 SDK

Language Architecture Header-Only Dependencies License

🇺🇸 English Documentation  |  🇷🇺 Русская документация


🇺🇸 English Documentation

工业级零依赖单头文件 C++20 软件保护 SDK(单个 .hpp 文件中包含 10,145+ 行代码):具有多态字节码的混合栈-寄存器虚拟机、类 C 脚本到 V-ISA 编译器、25+ 种密码学原语、编译期混淆、反调试、运行时内存完整性监控、加密 VFS 以及硬件绑定许可。

📦 仓库结构

无外部依赖、无复杂构建脚本、无杂乱内容——严格仅包含单头文件 SDK 及其验证测试套件:

├── aegis_protection.hpp   # Single-header C++20 SDK (10,145 LOC, 67 integrated subsystems)
├── test_all_in_one.cpp    # Complete verification suite (20 test suites + 12 crypto KAT checks)
└── README.md              # Bilingual documentation & developer manual (EN / RU)

⚡ 快速开始

将 aegis_protection.hpp 直接包含到你的 C++20 项目中:

#include "aegis_protection.hpp"

构建并运行测试(MSVC / Visual Studio)

cl /std:c++20 /EHsc /W4 /O2 test_all_in_one.cpp /Fe:test_all_in_one.exe
.\test_all_in_one.exe

构建并运行测试(Clang / GCC)

clang++ -std=c++20 -O2 -Wall -Wextra test_all_in_one.cpp -o test_all_in_one
./test_all_in_one

🏛️ 架构与 67 个集成子系统

flowchart LR
    A["Source Logic / Script"] --> B["AegisScript / BytecodeBuilder"]
    B --> C["IR Obfuscation Passes<br/>(Constant Blinding, MBA, Junk)"]
    C --> D["Polymorphic Opcode Map<br/>(Compile-Time Shuffle)"]
    D --> E["Rolling-Key Cipher<br/>+ BytecodeEnvelope"]
    E --> F["Aegis Virtual Machine<br/>(MBA Dispatch + Ephemeral Wipe)"]
    G["IntegrityWatchdog + VEH Guard"] --> F
类别命名空间关键类与能力
代码虚拟化(VM)aegis::vmVirtualMachine、BytecodeBuilder、BytecodeChunk、VMContext、NativeBridge、PolymorphicOpcodeMap(编译期 Fisher-Yates 256 操作码置换)、扩展 V-ISA(OP_BSWAP、OP_POPCNT、OP_VMEMCPY、OP_VMEMSET、OP_REKEY、OP_JUNK)
VM 编译器与工具链aegis::vm::*AegisScriptCompiler(将类 C 脚本编译为 V-ISA 字节码)、VmTextAssembler(带标签的文本汇编器)、BytecodeDisassembler(+ CFG 构建器)、BytecodeDecompiler(将字节码提升为 C 伪代码)、BytecodeObfuscationPipeline、SsaLifter(SSA + 线性扫描分配器)、BytecodeAbstractInterpreter、VMProfiler、VMDebugger
编译期混淆aegis::obfMba(混合布尔算术)、AEGIS_STR / AEGIS_STR_OBJ(constexpr 字符串加密,带自动栈清零)、AEGIS_INT / ObfuscatedInt、Opaque 谓词、FlatteningMachine(控制流平坦化)、EncryptedDispatchTable
对称密码与 AEADaegis::cryptoAes256(ECB/CBC/CTR + PKCS#7)、ChaCha20、ChaCha20Poly1305(RFC 8439 AEAD)、XChaCha20(192 位 nonce)、Salsa20、Camellia256(RFC 3713)、Serpent256(32 轮 SPN)、Threefish512(72 轮)、Blowfish、Rc6_256、Speck128、Simon128、Sm4、XTea
密码学哈希与 KDFaegis::cryptoSha256(FIPS 180-4 + HMAC)、Sha512 / Sha384(+ HMAC)、Keccak1600(sha3_256、sha3_512、shake256)、Blake2b、Blake2s、Ascon320(NIST SP 800-232)、Sm3、Poly1305、SipHash24、KdfEngine(pbkdf2_hmac_sha256、hkdf_extract/expand、memory_hard_derive)、ChaCha20Drbg(CSPRNG + UUIDv4)
公钥、秘密共享与 ECCaegis::crypto / aegis::mathX25519(RFC 7748 Curve25519 ECDH)、Uint256(mod_add、mod_mul、mod_pow)、ShamirSecretSharing($GF(2^8)$ 中的阈值 $(K, N)$)、SelfHealingBuffer(RAM 中的汉明 SEC-DED + XOR 奇偶校验恢复)、MerkleTree(包含证明)、WhiteBoxByteNetwork
反调试与内存防御aegis::anti / aegis::veh / aegis::watchdog / aegis::syscallAntiDebug(PEB、NtGlobalFlag、Dr0–Dr7、RDTSC、ThreadHideFromDebugger、ProcessDebugPort)、AntiVm(CPUID 虚拟机监控程序厂商、MAC、注册表)、EmulatorDetector(IEEE-754 NaN 载荷保真度)、AntiDump(erase_pe_headers)、IntegrityScanner、CodePatchGuard、ApiResolver(无 IAT 的 AEGIS_API)、SyscallResolver(ntdll.dll SSN 提取与钩子检测器)、VehGuard(硬件断点清除器)、IntegrityWatchdog(后台监控线程)
授权、VFS 与水印aegis::license / aegis::archive / aegis::watermarkLicenseManager(AEGIS-XXXX-... 密钥,带 HWID 绑定与 ChaCha20-Poly1305)、AegisVfsArchive(带 LZSS 压缩的加密虚拟文件系统)、BytecodeWatermarker(隐写式客户水印)、HardwareId(TPM 2.0 EKPub + CPUID)、PeImageAnalyzer、UniversalBinaryInspector(PE/ELF64/Mach-O)、SecurePacketChannel、EncryptedRingLogger、JsonParser

📘 开发者使用指南(英文)

第 1 步:项目集成

aegis_protection.hpp 是 100% 仅头文件的。在 Windows 上,所需的系统库(ncrypt.lib、crypt32.lib、advapi32.lib、psapi.lib、iphlpapi.lib)会通过 #pragma comment(lib, ...) 自动链接。

  • Visual Studio(.vcxproj):

    1. 将 aegis_protection.hpp 复制到你的项目目录中。
    2. 将 C/C++ → 语言 → C++ 语言标准 设置为 ISO C++20 Standard (/std:c++20)。
    3. 在你的 .cpp 文件中添加 #include "aegis_protection.hpp"。
  • CMake(CMakeLists.txt):

    cmake_minimum_required(VERSION 3.20)
    project(ProtectedApp LANGUAGES CXX)
    
    set(CMAKE_CXX_STANDARD 20)
    set(CMAKE_CXX_STANDARD_REQUIRED ON)
    
    add_executable(ProtectedApp main.cpp aegis_protection.hpp)
    

步骤 2. 快速保护宏速查表

宏用途示例
AEGIS_STR("...")在编译时(constexpr)加密字符串字面量,并按需将其解密到本地栈缓冲区printf("%s\n", AEGIS_STR("Secret Text"));
AEGIS_STR_OBJ("...")创建一个 RAII 加密字符串对象,该对象在离开作用域时自动擦除其栈内存(secure_zero)auto key = AEGIS_STR_OBJ("Bearer xyz");
AEGIS_INT(val)使用多态拆分和 MBA 在 IDA/Ghidra 中隐藏整数常量,使其无法被静态分析发现int port = AEGIS_INT(8443);
AEGIS_INT_VAR(T, name, val)声明一个类型为 ObfuscatedInt<T> 的混淆变量AEGIS_INT_VAR(uint32_t, flags, 0x1337);
AEGIS_API(mod, func, Type)通过 FNV-1a 哈希从已加载的 PE 模块中动态解析导出函数,无需导入地址表(IAT)条目auto pBeep = AEGIS_API("kernel32.dll", "Beep", BOOL(WINAPI*)(DWORD, DWORD));
AEGIS_DESYNC()生成一个带有死字节失步的不透明条件跳转,以破坏 IDA/Ghidra 中的线性反汇编AEGIS_DESYNC();
"..."_fnv1a在编译时计算 64 位 FNV-1a 哈希constexpr auto h = "ntdll.dll"_fnv1a;

步骤 3. 虚拟化关键代码的三种方式(V-ISA)

方法 A:流式 C++ BytecodeBuilder + 调用原生 C++ 函数(NativeBridge)

#include "aegis_protection.hpp"
#include <iostream>

int main() {
    using namespace aegis::vm;

    VirtualMachine vm;

    // Register a native C++ callback in the VM bridge (returns u64, takes VMContext&)
    aegis::u64 check_token_id = vm.native_bridge().register_function([](VMContext& ctx) -> aegis::u64 {
        aegis::u64 user_id = ctx.get_reg(VReg::R1);
        return (user_id == 42) ? 1ULL : 0ULL;
    });

    // Build polymorphic bytecode with rolling-key encryption
    BytecodeBuilder b(/*polymorphic=*/true);
    b.emit_junk(2)
     .mov(VReg::R1, 42)
     .call_native(check_token_id) // Pushes return value (1) onto the VM stack
     .pop(VReg::R0)               // Pop result into R0 (VM return register)
     .rekey(0x55AA55AAULL)        // Dynamically mutate rolling cipher key mid-stream
     .halt();

    BytecodeChunk chunk = b.build(/*initial_key=*/0x123456789ABCDEF0ULL);
    std::cout << "Auth result: " << vm.run(chunk) << "\n"; // 1
}

方法 B:文本汇编(VmTextAssembler)

auto chunk = aegis::vm::assembler::VmTextAssembler::assemble(R"(
    mov r1, 10
    mov r2, 20
    bswap r1
    popcnt r1
    add r1, r2
    mov r0, r1
    halt
)", 0xABCDEF123456ULL, /*polymorphic=*/true);

aegis::vm::VirtualMachine vm;
aegis::u64 result = vm.run(chunk);

方法 C:类 C 脚本编译器(AegisScriptCompiler)+ 3 层 BytecodeEnvelope

将高级脚本(let、if / else、while、return)直接编译为 BytecodeChunk,并将其封装在 3 层加密信封 中(LZSS 压缩 → 白盒 S-Box 网络 → ChaCha20-Poly1305 AEAD):

下载工具