Dotfuscation 是一个随VS发布附带的混淆器
产品。原理在于将已经编译完成的Assembly进行反编译,修改其中的标识符名称,使得反编译后结果无法被识读。
能不能使得我们发布的产品同时具有上述两个特点呢?
由于Dotfuscation是修改一个已经完成编译的Assembly,所以一定要将StrongName数字签名的过程延迟到混淆结束。
下面是具体步骤:
1、将一个Assembly设定为
DelaySign;
(最直观方法:在工程属性中的Signing页面中勾选Sign the assembly和Delay sign only。当然需要选一个strong name key file,可以在下拉框中选创建)
2、编译生成dll或exe
3、进行混淆
4、进行数字签名
sn -R TestAsm.exe keyfile.snk