Apart from the need of protection for .NET code in general, a yFiles.NET licensee in particular is bound to the code protection requirements as stated in the license terms: the Software License Agreement for yFiles.NET (see section 2.1 Rights and Limitations) explicitly requires that all essential class, method, and field names of classes contained in the yFiles.NET library are obfuscated. The obfuscation's intended purpose, namely prevention of any unauthorized use of the library's functionality via the publicly available yFiles.NET API, is also expressed.
Name obfuscation completely defeats any attempts to access yFiles.NET functionality that is part of an application via publicly available class or method names.
All private and internal yFiles.NET classes, methods, properties, and fields are already name-obfuscated as a factory default, since they cannot be used for software development anyway. The remaining public and protected parts of the yFiles.NET API must be obfuscated before a yFiles.NET-based product can be released.
In order for an application to function properly, some of the types in yFiles.NET are excluded from name obfuscation. Mainly, this includes all types or type members whose names appear plain-text in GraphML files.
The following types are excluded as a factory default:
These excludes are realized via attribute annotations at the type level using the .NET framework's System.Reflection.ObfuscationAttribute (see Example A.2, “Obfuscation attribute annotation”).
It is crucial that an obfuscation tool that is used to obfuscate the yFiles.NET DLLs obeys the obfuscation attribute annotations.
|
Copyright ©2006-2011, yWorks GmbH. All rights reserved. |