Question

I have a pretty large collection of projects and most of them are .DLL (assemblies) that are used by the main application .EXE. I scramble all of them together using Dotfuscator 4.10. If I don't set the .DLL to "run in library mode", the interfaces are obfuscated and the app cannot use them. But the obfuscation process is done for all files in the same run. So, is it possible to fully obfuscate the library interfaces, expecting that the renaming will be propagated to the other assemblies and to the main app? This would allow to protect the assemblies.

To make it clear: assume we have an assembly A.DLL with a public method void Hello();. I would like for it to be renamed (even if it is public) to void a:a(); AND all calls to void Hello(); changed to a::a(); as well - across the whole solution - including in other assemblies and the main app during the obfuscation process?

Update 1: I use C++/CLI in /clr, i.e. with a mix of managed/unmanaged code.

Était-ce utile?

La solution

Is your EXE included in your obfuscation project? Renaming methods and calls to those methods consistently so that everything still works is a core feature of Dotfuscator renaming. As long as everything that calls a renamed method is included in your obfuscation project, it should work exactly as you describe.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top