gpt4 book ai didi

c# - 在 c# 中对任何 exe 进行签名或密码

转载 作者:行者123 更新时间:2023-11-30 18:03:24 26 4
gpt4 key购买 nike

我有用 C# 编写的可执行文件。我想在我的 Windows 服务上尝试这种情况。通常我们使用下面的代码在我们的程序中启动可执行文件:

Process process = new Process(); 
process.StartInfo.FileName = applicationpathandname.exe;
process.Start();

我想在启动之前比较我的可执行文件的签名或密码。如果签名或密码不匹配,则应退出 Windows 服务中的主程序。所以我的伪代码是这样的:

*/load exe
*/compare sign or password of my assembly
*/if match start exe
*/else exit main program

实际上,我有两个问题:

  1. 我可以对任何可执行文件或程序集进行签名或密码保护吗?
  2. 我能否在我的其他 C# 中获取该符号或密码可执行文件程序?

最佳答案

我不确定我是否答对了你的问题,但我会尽力而为。

您可以使用sn 工具strong-name 您的程序集。这是一个简短的教程: http://sharpertutorials.com/creating-strong-named-assemblies/ enter link description here

然后您可以将创建的snk 文件添加到解决方案中的项目中。作为一个不同的选项,而不是手动添加它

[assembly: AssemblyKeyFile("c:\\mykey.sn")]

属性(如文章中所述),您可以更轻松地在Signing 选项卡下的每个项目的属性中定义它 => Sign the assembly 和在那里输入您的 snk 文件的路径。

在对程序集进行强命名后,您可以对其密码进行一些检查:

Checking an assembly for a strong name

关于c# - 在 c# 中对任何 exe 进行签名或密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7192494/

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