No description
- Go 100%
| .idea | ||
| cmd | ||
| internal | ||
| utils/abcode | ||
| ABCodeTool.exe | ||
| go.mod | ||
| go.sum | ||
| readme.md | ||
ABCode 剪切板自动解码工具 (v1.0)
📌 项目概述
ABCode 剪切板自动解码工具是一款基于 Go 语言开发的 Windows 后台常驻程序。该工具专为 4K 屏幕环境下的静态数据安全传输而设计,通过静默监听系统剪切板中的图片流,自动识别并解析基于 JAB Code(彩色二维条码)的安全协议数据。
用户只需使用 Snipaste、Windows 截图或借助 Ditto 等剪切板管理工具完成截图,程序即可在后台“秒级”完成视觉定位、特征提取、解压解密,并将最终的增强纯文本无感回写至剪切板,实现“截图即解码,粘贴即使用”的极速体验。
✨ 当前版本核心功能
1. 深度系统级截图兼容 (原生 DIB 解析)
彻底抛弃对标准图片文件头(PNG/JPEG)的依赖,直接通过 Windows底层 API (user32.dll) 抓取剪切板内存中的原始设备无关位图 (CF_DIB)。
- 完美兼容:无缝支持 Snipaste 纯像素矩阵写入、Ditto 历史记录同步以及 Windows 原生截图工具。
- 高速重组:在内存中实时计算偏移量并动态拼接 BMP 头部,将底层内存数据无损且极速地转换为 Go 可处理的图片对象。
2. 极低开销的被动式监听
- 序列号轮询:摒弃高 CPU 占用的全量读取或复杂的窗口钩子,采用
GetClipboardSequenceNumber进行 300 毫秒间隔的轻量级序列号比对。 - 绿色常驻:在没有发生复制操作时,程序几乎不占用任何 CPU 与内存资源。
3. 智能防抖与去重拦截
- 20 秒静默期:内置基于 LRU 策略的并发安全哈希缓存 (
sync.Map)。 - 防止死循环:有效拦截 Ditto 后台同步或用户短时间内重复截图导致的连续解码,去重期内自动静默丢弃重复任务,不弹窗、不写回,彻底消除通知轰炸。
4. 文本解析与智能增强
- JSON 智能拆包:自动识别原始载荷中的包裹格式,提取核心文本内容。
- 状态附加:在解码文本尾部自动计算并追加内容大小、处理时间及服务来源,方便追溯。
5. 系统级状态反馈与日志追踪
- 原生 Toast 通知:解码成功或遇到疑似二维码但损坏时,通过 Windows 右下角弹窗提供即时反馈。
- 分级日志系统:内置
INFO、WARN、ERROR、DEBUG四级控制台日志,精准追踪从“字节流捕获”到“协议解密”的全链路状态,极大降低后期维护成本。