下签名与图文混淆分析 Net
签名,即强命名程序集,可以确保您的程序集是唯一的,而不会被篡改或欺诈性使用。即使是同名的程序集也会有不同的签名。
签名前后程序集结构的比较假设程序集名称叫做‘windowsaapplication 1’,签名前后程序集信息的比较复制了以下代码: windows application 1,版本=1.0.0.0,区域性=neutral,Public key token=nullwindowsaapplication 1,版本=1.0.0.0,区域性=neutral,Public key token=85377 E8 b 68475 fc8如果项目中引用了签名的程序集a.dll,它将被假的a.dll替换,当
未签名的主程序可以引用已签名或未签名的程序集;已签名的主程序不能引用未签名的程序集。程序集强签名后,有唯一的标识符,这样就可以知道程序中程序集的路径,获取当前执行的程序集或调用程序集的信息,参见:复制代码如下:system。reflection . assembly . getexecutingassembly()system。如何生成密钥和签名,可以使用。net sdk或者visual studio 中的项目-属性-签名。
如果密钥受密码保护,则生成pfx文件,生成snk文件时不需要密码,因此pfx比snk文件大。混淆编译生成的MSIL中间代码是模糊的。随着混乱的加剧,人脑多方面的智能思考能力逐渐降低,因此对源代码进行保护,提高反编译的难度。这种模糊处理不会改变程序执行的逻辑。混淆的工具有很多:比如DotFuscator、Obfuscator.NET、XeonCode、MaxtoCode的合并,不仅可以对程序集进行签名,还可以混淆,但是如果强命名后的程序集混淆了,就会产生异常,程序就不能正常执行。正确的方式:延迟签名-开发完成-混淆-重新签名(即先延迟签名,混淆后再签名),混淆后再签名。您可以使用sn中的r选项完成代码复制,如下所示: sn-r a.exe mykey.snk//re-sign a.exe带mykey.snk密钥(重新签名前)。如果程序无法运行,例如,在。net cf报告异常团队,每个人都无法知道私钥。通常的做法是创建一个包含公钥的. snk文件。复制代码如下: sn-p mykey.snk public key . snk供开发者使用,开发发布后用mykey . snk重新签名。
版权声明:下签名与图文混淆分析 Net是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。