项目结构
regInfo/ ├── CMakeLists.txt # CMake 构建(无外部依赖) ├── CLAUDE.md ├── include/ │ ├── machine_code.h # 获取机器码接口 │ ├── license.h # 生成/读取注册文件接口 │ ├── crypto.h # RC4/Base64/CRC32 │ └── json_utils.h # 内置轻量 JSON 解析器 ├── src/ │ ├── main.cpp # CLI 入口 │ ├── machine_code.cpp # CPU+硬盘 → 32位机器码 │ ├── license.cpp # 注册文件加密/解密 │ ├── crypto.cpp # 加密算法实现 │ └── json_utils.cpp # JSON 解析/序列化 └── build/Release/regInfo.exe # 编译产物 三个接口 命令 功能 regInfo machinecode 获取 8 位十六进制机器码(基于 CPU + 系统硬盘) regInfo generate -f [输出文件] 生成加密注册文件 license.xlts regInfo read <注册文件> 解密并显示注册信息 已验证的功能 机器码:BA8BAE64(每次调用一致,基于 CPUID + 硬盘序列号) 生成注册文件:JSON → RC4加密 → Base64 → license.xlts 读取注册文件:license.xlts → Base64解码 → RC4解密 → 还原JSON 构建命令
cmake -B build cmake --build build --config Release 跨平台支持 Windows(已验证)/ Linux / macOS,无任何外部依赖。
现在代码在 Windows x64(已验证编译)、Linux x86/ARM、macOS Intel/Apple Silicon 上均可直接 cmake --build 编译运行
调用说明: regInfo.exe machinecode Get this machine's unique code
regInfo.exe read Read and display all license info regInfo.exe -f - Show specific field(s) regInfo.exe -f -verify Verify license validity
Fields: -name, -machinecode, -phone, -unit, -authdatetime, -over, -update
注册文件校验错误Verify error codes: 0 valid 注册文件有效 10001 license file invalid 文件无效 10002 license expired (overdatetime) 过期 10004 machine code mismatch 机器码不匹配
注册生成的json文件格式如下: {"name":"...", "machinecode":"...", "phone":"...", "unit":"...", "authdatetime":"...", "overdatetime":"...", "updatedatetime":"..."}