【发布时间】:2017-04-06 06:36:05
【问题描述】:
我有一个 WPF 应用程序,用于下载多个应用程序并从这个 wpf 应用程序运行这些应用程序。(可以认为类似于“Windows Store 应用程序”)
现在我需要限制从我的 wpf 应用程序下载的其他应用程序 exe 文件只能从我的 wpf 应用程序运行。如果用户尝试从文件系统运行 exe,它应该会提示一条错误消息,说明访问受限。
从我的 wpf 应用程序下载后,如何锁定 exe 以仅从我的应用程序运行。 如何在 C# WPF 应用程序中实现这一点?
【问题讨论】:
-
如果您需要某种“幼稚”的保护,那么是的,Youri 的建议是可以的(只需考虑使用哈希码而不是普通字符串来使事情变得更加困难......)。如果您需要更多,请签署您的主机程序集,为每个“客户端”获取父进程并检查其公钥。
-
对不起,我是 .net 开发的新手,在“如果你需要更多......”之后我没有得到你所说的话
-
我的意思是,如果您想(多一点)确保他们不会使用正确的命令行运行这些应用程序,只需使用 dotPeek 检查您的程序集(“他们”只需要反汇编并查看什么是必需的 secret 参数)。如果是您自己的流程来验证自己的签名程序集父级,那么绕过这个限制就更难了(它总是可能的,但不太容易,它可能会排除 casual crackers)