gpt4 book ai didi

go - 在 Go 中查找隐藏的矿工(隐藏窗口 + 命令行)

转载 作者:IT王子 更新时间:2023-10-29 02:35:50 28 4
gpt4 key购买 nike

我找到了这个 C#,我想在 Go 中改进它:https://github.com/roachadam/MinerKiller/blob/master/MinerKiller/MinerKiller.cs

我的第一个问题是如何检测进程窗口是否被隐藏。即这段代码:

if (p.MainWindowHandle == IntPtr.Zero )

我的第二个问题是如何获取进程的命令行。即这个 C# 代码

private string GetCommandLine(Process process)
{
string cmdLine = null;
using (var searcher = new ManagementObjectSearcher("SELECT CommandLine FROM Win32_Process WHERE ProcessId = " + process.Id))
{
var matchEnum = searcher.Get().GetEnumerator();
if (matchEnum.MoveNext())
{
cmdLine = matchEnum.Current["CommandLine"]?.ToString();
}
}
return cmdLine;
}

最佳答案

虽然 go 标准库的 os 包提供了许多用于与操作系统功能交互的实用工具,但它们比您从 .NET System 引用的内容“低级”得多.Management 类。您很可能必须自己实现这些类的行为才能达到预期的结果(使用 Go 的 os 包中的工具作为您的主要“构建 block ”)

也就是说,Go 中有一个 psutil 端口 (gopsutil - https://github.com/shirou/gopsutil/ ),它提供实用程序来检索有关正在运行的进程和系统利用率的信息。这很可能会提供更高级别的抽象,您可以使用它来实现您的程序。

如果 gopsutil 对您的需求来说太固执或太高级,我还会检查 golang 子存储库中操作系统特定的包。

记录在此处:https://godoc.org/golang.org/x/sys

此处来源:https://github.com/golang/sys/

关于go - 在 Go 中查找隐藏的矿工(隐藏窗口 + 命令行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54030638/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com