.net中的代码保护和代码编织

时间:2010-02-09 16:55:09

标签: c# .net obfuscation postsharp

我尝试使用clisecure使用postsharp进行代码保护(代码已加密且无法反映),但在解决方案中使用post sharp时,安全dll将无法编译。我只使用PostSharp.Laos和PostSharp.Public

你有没有尝试过这样的组合?你有没有设法让它发挥作用。如果是这样,请说明您使用的混淆工具和编码框架是什么?

2 个答案:

答案 0 :(得分:1)

我已经成功地使用了Dotfuscator和Postsharp,但只使用了编织时间IL Weaving,还没有任何运行时拦截。只要你混淆PostSharp编译后编织输出的二进制文件,一切都应该相当简单。

通常的混淆警告适用于任何交叉代码(特别是在使用反射的情况下),因为混淆会更改符号名称,您需要排除重新命名或修剪过的任何符号,这些符号将被反映或使用后期绑定

答案 1 :(得分:0)

使用混淆器时有一些技巧。例如,您无法更改方面类型的名称和方面类型的字段,因为方面由PostSharp序列化并在运行时反序列化。您可能希望对方面使用模糊处理异常。

另一个问题是您无法重命名某些方面的方法。我认为这只发生在通用方法或泛型类型的方法上。

另一种方法是使用不重命名代码的混淆器,例如WIBU。但是,我没有尝试。