0

我们有一个核心程序集,我们希望对其进行混淆处理并提供给 3rd 方开发人员。我看过的大多数混淆工具都提到它会混淆反编译器和反射器的内部结构,但公共方法和属性的名称保持原样(这是有道理的)。但是“受保护”成员呢?

假设我有一个基类,其中包含一些很酷的辅助方法和属性,我想让 3rd 方开发人员可以利用它,以便他们可以简单地从我的基类继承并拥有一些已经到位的管道为他们。显然,如果它被混淆器弄乱了,这将无济于事。所以我的问题是,这些混淆器工具可以做什么?你能指定它也不是乱码受保护的方法吗?或者,您可以配置哪些是乱码,哪些不是?我没有使用 .NET 中的混淆器的经验,所以我正在尝试学习所有细节,谢谢

4

1 回答 1

4

我已经为 .net 使用了几个混淆器,它们都没有混淆公共类中受保护的成员名称,这是有道理的,因为它可能会破坏您的应用程序。混淆的整个想法是让您的应用程序行为和公共 API 与混淆之前相同。

此外,大多数混淆器允许您从混淆中排除某些非公共类/成员(例如使用自定义属性) - 有时当您使用反射、IoC 容器进行依赖注入等时可能需要这样做。

于 2012-11-14T12:25:41.513 回答