首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何检查dll Authenticode?

如何检查dll Authenticode?
EN

Stack Overflow用户
提问于 2018-02-23 13:36:21
回答 1查看 1K关注 0票数 0

我有一个经过数字签名的dll,当我的应用程序启动时,我希望检查这个dll是否“原始”,特别是没有被假的dll替换。如何检查Authenticode签名?

我从来没做过这样的事,我需要一点帮助才能开始。

更新

我希望防止有人用自己的dll替换dll,并向该dll提供自己的api方法,因此myApp.exe始终显示为正确的授权。

我问了作者,他告诉我:

“您可以采取一些步骤来防止您提到的破解类型。例如,在代码中的某个地方,您可以通过检查Authenticode签名是否仍然有效来验证TurboActivate (TurboActivate是代码签名的)。或者,如果您想要一个更简单的解决方案,可以执行简单的MD5或CRC检查。这将防止将TurboActivate替换为恶意版本。”

EN

回答 1

Stack Overflow用户

发布于 2018-02-23 13:41:51

如果dll是程序的常规引用,检查将自动为您完成,如果程序被篡改,程序将不会启动。您不需要做任何额外的事情,它是正常启动和查找所有引用的程序集例程的一部分。

如果这个程序集在程序中的某个点被加载到“幕后”,您可以查看它并检查它的令牌:

代码语言:javascript
运行
复制
var assembly = AppDomain.CurrentDomain.GetAssemblies().First(a => a.FullName.Contains("TurboActive"));
var token = assembly.GetName().GetPublicKeyToken();

// check if token is *their* valid token
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48949096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档