我正在使用以下代码:
AppDomain.CurrentDomain.AssemblyLoad += (sender, args) =>
{
var token = args.LoadedAssembly.GetName().GetPublicKeyToken();
if (!IsValidToken(token))
{
Process.GetCurrentProcess().Kill();
}
};
IsValidToken()
比较被加载程序集的公钥令牌与我的应用程序中硬编码为字节数组的授权公钥令牌列表。
这是防止代码注入攻击的好安全措施吗?而且,考虑到我将稍后使用NetReactor混淆我的应用程序,这是否必要?我试图防止任何“窥探”我的应用程序,不仅仅来自Snoop工具,还来自任何外部不受欢迎的来源。