background preloader

Seguridad

Facebook Twitter

.NET Reactor - .NET Protection, .NET Obfuscator and Licensing. Why you need to protect your intellectual property.

.NET Reactor - .NET Protection, .NET Obfuscator and Licensing

When you compile a program written for the Microsoft .NET framework, the program you provide to your users is not compiled into a native executable program, but instead is translated into something called the Common Intermediate Language instructions (CIL). CIL is half way between source code and native code, and is interpreted by the .NET framework when your program is run, rather than executed directly as machine code. Because of this, the source code of your application or library can be easily reproduced. Tools such as .NET Reflector (www.red-gate.com/products/reflector/) can reproduce source code from a compiled .NET assemblies in seconds, and in the .NET language of your choice!

Clearly, commercial software distributed to end users without some form of protection is wide open to piracy and intellectual property theft. So why is obsfucation not enough? Industry Leading .NET Reactor Source Protection Merge assemblies, and. .NET Obfuscation. Enterprises, software vendors and equipment manufacturers have all come to recognize a simple truth: Reverse engineering managed code is a common practice and, with the right tools, it is extremely easy to do.

.NET Obfuscation

Dotfuscator provides enterprise-grade protection, greatly reducing the risk of piracy, intellectual property theft and tampering. Through a combination of technology, processes and effective controls, we offer material risk mitigation lowering the likelihood of damage and transferring risk entirely out of your organization. Learn more. Dotfuscator: Works with all your .NET applications (mobile, server, desktop)Is trusted by Microsoft and is included as a part of Visual StudioOffers the strongest protection without breaking (.NET) standardsIs continually being improved to keep ahead of decompilersSupports highly-complex development and build environmentsIncludes dedicated, live supportQuick and easy to use!

Encrypt and Decrypt Sensitive Metadata Within Your Config file. C# - Loading System.ServiceModel configuration section using ConfigurationManager. Encrypting windows application connection strings. Download demo project - 170.6 KB Download source - 13.7 KB Introduction Encrypting the connection string for Windows applications can be easily done in a few simple steps explained in this article. Background Wanting to secure connection strings for Windows applications, I read in the .NET Framework Developer's Guide which explains that "ASP.NET 2.0 provides a new feature, called 'protected configuration', that enables you to encrypt sensitive information in a configuration file. Using this guideline, I was able to encrypt and decrypt my connection strings in my application on my computer, but upon distributing the application, the following error occurred: "Failed to decrypt using provider 'MyUserDataProtectionConfigurationProvider'.

This error occurs because the key used to decrypt the string is machine specific by default. Being based on Hameer Saleem's article, this article is very similar to it, but leaves out a step or two and focuses on connection strings. Using the Code. Encrypting the app.config File for Windows Forms Applications. Download source - 21.73 KB Introduction ASP.NET offers the possibility to encrypt sections in the web.config automatically.

Encrypting the app.config File for Windows Forms Applications

It seems it is not possible for WinForm applications to do that for the app.config. And this is true for a part: WinForms does not offer tools to configure it. But it can be done. Using the Code First let me explain something about the configuration files in .NET. Developers can extend a configuration file by defining custom sections. Now that I have explained how to create sections in the app.config, let's go on to show how to encrypt a section. The configuration namespace contains a class that represents a section. DPAPIProtectedConfigurationProvider RSAProtectedConfigurationProvider.

Encrypting Passwords in a .NET app.config File - Jon Galloway. I've been contributing to the Witty project lately.

Encrypting Passwords in a .NET app.config File - Jon Galloway

I'm a fan of Twitter, and it's nice to work on a popular WPF application with some hotshot coders including a WPF pro like Alan Le. Lately, I noticed that we were storing the user's password in plaintext application config file: <setting name="Password" serializeAs="String"><value>OOPS-WE-STORED-THE-PASSWORD-IN-PLAINTEXT</value></setting> So, yeah, that's less than ideal. Foolishly, I volunteered to fix it. DPAPI, Papi! The best way to encrypt configuration settings is with DPAPI, the Data Protection Application Programmer's Interface: This Data Protection API (DPAPI) is a pair of function calls that provide OS-level data protection services to user and system processes.

That sounds pretty good. The keys used for encrypting the user's keys are stored under "%USERPROFILE%\Application Data\Microsoft\Protect\{SID}", where {SID} is the security identifier of that user. Yeah, I didn't read it either. The Nuclear Option: Encrypt The Whole Thing.