3

我有一个 C# 应用程序。当它在打包之前发布时,我使用 IntelliLock 对其进行加密。并使用startssl数字签名它。(实际上我不知道如何使用它,是否可以使用它来验证dll?)

但我还是担心这个:有1个或2个dll使用检查使用身份,而且很小。我担心它会被同名修改和替换。那么应用程序将不会检查身份。

所以我的问题是,有什么方法可以检查在 IntelliLock 和 startssl 数字烧录步骤之后是否修改了 dll?

非常感谢您。

4

1 回答 1

0

我相信最好的办法是尝试从 DLL 加载字节并计算校验和。校验和是基于预先计算的值表对文件中字节的累积计算。可以使用库或您自己的实现来计算校验和。我会读取文件内容然后计算校验和。

您将需要通过 Web 或通过引用本地存储的值来验证该值。有些人能够解决这个问题并修改您的文件的一种方法是运行您的应用程序,反编译并找出校验和的计算方式,修改 DLL,然后更改本地存储的校验和以匹配。在服务器上使用 webAPI 来验证校验和可能是最安全的方法。

一些使用 MD5 作为校验和,如下所示: 计算 MD5 校验和

以及足够的信息让您从这里开始: 为文件生成校验和

于 2013-10-21T20:58:34.567 回答