更新日志 - 同步更新下载,点我跳转

2026-08-11: 增加Dll的编译,统一Dll,Exe和Sys的入口函数。增强VMP功能,对抗IDA静态反汇编。增加关键字加亮和补全提示。扩展API关键字功能,API()无参数,表示函数导出。加强Relfec反射功能,用户不用担心编译等级,可随意包含ring0或者ring3头文件,可反射任意头文件结构。

2026-08-12: 加强Reflec对复杂嵌套类的反射,新增使用嵌套方法

meta.SetValue("childNode.sensor.sensorId", (short)999);
assertTest(cloned.childNode->sensor.sensorId == 999, "Nested SetValue mutated deep pointer structure field");

2026-08-13: 去掉了只有关键字才能形成反射信息,进阶成AST完整扫描,并且深度cross-ring包含头文件。

2026-08-15: Vmp修饰的函数里,可使用我们的关键字,并且无内存泄漏。实现真正的Vmp。垃圾代码随机暴增在1000行到1500行之间,无明文和硬编码。

2026-08-16: 公测啦!!!

2026-08-17: 修复VS Intellisense惰性识别错误类型。

2026-08-18: 优化关键字拦截,增加Any关键字,从而实现动态Reflec,返回meta支持GetClassName(),GetFieldCount(),GetFieldName(i),GetMethodCount(),GetMethodName(i)

2026-08-18: 兼容第三方任何库,不对模板,抽象类进行反射。关键字内联,防止与第三方库冲突。

2026-08-21: 优化AST树,快速剪枝。增加C++ 14等语法的支持。动态定位SDK等大量优化。

Helix Framework 跨平台大一统引擎开发指南

1. 架构总览 (Architecture Overview)

Helix 是一套深度解耦、原生跨平台(Windows Ring 0/Ring 3, Linux, macOS)的 C++ 安全开发框架。它通过 C# VSIX Clang AST 扫描器 在预编译阶段自动生成 Helix.cpp,实现无感知的垃圾回收(GC)、控制流平坦化混淆(VMP)、原生 API 导入解析以及反射注册。无额外的Runtime库,语法标准要求至少C++20。

  • 开发原则:业务代码中只需包含 #include "Helix.h"。绝不手动干预内存释放。

  • 统一入口:废弃传统的 mainDriverEntry,双端代码统一使用 int main(void** args) 作为唯一入口点。

2. 核心语法糖与安全宏 (Core Syntax & Macros)

在编写 Helix 业务逻辑时,强制使用以下引擎原语:

  • 智能分配 (New):取代原生的 new/malloc。自动受底层保守式 GC(栈/BSS扫描)接管。

    C++
     
    auto entity = New<ComplexEntity>(1024); // 返回 HelixRef<ComplexEntity>,支持&和->操作符。内存安全和原生T*指针任意转换。
    
  • 混淆护盾 (Vmp):用于函数声明前。AST 扫描器会自动将其 AST 树打碎,生成带垃圾指令(Junk Code)的状态机(switch-case)扁平化代码。

    C++
     
    Vmp void ExecutePayload(int param) { ... }
    
  • 外部生命周期保护 (Extern):当需要将指针导出给系统回调、外部变量时,使用此宏声明,GC 将提升其存活期(Immortal)。为兼容第三方语言。在进程结束时释放。

    C++
     
    Extern void* globalResource;
    void Setup(Extern ComplexEntity** outNode);
    
  • 动态 API 劫持 (API):免驱解析底层导出表(兼容序号 Ordinal 与全小写调用约定)。底层自动使用 _15 映射到序号 15。

    C++
     
    API("ntdll.dll") NTSTATUS NTAPI _15(void* Param1);
    API("ws2_32.dll") int __stdcall _115(unsigned short wVersionRequested, void* lpWSAData);
    

3. 反射与序列化 (Reflection & Serialization)

所有通过 New 实例化的类,或使用了引擎类型特征的数组,均自动获得反射与 SFINAE 序列化能力。

  • 内存转储与反转储:完美支持多维嵌套结构(T[n], void*[n])。

    C++
     
    auto bytes = Serialize(entity); 
    auto cloned = Deserialize<ComplexEntity>(bytes);
    
  • 动态反射 (Reflec):运行时动态调用与设值。

    C++
     
    auto meta = Reflec(cloned);
    meta.SetValue("entityId", 2048);
    meta.Invoke("ProcessData", 5);
    

4. 系统指纹与跨进程原语 (System & Cross-Process)

抽象层(HAL)接管了所有底层探针,以下方法在 Ring 0 和 Ring 3 表现完全一致:

  • 指纹探测:返回受 GC 保护的托管结构体。

    C++
     
    auto sys = System();  // OSMajor, SerialNumber等
    auto cpu = Cpu();     // Vendor, Brand 等
    auto macs = Mac();    // 返回 HVector<MacInfo>
    auto disks = Disk();  // 返回 HVector<DiskInfo>,用法也可以是Disk("c")
    
  • 跨进程高维内存读写

    C++
     
    uint32_t targetPid = 1234;
    void* remoteMem = Allocate(targetPid, sizeof(int));// 内存安全,用户不用的担心释放问题,Helix插件全方位管理内存泄漏。
    
    // 写入
    Write(targetPid, remoteMem, 1337); 
    // 多维复杂数组注入
    Write<AdvancedArrayNode[2]>(targetPid, remoteArrayAddr, localArray);
    
    // 读取
    auto val = Read<int>(targetPid, remoteMem);
    auto arr = Read<AdvancedArrayNode[2]>(targetPid, remoteArrayAddr);
    

5. VSIX 幽灵构建机制 (Build Mechanism)

  • 幽灵目录Helix.cppHelix.h 不在项目源码目录下,而是由 VSIX 插件动态生成至 obj/x64/Debug/(幽灵目录)并借由 .targets 文件隐式注入 MSBuild。

  • 错误排查(异常桥接):如果 VSIX 引擎在后台解析 C++ AST 树时崩溃,会将异常转化为 C++ 编译指令,在 VS 中抛出 error C1189: #error [Helix VSIX Engine Crash] Detail: ...。此时需根据错误信息排查源码语法或插件环境。

  • 关键字:高效检测关键字。

posted on 2026-08-08 14:47  dalgleish  阅读(14)  评论(0)    收藏  举报