GoesSoftware.SuperSDK.Universal
7.27.0
dotnet add package GoesSoftware.SuperSDK.Universal --version 7.27.0
NuGet\Install-Package GoesSoftware.SuperSDK.Universal -Version 7.27.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="GoesSoftware.SuperSDK.Universal" Version="7.27.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="GoesSoftware.SuperSDK.Universal" Version="7.27.0" />
<PackageReference Include="GoesSoftware.SuperSDK.Universal" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add GoesSoftware.SuperSDK.Universal --version 7.27.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: GoesSoftware.SuperSDK.Universal, 7.27.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package GoesSoftware.SuperSDK.Universal@7.27.0
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=GoesSoftware.SuperSDK.Universal&version=7.27.0
#tool nuget:?package=GoesSoftware.SuperSDK.Universal&version=7.27.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
GoesSuperDriver
这是一个用于汽车电子测试连接各种仪器使用的驱动库。
✨ 核心特性
- 🔌 多仪器支持:DMM、示波器、电源等测试设备驱动
- 🔐 License 保护:RSA 签名 + 机器绑定验证
- 🛡️ 代码混淆:Obfuscar 保护核心逻辑
- 🚀 跨平台:支持 Windows/Linux
📦 License 授权方式
自动化机器绑定流程
1️⃣ 客户端无 License 运行
- 自动生成
machine.mci文件 - 位置:
C:\Users\<用户>\LicenseMci\machine.mci - MCI 文件包含加密的硬件信息(CPU ID + 主板序列号)
2️⃣ 客户发送 MCI 文件
- 客户通过邮件发送
machine.mci给管理员
3️⃣ 管理员生成 License
- 运行
LicenseGeneratorTool.exe(Avalonia UI 工具) - 加载 MCI 文件,自动解密显示硬件信息
- 填写客户信息和有效期
- 生成绑定该机器的
GoesSuperDriver.lic文件
4️⃣ 客户获得授权
- 管理员发送
.lic文件 - 客户放置到应用程序根目录
- 应用启动时自动验证(包括机器匹配检查)
🔒 安全特性
| 特性 | 说明 |
|---|---|
| RSA 2048 签名 | 防止 License 文件被篡改 |
| 机器硬件绑定 | SHA256(CPU ID + 主板序列号) |
| AES 加密 MCI | 硬件信息加密传输 |
| 代码混淆 | Obfuscar 混淆验证逻辑和公钥 |
| 灵活有效期 | 支持试用(30天)/标准(自定义)/永久(不过期) |
| 延迟生效 | 可设置未来生效日期 |
📖 文档
- LICENSE_GUIDE.md - License 管理完整指南
- LICENSE_GUIDE.md#机器绑定策略 - 何时使用机器绑定
🚀 快速上手
客户首次使用(无 License)
using GoesSuperDriver.Drivers;
var dmm = new Keysight_DMM6500();
// 抛出异常:License 验证异常
// 已生成机器信息文件: C:\Users\<用户>\GoesLicenseMci\machine.mci
客户将 machine.mci 文件发送给管理员。
管理员生成 License
# 首次使用需打包工具
.\打包License工具.bat
# 启动 License 生成工具
.\启动License工具.bat
UI 操作:
- 📁 选择客户的
machine.mci文件 - ✏️ 填写客户信息:
- 姓名/邮箱
- License 类型:标准版/试用版(30天)/永久版
- 生效日期(可选):设置未来生效
- 过期日期:永久版自动禁用
- ✅ 生成
GoesSuperDriver.lic文件 - 📧 发送给客户
客户获得授权
将 SuncodeDriver.lic 放到应用程序根目录,重启应用即可。
🛠️ 管理员工具
打包 License 生成工具
.\打包License工具.bat
生成 LicenseGeneratorTool_Package/ 文件夹,包含独立的 UI 工具。
启动 License 生成工具
.\启动License工具.bat
测试完整流程
.\测试新License流程.bat
发布混淆版本到 NuGet
使用 gocli supersdk 命令管理,详细说明见 SUPERSDK_DEV_GUIDE.md。
gocli supersdk -upload 7.21.0 "release note"
💼 商业应用建议
推荐使用机器绑定场景
- ✅ 高价值授权(> 1 万元)
- ✅ 单机使用场景
- ✅ 防止 License 共享
不推荐使用机器绑定
- ❌ 需要多台电脑使用
- ❌ 客户频繁更换硬件(如虚拟机环境)
- ❌ 试用版 License
🔐 私钥保护
关键文件:LicenseGenerator/keys.txt
- ⚠️ 包含 RSA 私钥,泄露将失去保护能力
- ✅ 定期备份到安全位置(离线存储)
- ✅ 不要提交到 Git 仓库(已加入 .gitignore)
📊 技术栈
- .NET 9.0
- Portable.Licensing 1.1.0
- Avalonia UI 11.2.1
- Obfuscar(代码混淆)
- System.Management(Windows 硬件检测)
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
7.27.0 全量发布:新增 SuperSDK.Transport(串口/TCP x 命令应答/数据流 六类通信库)