Microsoft Solution for Protecting Software From Piracy and License Non-compliance

Microsoft134 Microsoft Solution for Protecting Software From Piracy and License Non compliance
Danielle Marks asked:


Piracy and license non-compliance are major challenges for software publishes. Microsoft estimates that these actions cost the software industry last year around $40 billion in lost revenues around the world. Piracy ranges from the relatively innocent copying of software for a friend, up to more sinister activities, where pirates hack software and distribute it on the Internet. License non-compliance is often a non-malicious feature of large organizations, in which more software seats are deployed than permitted – as stipulated in the contract with the software supplier.

Software Vulnerability Caused by Reverse Engineering

Software piracy is made possible partly because the .NET platform, though very powerful, does enable reverse engineering. This refers to the process of discovering how a particular application works, by analyzing its structure and function. Reverse engineering is made possible by the fact that .NET languages such as C# and VB.NET compile down to Microsoft Intermediate Language (MSIL), the .NET equivalent of machine code. The problem with MSIL is that it is very well known, and carries a great deal of the structure of the high level languages, thus exposing valuable proprietary information.

Microsoft Software Licensing and Protection Services Solution

To combat software piracy through reverse engineering and license non-compliance, Microsoft has come up with a solution that revolves around the concept of permutation – rearranging a set of items. First, it is necessary to identify the crucial and vulnerable pieces of the MSIL, such as the core intellectual property algorithms, items enabling key functionality in the application, and code that includes passwords. Then, with the application of the Microsoft Software Licensing and Protection Services (SLPS) solution, these crucial items are transferred away from the easily reversed engineered MSIL, and into the secure virtual machine language (SVML), which is not easily reverse engineered. SVML is encrypted in a way that is unique to each client, and this also helps in monitoring and enforcing license compliance.


The Microsoft SLPS solution consists of two closely related products: The first is the Microsoft Permutation Package. This is the .NET code protection technology that provides the code protector with a private transformation algorithm, and holds the vendor-specific digital signature for secure licensing. The second product is the code protector, which enables clients to apply the protection to the .NET assemblies. Code protector can be downloaded free of charge.

Further Information

For further information about the Microsoft Software Licensing and Protection Services offerings, visit the Microsoft website.

Random Posts

bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment