【问题标题】:How to know if referenced .net dll is original?如何知道引用的 .net dll 是否是原始的?
【发布时间】:2017-03-19 04:22:11
【问题描述】:

如何确保我引用的 dll(由我编译)在分发后不会被其他人更改?

如果可以理解这一点,有没有办法强制不加载更改的 dll。

例如,我有一个打包为 .net dll 的库。 有人可以轻松更改它,或创建具有相同名称、名称空间、方法名称等的 dll,然后执行他的恶意代码。 我们如何防止这种情况发生?

【问题讨论】:

  • •如果某人对系统和您的 dll 具有完全访问权限,那么您无法阻止他们更改程序集。无论如何,您可以sign dll。但请记住,可以注入某些东西的是 dll,可以禁用检查签名。 •如果您关心的是您正在使用的确切dll,并且您想查看它是否是原始的,您可以将它的校验和与原始dll的校验和进行比较。

标签: .net winforms security .net-4.0


【解决方案1】:

你应该签署你的 dll。

C#: why sign an assembly?

然后在你的项目中检查密钥

GetType().Assembly.GetName().GetPublicKey()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-05
    • 2013-06-05
    • 1970-01-01
    • 2018-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多