3008—C#加密

一、签名

       强签名  
       强命名程序集,可以确保你的程序集唯一,而不被篡改、冒用等;即使相同名字的程序集如果签名也会不同。

       1—主程序签名       

        ,在右侧【解决方案资源管理器】主程序项目中右键菜单,选择“属性”

       3008—C#加密

       在【属性窗口】中选择[ 签名 ]选项

       3008—C#加密

        勾选[ 为程序集签名 ],并在下面的列表框中选择“新建”,创建新的**。

        3008—C#加密         

       3008—C#加密

       这样完成了签名。

       2—解决方案内类库签名 

       在完成了主程序签名后,如果引用的类库dll未签名的话,那么运行会报错。      

       3008—C#加密

       这时需要对引用的类库进行签名,并重新生成dll。

       3—无源码DLL的签名               

       1.打开SDK 命令提示窗口;

       2.创建一个新的随机**对:               sn -k Interop.Scripting.snk
       3.反编译目标程序集                           ildasm Interop.Scripting.dll /out=Interop.Scripting.il
       3.重新编译,附带强命名参数             ilasm Interop.Scripting.il /dll /resource=Interop.Scripting.res /key=Interop.Scripting.snk /optimize
       4.验证签名信息                                  sn -v Interop.Scripting.dll

       OK,将生成的dll文件重新引入到项目中然后编译。       

二、混淆