Sugo Protector(GUI)使用文档

本文档依据GUI的实际界面与逻辑整理,覆盖登录/授权、应用保护(含保护选项与函数保护)、日志、设置、关于等功能。

1. 术语与概念

1.1 输入文件(待保护文件)

在“应用保护”页面选择/拖拽的目标文件。工具会自动识别类型:

  • PE32 / PE64(Windows 原生程序)
  • .NET(x86 / x64 / AnyCPU)
  • ELF32 / ELF64(Linux 原生程序)
  • Android APK / AAB

1.2 输出文件(保护后文件)

保护完成后生成的文件。

  • 默认命名规则:<原文件名>.protected.<原后缀>
  • 在 UI 中可以配置输出路径:支持相对路径或绝对路径

1.3 配置文件(.sugo

每个输入文件对应一份旁路配置文件:

  • 路径:<输入文件完整路径>.sugo
  • 用途:保存输出路径、保护选项开关、函数保护规则等
  • 保存时机:
    • Ctrl+S 会在当前已加载文件且配置存在时保存
    • 点击“开始保护”前会自动保存一次配置

注意:配置中的“输出路径”按 UI 逻辑保存的是字符串,当你输入相对路径时,执行保护时会以“输入文件所在目录”为基准转换为绝对路径。

2. 界面总览

左侧侧边栏包含 5 个页面:

  • 首 页:公告与更新日志展示(若无数据则显示“暂无公告/暂无更新日志”)
  • 应用保护:选择文件、配置保护选项、配置函数保护、执行保护
  • 日 志:查看/筛选/复制/导出操作日志
  • 设 置:设置运行环境(如 JRE 路径)
  • 关 于:官网信息、版权信息、创建错误转储

侧边栏顶部为用户区域:

  • 未登录:显示“未登录”,并提供 “点击登录” 按钮
  • 已登录:显示用户名,并提供 “授权管理” 与 “注销” 按钮

3. 登录

入口:侧边栏顶部 “点击登录”

登录弹窗为“手机号 & 密码”模式。

3.1 手机号登录

字段:

  • 手机号:提示“请输入手机号”
  • 密码:提示“请输入密码”
  • 保存密码:勾选后会在本地保存账号密码(用于下次自动填充)

按钮:

  • 登 录:开始登录

快捷键:

  • 在手机号登录页按 Enter 可触发登录

提示:

  • 手机号为空:提示“请输入手机号”
  • 密码为空:提示“请输入密码”
  • 登录中按钮显示“登录中...”
  • 登录失败:弹窗“登录失败: <原因>”

安全提示:启用“保存密码”会把密码保存到本地配置中。建议仅在受信任的个人设备使用。

4. 授权管理

入口:侧边栏顶部 “授权管理”

授权管理窗口标题为“授权管理”,核心区域是“授权列表”表格。

4.1 刷新授权

按钮:刷新授权

  • 会异步请求并更新当前账户可用授权

4.2 单个授权绑定/解绑

每一行授权在“操作”列提供:

  • 绑定:将授权绑定到本机
  • 解绑:将授权从本机解绑(会二次确认)

解绑确认文案:

确定要解绑该授权吗?

解绑后将无法在此设备上使用该授权。

当授权不可绑定时,会给出原因,例如:

  • 许可证状态不正常,无法绑定
  • 已绑定到本机,无需重复绑定
  • 已绑定到其他设备且无可用激活次数
  • 此许可证不可绑定到本机
  • 无可用激活次数

当授权不可解绑时,会提示:

  • “只能解绑已绑定到本机的许可证”

4.3 批量绑定/批量解绑

授权列表左侧有复选框列,并在表头提供“全选/取消全选”。

按钮:

  • 批量绑定:当所选项中存在可绑定授权时可用,并显示数量 批量绑定(n)
  • 批量解绑:当所选项中存在可解绑授权时可用,并显示数量 批量解绑(n)

5. 应用保护(核心功能)

入口:侧边栏 “应用保护”

页面结构(从上到下):

  • 标题:“应用保护”
  • 文件拖拽加载区
  • 文件信息卡片(加载后显示)
  • 保护功能:
    • “保护选项”
    • “函数保护”
  • “开始保护”按钮
  • 右侧时间线(显示加载/解析/执行策略等进度)

5.1 选择文件

支持:

  • 拖拽文件到页面

加载过程:

  • 页面显示“正在解析中...”,并在时间线显示加载步骤
  • 若文件加载失败:提示“无法加载文件: <文件名>”
  • 若检测到文件已经被保护:提示“该文件已经被保护过”,并中止

加载成功后会显示:

  • 文件名
  • 大小(B/KB/MB)
  • 类型(例如 .NET (x64)PE64 (x64)Android APK 等)

5.2 移除已选择文件

文件信息卡片右侧有移除按钮(X)。点击后将:

  • 清空当前文件
  • 清空函数保护列表
  • 卸载配置

5.3 输出路径

位置:位于“保护选项”Tab 顶部,标签为“输出路径:”。

  • 可直接输入
  • 点击 浏览 选择保存路径
  • 若选择的保存路径与输入文件在同一目录下,会自动写入相对路径

默认值:<输入文件名>.protected.<后缀>

5.4 保护选项(按文件类型动态变化)

保护选项以“标题 + 描述 + 开关”的形式呈现,并保存到 *.sugo 配置中。

以下为当前实现中不同文件类型对应的选项(标题/描述与默认值来自 UI):

5.4.1 Android APK

  • Dex加密:加密classes.dex文件(默认:开)
  • 反调试:检测并阻止调试器附加(默认:关)
  • 反注入:检测并阻止注入(默认:关)
  • Root检测:检测设备是否已Root(默认:关)
  • 模拟器检测:检测是否运行在模拟器中(默认:关)
  • 反截屏:检测并阻止截屏(默认:关)

5.4.2 Native - Windows PE(PE32/PE64)

  • 压缩保护:压缩可执行文件减小体积(默认:开)
  • 导入表保护:保护导入函数表(默认:关)
  • 反调试:检测并阻止调试器附加(默认:关)
  • 虚拟机检测:检测是否运行在虚拟机中(默认:关)
  • 内存校验:检测内存修改(默认:关)

5.4.3 .NET(x86/x64/AnyCPU)

  • 压缩保护:压缩程序集(默认:开)
  • JIT加密:加密方法体防止反编译(默认:关)
  • 反调试:检测并阻止调试器附加(默认:关)
  • 内存校验:检测内存修改(默认:关)

5.4.4 Native - Linux ELF(ELF32/ELF64)

  • 压缩保护:压缩ELF文件(默认:开)
  • 移除符号:移除调试符号信息(默认:关)
  • 导入保护:保护动态链接符号(默认:关)
  • 反调试:检测并阻止调试器附加(默认:关)
  • 内存校验:检测内存修改(默认:关)

5.5 函数保护(按函数/方法粒度)

位置:“函数保护”Tab。

该页提供函数列表与三类保护类型的逐项勾选。

5.5.1 搜索

输入框提示:搜索函数/方法名...

  • 支持按显示名称模糊过滤(不区分大小写)

5.5.2 表格列

表头:

  • 名称
  • RVA(显示为:imagebase + rva,例如 0x7FF66...
  • 混淆
  • 虚拟化
  • 加密

支持性规则(由文件类型决定):

  • 混淆:默认允许
  • 虚拟化.NET 类型不支持,其它原生类型支持
  • 加密:仅 .NET 类型支持

当某列不支持时,该列会被置为不可勾选状态。

5.5.3 右键菜单(批量勾选)

在表格内右键可打开菜单:

  • 全选
  • 取消选择
  • 混淆
    • 勾选
    • 取消
  • 虚拟化
    • 勾选
    • 取消
  • 加密
    • 勾选
    • 取消

5.5.4 快捷键

  • 在函数表格上按 Ctrl+A:全选(对隐藏行做了特殊处理,仅选中当前可见行范围)

5.5.5 失败回退

当保护过程中某个函数的“加密/混淆/虚拟化”失败时:

  • UI 会自动把对应行该列的勾选取消
  • 并将该行文本标红
  • 同时在日志里记录失败信息(Debug 模式下会更详细)

5.6 开始保护

按钮:开始保护(快捷键:F5)。

开始保护前会进行检查:

  • 未选择文件:提示“请先选择要保护的文件”
  • 授权不可用:提示“没有可用授权,请先完成授权绑定后再保护。”或“当前类型的授权不可用...”
  • 文件不存在:提示“文件不存在”
  • 文件在加载后被外部修改:提示“文件已修改,请重新加载”

执行保护时:

  • 按钮变为“保护中...”,并禁用
  • 右侧时间线追加事件“开始保护”并显示后续阶段

执行成功:

  • 弹窗“保护成功!”
  • 日志输出“保护成功”

执行失败:

  • 弹窗“保护失败,请检查日志!”
  • 时间线会标记失败
  • 保护失败,可以去"日志"窗口查询详情信息(详见"日志")

5.7 时间线(Timeline)

时间线用于显示关键阶段:

  • 加载文件
  • 检查文件状态
  • 分析文件类型
  • 解析文件
  • 执行保护策略
  • 保护完成/失败

6. 日志

入口:侧边栏 “日 志”

标题:“操作日志”

6.1 筛选

筛选下拉框:

  • 全部
  • 信息
  • 成功
  • 警告
  • 错误

6.2 复制/导出/清空

  • 复制:将当前所有日志行复制到剪贴板,完成后提示“已复制 N 条日志到剪贴板”
  • 导出:保存为 logs.txt(可自选路径),完成后提示“日志已导出到: <路径>”
  • 清空:清空当前表格

7. 设置

入口:侧边栏 “设 置”

当前实现包含:

  • JRE路径:选择 Java 可执行文件(默认过滤 java.exe
  • 选择后会立即保存并记录日志:“JRE路径已更新: <路径>”

说明:该路径将用于进行Android签名等功能,暂未实现。

8. 关于

入口:侧边栏 “关 于”

页面包含:

  • 简介:Sugo Protector
  • 官网链接:https://sugo.meowstack.com
  • 版权信息

8.1 创建错误转储

按钮:创建错误转储

行为:

  • 若当前应用保护后存在问题或者保护中出现错误,可以将错误转储提交给技术人员
  • Windows 平台可生成 .dmp 文件(保存对话框标题“保存错误转储”)
  • 成功提示“错误转储已生成”,失败提示“创建错误转储失败”

9. 常见问题(FAQ)

9.1 为什么“开始保护”不可用或提示没有授权?

你需要:

  • 先登录
  • 在“授权管理”中至少有一条 已激活 且已绑定到本机的授权
  • 某些文件类型需要对应产品授权,若授权不覆盖该类型会提示不可用

9.2 保护前提示“文件已修改,请重新加载”

这表示你在加载文件后,外部程序改动了该文件(大小或修改时间变化)。

处理方式:

  • 重新移除并加载该文件
  • 或确保文件在保护期间不被其它程序写入

9.3 输出路径写了相对路径,最终文件会输出到哪里?

相对路径会以“输入文件所在目录”为基准转换为绝对路径后交给保护引擎。

例如:

  • 输入文件:D:\work\a.exe
  • 输出路径填写:out\a.protected.exe

最终输出路径为:D:\work\out\a.protected.exe

9.4 .sugo 配置文件可以手工删除吗?

可以。

  • 删除后再次加载同一输入文件,会重新创建并填充默认值。