gpt4 book ai didi

clr - 签名 .NET 程序集 : Does this protect my assembly from tampering really?

转载 作者:行者123 更新时间:2023-12-03 21:23:24 24 4
gpt4 key购买 nike

我正在我的应用程序中实现一个“锁定”系统,以保护我的应用程序不被非法复制和使用。系统会检查基于硬件的代码的签名,并希望它使用只有我公司拥有的私钥进行签名。 (该应用程序已获得用于验证签名的公钥。)

我想确保没有人改变我在应用程序中的锁定机制,所以我想对我的应用程序程序集进行签名,我认为这是有道理的。

  • 因为我还没有看到 CLR 谈论过程序集的签名无效,所以我想确保这个系统真的有效。可以?我该怎么做才能让它发挥作用?
  • 攻击者能否将精力集中在 CLR 上,使其不关心我的签名?也就是说,如果他不能篡改我的代码,因为我已经签署了它,他可以篡改 CLR 吗?
  • 一般来说,我想了解您对此类安全防护和保护技术的体验。任何人都可以提出其他建议吗?
  • 最佳答案

    程序集签名旨在允许应用程序/程序集引用程序集并确保它们获得最初引用的程序集。如果有人愿意,他们理论上可以反编译您的整个应用程序并重新编译而无需签名。 (即:他们可以重新编译引用程序集,以便它引用被引用程序集的未签名版本)。

    然后他们将能够根据需要修改代码,因为客户端 (exe) 现在将引用未签名(或“重新签名”)的 dll。

    为了使反编译和重新编译过程更加困难,您可以尝试创建一个包含托管代码和 native 代码的混合模式 C++/CLI 程序集。但是,是的...最终人们拥有您所有的二进制文件,并且只要付出足够的努力,您就可以绕过您想到的任何许可系统。

    关于clr - 签名 .NET 程序集 : Does this protect my assembly from tampering really?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/377619/

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