c# - 从任务管理器启动进程并隐藏命令行参数

标签 c# .net windows command-line command-line-arguments

我不确定这个问题是否更适合 Stackoverflow 或 SuperUser 或哪个 StackExchange 网站...

基本上,我使用带有多个命令行参数的 Process.Start 从 C# 启动第三方应用程序。其中一个命令行参数是密码。

我认为我在保护我应用程序中所有地方的密码方面做得非常好,除非您在任务管理器中打开“进程”选项卡,您可以添加“命令行”列并查看所有这些命令行参数.

谁能想出一种方法来启动以某种方式隐藏命令行参数的进程?这可能吗?

谢谢!

编辑:

这是 plink.exe(SSH/Putty 东西)的 Windows 服务包装器。如果我没有在命令行中指定密码,它会提示输入密码,但我收到了这个奇怪的警告:

Plink.exe - 3/30/2013 2:40:47 PM - Attempting keyboard-interactive authentication
Plink.exe - 3/30/2013 2:40:47 PM - Server refused keyboard-interactive authentication
Plink.exe - 3/30/2013 2:40:49 PM - user@hostname.com's password: 

我已经指定重定向标准输入,但也许我会继续研究它并看看我是否可以解决它。此外,正如 David Heffernan 所建议的,我将进一步研究 Pageant。谢谢大家 - 一旦我找到更好的解决方案,我会发布更新!

最佳答案

无法将命令行参数传递给进程,以便进程可以看到它,但系统中的其他一切都不能。

这是一个明显的缺陷,当程序允许将密码作为参数传递时,这样做通常是为了方便不担心窃听者的用户。此外,精心设计的程序通常会提供其他安全的身份验证方法。

关于c# - 从任务管理器启动进程并隐藏命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15716567/

相关文章:

c# - Entity Framework Core 与 WPF Core - 无法添加迁移

c# - 将数据集插入到 SQL 表中

c# - resource.GetObject 中使用的美元 ($) 字符

windows - Azure VPN 客户端未安装 P2S 连接配置文件

c# - 放一个类名=命名空间,在使用

c# - 安装没有 InstallUtil.exe 的 windows 服务

c# - 使用 Nhibernate 检查已用 key 的最佳方法?

c# - 为什么尝试将视频文件上传到 youtube 时出现 InvalidCredentialsException?

Tiny C编译器可以用于OpenCV代码编译吗?

c++ - 如果手动关闭程序,是否会调用析构函数?