.NET 强签名

签名大家并不陌生,如下图所示:

 

如果代码是机密的,还需要用到 仅延迟签名, 

.NET 强签名

 

 

如果只这样做了,代码中没什么逻辑判断,代码还是不够安全的:

1. Strong Name Remover 工具可以很容易的清除你的签名,如下图:

 

.NET 强签名

 

 

2. 签名替换工具,如下图:

.NET 强签名

 

 

所以,仅仅有签名是不够的,还需要在代码中判断程序集中是否有签名,且签名是自己的。

 

 

接下来,需要做的工作如下:

1. public key token

在 Visual Studio Tools 中找到命令提示,启动并执行 ”sn -Tp 你的程序集“

 

.NET 强签名

 

 

2. 代码

const string _sLicenseErr = "*** 被篡改..."; [DllImport("mscoree.dll", CharSet = CharSet.Unicode)] public static extern bool StrongNameSignatureVerificationEx(string wszFilePath, bool fForceVerification, ref bool pfWasVerified);

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpyspd.html