shadow1ng/fscan · error
Failed to write header information: %w
Error message
Failed to write header information: %w
What it means
Wrap of a write failure in saveKeysToFile: after successfully opening the keylogger output file, writing the buffered header block (banner, start time, platform, event count) to it failed. The %w carries the underlying file-write error (e.g. disk full or closed file); the original os.OpenFile failure is reported by a separate error.
Source
Thrown at plugins/local/keylogger.go:185
session.LogInfo(i18n.GetText("keylogger_no_input"))
return nil
}
file, err := os.OpenFile(outputFile, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0600)
if err != nil {
return fmt.Errorf("%s: %w", i18n.GetText("output_file_open_failed"), err)
}
defer func() { _ = file.Close() }()
// 写入头部信息
header := i18n.GetText("keylogger_log_header") + "\n"
header += i18n.Tr("local_start_time", time.Now().Format("2006-01-02 15:04:05")) + "\n"
header += i18n.Tr("local_platform", runtime.GOOS) + "\n"
header += i18n.Tr("keylogger_event_count", len(p.keyBuffer)) + "\n"
header += "========================\n\n"
if _, err := file.WriteString(header); err != nil {
return fmt.Errorf("%s: %w", i18n.GetText("keylogger_header_write_failed"), err)
}
// 写入键盘记录
for _, entry := range p.keyBuffer {
if _, err := file.WriteString(entry + "\n"); err != nil {
return fmt.Errorf("%s: %w", i18n.GetText("keylogger_entry_write_failed"), err)
}
}
return nil
}
// 平台特定的键盘记录实现 - 简化版本,仅做演示
func (p *KeyloggerPlugin) startWindowsKeylogging(ctx context.Context) error {
// Windows平台键盘记录实现
// 在实际实现中需要使用Windows API
p.addKeyToBuffer(i18n.GetText("keylogger_demo_windows"))
View on GitHub (pinned to 95cc12e753)
Solutions
- Check disk space and quotas on the output volume
- Retry the save; keystrokes remain in the in-memory buffer until flushed
- Write to a different location if the volume is failing
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at plugins/local/keylogger.go:185 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of shadow1ng/fscan@95cc12e753 (2026-09-06).
Data as JSON: /api/errors/f1c6ccc48f6c7708.
Report an issue: GitHub.