package main import ( "fmt" "os" "github.com/shadow1ng/fscan/common" "github.com/shadow1ng/fscan/core" // 引入本地插件以触发注册 _ "github.com/shadow1ng/fscan/plugins/local/fileinfo" // 已重构,可用 _ "github.com/shadow1ng/fscan/plugins/local/dcinfo" // 已重构,可用 _ "github.com/shadow1ng/fscan/plugins/local/minidump" // 已重构,可用 _ "github.com/shadow1ng/fscan/plugins/local/reverseshell" // 已重构,可用 _ "github.com/shadow1ng/fscan/plugins/local/socks5proxy" // 已重构,可用 _ "github.com/shadow1ng/fscan/plugins/local/avdetect" // 已重构,可用 _ "github.com/shadow1ng/fscan/plugins/local/forwardshell" // 新增,可用 // Linux持久化插件 _ "github.com/shadow1ng/fscan/plugins/local/ldpreload" // Linux LD_PRELOAD持久化 _ "github.com/shadow1ng/fscan/plugins/local/shellenv" // Linux Shell环境变量持久化 _ "github.com/shadow1ng/fscan/plugins/local/crontask" // Linux Cron计划任务持久化 _ "github.com/shadow1ng/fscan/plugins/local/systemdservice" // Linux Systemd服务持久化 // Windows持久化插件 _ "github.com/shadow1ng/fscan/plugins/local/winregistry" // Windows 注册表持久化 _ "github.com/shadow1ng/fscan/plugins/local/winstartup" // Windows 启动文件夹持久化 _ "github.com/shadow1ng/fscan/plugins/local/winschtask" // Windows 计划任务持久化 _ "github.com/shadow1ng/fscan/plugins/local/winservice" // Windows 服务持久化 _ "github.com/shadow1ng/fscan/plugins/local/winwmi" // Windows WMI事件订阅持久化 // 监控插件 _ "github.com/shadow1ng/fscan/plugins/local/keylogger" // 跨平台键盘记录 // 实用工具插件 _ "github.com/shadow1ng/fscan/plugins/local/downloader" // 跨平台文件下载 _ "github.com/shadow1ng/fscan/plugins/local/cleaner" // 跨平台系统痕迹清理 ) func main() { var Info common.HostInfo common.Flag(&Info) // 在flag解析后初始化logger,确保LogLevel参数生效 common.InitLogger() // 解析 CLI 参数 if err := common.Parse(&Info); err != nil { os.Exit(1) } // 初始化输出系统,如果失败则直接退出 if err := common.InitOutput(); err != nil { common.LogError(fmt.Sprintf("初始化输出系统失败: %v", err)) os.Exit(1) } defer common.CloseOutput() // 执行 CLI 扫描逻辑 core.RunScan(Info) }