vs 给 dll 签名

打开VS Tools工具命令

第一步:生成随机密钥对
sn -k DllName.snk

第二步:将DLL文件反编译成IL中间语言文件
生成的结果文件为xxx.il,xxx.res
cd release\
ildasm DllName.dll /out:DllName.il
rename DllName.dll to DllName.dll.bak

第三步:将签名密钥写入到DLL中。(注意dll文件名是否重名,可以先写一个不冲突名称合成dll,然后再修改)
ilasm DllName.il /res:DllName.res /dll /key:DllName.snk /out:DllName.dll

第四步:检查刚才签名是否正确有效。
sn -vf DllName.dll

特别注意:在签名DLL的时候路径一定不要太长,否则任何一步操作都会失败。最好在磁盘根目录下创建一个文件夹,将需要签名的DLL放到这里进行签名合成。