winapi – 我可以从DLL中删除数字签名吗?

我的安装程序在构建过程中使用代码签名证书构建“标志”一个DLL。

我注意到,如果我尝试连续两次构建,第二次构建失败,因为DLL已经签名,所以signcode阻塞。显然,我可以通过在构建中签署DLL的副本来解决这个问题,但问题引起了我的兴趣:

是否可以“取消”一个DLL,如果没有,为什么不…?

当然可以,但不是微不足道。

虽然保存预编译DLL的副本会更容易。

该数字签名只是附加到PE文件末尾的额外部分。你可以编写一个删除签名的程序,如果你愿意的话。

它不像截断文件那么简单;您必须删除文件头中的签名的引用。如果DLL有多个签名,并且您只想删除一个,则可能会变得复杂。

PE文件的格式是公开记录的here

相关文章

Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...
Windows文件操作基础代码 Windows下对文件进行操作使用的一段...
Winpcap基础代码 使用Winpcap进行网络数据的截获和发送都需要...
使用vbs脚本进行批量编码转换 最近需要使用SourceInsight查看...