3

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

你试过这样的组合吗?你设法使它工作。如果是这样,请告诉您使用的是什么混淆工具和什么代码编织框架?

4

2 回答 2

2

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

通常的混淆警告适用于您的任何横切代码(尤其是在您使用反射的情况下),因为混淆会更改符号名称,并且您需要排除任何将被反映或使用后期绑定的符号重命名或修剪。

于 2010-02-09T21:25:37.263 回答
1

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

另一个问题是您不能重命名作为方面目标的某些方法。我认为这只发生在泛型方法或泛型类型的方法中。

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

于 2010-02-10T08:49:53.360 回答