ZacharyZcR
|
d9d0271d5b
|
refactor: 重构VNC和RDP插件使用统一发包控制
- 修改VNC插件,在所有网络连接点添加发包控制和计数
- 修改RDP插件,在testRDPConnection和checkNLAStatus中添加发包控制
- 统一包计数逻辑,确保TCP连接成功和失败都正确计数
- 保持现有远程桌面检测功能完整性
|
2025-09-02 11:50:06 +00:00 |
|
ZacharyZcR
|
95497da8ca
|
refactor: 优化插件系统设计,消除代码重复
主要改进:
1. 修复Services插件端口数据重复问题
- 删除插件结构体中的ports字段和GetPorts()方法
- 系统统一使用注册时的端口信息
2. 引入BasePlugin基础结构体
- 消除51个插件中重复的name字段和Name()方法
- 统一插件基础功能,简化代码维护
3. 统一插件接口设计
- 保持向后兼容,功能完全不变
- 代码更简洁,符合工程最佳实践
影响范围:
- services插件:29个文件简化
- web插件:2个文件简化
- local插件:21个文件简化
- 总计删除约150行重复代码
|
2025-09-02 05:36:12 +08:00 |
|
ZacharyZcR
|
8f54702c02
|
refactor: 精准修复插件系统三个设计问题
经Linus式架构审计,发现并修复插件系统中的具体问题:
## 核心修复
### 1. 消除local插件GetPorts()方法冗余
- 删除21个local插件中无意义的GetPorts()方法
- 简化local.Plugin接口:移除端口概念
- 理由:本地插件不涉及网络,端口概念完全多余
### 2. 消除web插件GetPorts()方法冗余
- 删除2个web插件中无用的GetPorts()方法
- 简化web.WebPlugin接口:专注智能HTTP检测
- 理由:Web插件使用动态HTTP检测,预定义端口无价值
### 3. 统一插件命名规范
- 统一所有插件接口使用Name()方法(符合Go惯例)
- 消除GetName()与Name()不一致问题
- 简化适配器:不再需要方法名转换
## 技术改进
接口精简:
- local插件:GetName() + GetPorts() → Name()
- web插件:GetName() + GetPorts() → Name()
- services插件:GetName() → Name()(保留GetPorts(),业务必需)
代码减少:
- 删除23个无用GetPorts()方法
- 重命名52个Name()方法
- 简化3个插件接口定义
## 影响范围
修改文件:55个插件文件
代码变更:-155行 +61行(净减少94行)
功能影响:零破坏性,保持所有业务逻辑不变
这是基于业务需求分析的精准重构,消除真正多余的部分,
保持系统架构合理性和向后兼容性。
|
2025-08-26 20:38:39 +08:00 |
|
ZacharyZcR
|
120bd9f341
|
perf: 完成services插件注册机制全面优化
将所有29个services插件从RegisterPlugin()转换为高效的RegisterPluginWithPorts()注册方式:
核心优化:
- 消除启动时1200+无用插件实例创建(25插件×47次调用)
- 统一插件注册机制,移除性能较差的旧接口
- 优化插件存在性检查,使用O(1)查询替代实例化检查
技术改进:
- 移除旧RegisterPlugin()函数,简化代码路径
- 所有service插件使用统一高效注册方式
- 保持业务逻辑和外部接口完全不变
性能提升:
- 显著减少启动时间和内存占用
- 消除重复的"加载了175个AV产品信息"日志输出
- 插件系统响应更快,扫描启动更迅速
影响范围:29个services插件全部完成转换
向后兼容:保持所有现有功能和接口不变
|
2025-08-26 20:25:37 +08:00 |
|
ZacharyZcR
|
6cf5719e8a
|
refactor: 彻底清理插件系统,消除虚假利用功能
- 删除整个legacy插件系统(7794行代码)
- 完成所有插件向单文件架构迁移
- 移除19个插件的虚假Exploit功能,只保留真实利用:
* Redis: 文件写入、SSH密钥注入、计划任务
* SSH: 命令执行
* MS17010: EternalBlue漏洞利用
- 统一插件接口,简化架构复杂度
- 清理临时文件和备份文件
重构效果:
- 代码行数: -7794行
- 插件文件数: 从3文件架构→单文件架构
- 真实利用插件: 从22个→3个
- 架构复杂度: 大幅简化
|
2025-08-26 11:43:48 +08:00 |
|