现在电脑上停了360之后,就被装上了好几个恶意软件,关键这些恶意软件会极大的拖累电脑速度。我想让AI agent帮我做一款防恶意软件的软件,名字就叫jk100极快100 ,致敬当前江民公司的kv100
告诉Trae开发任务
现在电脑上停了360之后,就被装上了好几个恶意软件,关键这些恶意软件会极大的拖累电脑速度。
我想让AI agent帮我做一款防恶意软件的软件,名字就叫jk100,极快100 ,致敬当前江民公司的kv100 !
Trae开始干活
P1 架构:2 种方案对比
方案 A(推荐):单进程多模块 + clamd 子进程 jk100.exe 是单个 MoonBit 原生进程,内部按模块划分(扫描/清理/FFI/UI)。ImGui 直接以 C FFI 链接进同一进程;ClamAV 作为独立 clamd.exe 子进程被拉起,走本地 socket。
- 优:单文件分发(+便携clamd)、IPC 最少、调试简单、性能好
- 劣:UI 卡顿会阻塞扫描(需把扫描放后台线程)
方案 B:双进程——引擎服务 + UI 前端 jk100-engine.exe(headless,做扫描清理)+ jk100-ui.exe(ImGui),两者用本地管道/共享内存 IPC。
- 优:UI 崩溃不影响扫描、职责清晰、为 P2 实时防护预留服务形态
- 劣:MVP 阶段引入 IPC 协议设计成本,两份构建,过度设计
我的推荐:方案 A。 MVP 单进程最简最快,扫描放后台线程解决阻塞。等 P2/P3 需要常驻服务和内核通信时,再演进为方案 B——那时引擎逻辑已经稳定,拆分风险低。
P1 详细设计(按节)
1. 模块结构
Plain Text
jk100.exe (MoonBit native x64, 单进程)
├─ core/ 扫描引擎
│ ├─ scan 扫描调度(后台线程 + 并发)
│ ├─ sigdb 特征库加载(流氓软件 JSON 规则)
│ ├─ clamd ClamAV socket 客户端(SCAN 模式)
│ ├─ pe PE 解析(纯 MoonBit,取签名/版本/入口)
│ └─ hash SHA256/MD5(纯 MoonBit)
├─ clean/ 清理模块
│ ├─ classify 分类引导清理(按类别分组、勾选)
│ ├─ oneclick 一键深度清理(自动全流程)
│ ├─ quarantine 隔离区 + 回滚 manifest
│ └─ targets 清理目标操作(进程/自启/服务/计划任务/文件/主页)
├─ platform/ Win32 C FFI 绑定层(我来写)
│ ├─ process 枚举/结束进程
│ ├─ registry Run 键读写
│ ├─ service SCM 服务枚举/删除
│ ├─ sched 计划任务枚举/删除
│ └─ file 文件移动/占用检测/PendingFileRename
├─ ui/ ImGui 前端(C FFI)
│ └─ views 主窗/扫描/结果/清理/回滚
└─ bundled/
├─ clamav/ 便携 clamd.exe + .cvd 特征快照
└─ sigdb/ rogue_rules.json(自研流氓软件规则)
2. 核心数据流
Plain Text
[选目标] → scan 遍历 PE 文件
→ 分流:
(a) hash → 查 rogue_rules.json 哈希库
(b) 路径/签名/自启名 → 匹配流氓软件规则
(c) clamd SCAN <path> → 通用病毒判定
→ 汇总 Threat 列表
[结果视图] → 用户选清理模式:
分类引导(勾选类别) / 一键深度(自动全选)
[清理执行] → 每项操作先写 quarantine manifest → 再执行
(结束进程→清自启→删服务→清计划任务→移文件→修主页)
[报告] → 成功/失败/待重启项
[回滚] → 读 manifest 反向恢复
3. 流氓软件规则库格式(rogue_rules.json)
JSON
{
"signatures": [{"signer": "某某有限公司", "severity": "rogue"}],
"path_blacklist": ["%LocalAppData%\\XXXDriver", "%ProgramData%\\XXHelper"],
"run_names": ["XXXService", "XXHelper"],
"hashes_sha256": ["ab12..."],
"family": "XX流氓"
}
规则可叠加 KV100 广谱思路:一条"广谱特征"匹配一族样本(如某签名+某路径模式),命中即报该家族。MVP 用静态快照,更新通道放 P7。
4. 隔离区与回滚
- 位置:
%ProgramData%\jk100\quarantine\<scan-id>\<timestamp>\ - 文件:移动(非删除)到隔离区,manifest 记录原路径 + 文件哈希
- 注册表/服务/计划任务:记录原始值快照
- 回滚:按 manifest 逆序恢复;提供"全部回滚"和"按项回滚"
5. 错误处理策略
- clamd 不可用:降级为仅流氓软件库扫描,UI 顶部黄字提示
- 文件被占用:登记
PendingFileRename,提示重启后清理 - 进程结束失败:记录失败项,不阻断其余清理
- 未提权(UAC 拒绝):仅允许只读扫描,禁用清理按钮
- 扫描线程异常:单文件异常不影响整体,记入扫描日志
6. 测试策略
- 特征匹配:theZoo 样本验证 ClamAV 识别率;收集国内常见流氓软件样本验证规则命中率
- 清理+回滚:VM 内植入模拟流氓软件(假进程/假自启/假服务),验证清理完整性与回滚一致性
- FFI 层:每个 Win32 绑定独立单元测试
- UI:手动验收扫描→清理→回滚全流程
这是 P1 的完整设计。请审阅:架构方案选 A 是否 OK?模块结构、数据流、规则格式、隔离回滚、错误处理、测试这几节有没有要改的?确认后我会把它写成正式规格文档 commit,然后进入实现计划。
可优化小细节
可优化的小细节 给rogue_rules.json加一条白名单优先级规则,正规软件的签名/哈希命中后直接跳过后续判定,进一步降低误报率。 扫描调度模块加个用户可调节的速度档位,低速模式后台低优先级运行完全不打扰用户,高速模式快速完成全盘扫描。 便携版clamd.exe提前做裁剪,删掉冗余的邮件扫描等非必要功能,进一步压缩打包体积,避免安装包过大。
更多推荐



所有评论(0)