When you obfuscate your code you make it much, much harder to reverse-engineer. It will never be impossible, but in most cases it will simply not be worth the effort. This does not apply to everything, though. State secrets, the formula for Coke, the recipe for Kentucky Fried Chicken and things at that level do not belong in source code no matter how well-hidden.
The most important secrets are best kept out of the hands of outsiders via services and techniques that keep the code on secure systems, but you do have to deliver some code to the end user. And even if your biggest secrets are not contained there, you still might want to make it hard for a competitor or a hacker to see the source code of your product. Obfuscation is the prescription for this ailment, and PreEmptive has been providing its Dotfuscator product for many years for this purpose. This is a must-have tool for commercial products of all types.
Telerik has recently made a tool available for free, named JustDecompile. Since .NET first came out, decompilation tools have been readily available. Their primary use case, Telerik stated, is recovering lost source code for a program so it can be updated or modified. To enable this scenario, JustDecompile supports .NET Framework 2 through 4.5, along with WinRT and Silverlight.
Even without tools like JustDecompile, a knowledgeable developer or team of developers can reverse-engineer any code, but given that tools are available with such little effort, the only reason to not obfuscate your code is if you would be willing to directly post your source on the Web yourself. I run just about everything through Dotfuscator if it is going to end up on the other side of our firewall.
Among the component sellers, ComponentOne has resisted branching out too far from the business of providing building blocks meant for developers to include directly into their projects. Recently the company has released an update to its flagship Studio Enterprise suite in the form of Studio Enterprise 2013 v2. This latest update adds support for the new Visual Studio project templates, data visualization controls, and enhanced touch support (which provides drag and drop for its WPF and Silverlight controls targeted at Windows 8 desktop applications).
There are also updates to components in each of the studios that make up the full suite: Studio for WinForms, Studio for WPF, Studio for Windows Phone, Studio for Silverlight, Studio for WinRT XAML, Studio for WinJS (in beta), Studio for ASP.NET Wijmo, Studio for iPhone, Studio for Compact Framework, and Studio for ActiveX.
According to Russ Fustino, ComponentOne’s senior developer evangelist, the company has also added a PDF Viewer control (referred to as the C1PdfViewer) that solves a very common business problem that many developers confront in various APIs. Displaying PDFs, especially on mobile devices, is becoming a standard requirement in some verticals due to the ability to lock down PDF documents for better control and security from tampering, especially since it supports reading encrypted files.
When asked if all of ComponentOne’s components are visual, Fustino pointed out that the WinForms, WPF and Silverlight products include the Entity Framework data source components, which promises features that drive high-performance data binding. He added, “They dynamically load millions of records with our innovative virtual mode technology, while adding other valuable enhancements on top of the Microsoft Entity Framework.”
With Big Data driving interest in larger and larger datasets, there is real demand for anything that pushes back the limits in terms of scale and speed with relational datasets.