我有一个相当大的项目集合,其中大多数是主应用程序.EXE使用的.DLL(程序集)。我使用Dotfuscator 4.10将所有项目加在一起。如果我不将.DLL设置为"在库模式下运行",接口会被混淆,应用程序无法使用它们。但模糊处理过程是在同一次运行中对所有文件执行的。那么,是否可以完全混淆库接口,期望重命名将传播到其他程序集和主应用程序?这样可以保护程序集。
为了清楚起见:假设我们有一个具有公共方法void Hello();
的程序集A.DLL
。我希望它被重命名(即使它是公共的)为void a:a();
AND在整个解决方案中,包括在模糊处理过程中的其他程序集和主应用程序中,对void Hello();
的所有调用也被更改为a::a();
?
更新1:我在/clr中使用C++/CLI,即混合使用托管/非托管代码。
您的EXE是否包含在模糊处理项目中?一致地重命名方法和对这些方法的调用,以便一切正常工作是Dotfuscator重命名的核心功能。只要调用重命名方法的所有内容都包含在模糊处理项目中,它就应该与您描述的完全一样工作。