Software protection solutions to prevent Piracy, code theft, and tampering - v.i. labs ®

Skip Navigation LinksHome > Solutions > Software Piracy

Software Anti-Piracy Solution

Despite broad industry awareness and license management systems meant to prevent software license overuse, software piracy continues to be a global and costly problem for software vendors. According to the Third Annual BSA and IDC Global Software Piracy Study, the worldwide piracy rate for PC software was 35 percent in 2004. Desktop, productivity and CAE/CAD applications lead the pack for the types of software most often pirated.

Numerous factors contribute to the piracy problem. One factor is the growing availability of Internet software tools that allow increasingly astute crackers to easily disassemble and reverse engineer license enforcement mechanisms and make software freely available. Another major factor is the lax enforcement of IP protection laws in emerging markets. In China alone, the BSA estimates that 90 percent of all software is pirated, representing $3.6 billion in lost revenue for software vendors. The abundance of organizations selling pirated software online is proof that piracy has become a profitable business.

Tackle piracy. Recover revenue.

To effectively address the software piracy problem, your organization needs to first quantify the financial loss caused by it. V.i. Labs' has developed a method called "Time to Crack" to allow software providers to quantify revenue loss attributed to their specific products.

Our Approach to Curbing Software Piracy

By investing in software protection technology, software providers can deter the cracking community from developing software patches that enable widespread piracy of their software products. V.i. Labs’ CodeArmor is an out-of-the-box software protection solution that employs advanced countermeasures to deter reverse engineering – without requiring source code modifications, changes to the existing license management infrastructure, or impacting the end user experience. CodeArmor prevents software piracy through the following capabilities:

Function level encryption and re-encryption

Cracks that enable software piracy often consist of patches that bypass license enforcement at the assembly language level or attempt to unwrap the protection by loading the decrypted application in memory. CodeArmor deters these threats through granular management of encryption that includes:

  • Unique encryption keys for each protected function
  • Minimizing exposure of decrypted application functions in memory
  • Random management and obfuscation of decrypted functions
  • Use of strong encryption and Advance Encryption Standard (AES)

Anti-debugging and disassembly measures

The cracking community employs a variety of sophisticated debuggers, disassemblers, virtual machines, and other reverse engineering tools to analyze and design cracks to undo software protection mechanisms. CodeArmor prevents these tools from analyzing the protected application at run-time or disassembling when they are static.

Protection for existing license management systems

Many software vendors have invested in license management systems like Macrovision FlexNET or developed custom license management approaches for their software applications. Although these systems are necessary for controlling license overuse and inadvertent piracy, they are not focused on defeating reverse engineering piracy cracks. CodeArmor adds a necessary layer of protection by providing the following capabilities:

  • Encrypts and hardens critical license management functions without requiring source code changes
  • Provides reverse engineering countermeasures
  • Continually monitors the execution environment

Secure Execution Monitoring

Once an application is protected by CodeArmor, a self contained Secure Execution Monitor process continuously monitors and manages the decryption process at run-time to protect the application and its license activation functions.

  • Ensures sensitive functions are re-encrypted after use
  • Detects tampering events and terminates the application
  • Prior to executing a protected function, the execution monitor checks and ensures a secure run-time environment