Computer Sciences Dept.

Using Binary Code Rewrite to Bypass License Checks

Tevfik Kosar, Mihai Christodorescu, Rob Iverson, Barton Miller

A comnon method of enforcing software license terms is for a program to contact another program, called a license server, and ask for permission to run. This study attempts to bypass these license checks in a commercial product through runtime code modification, using the DynInst library. The programs chosen as victims for this study are Adobe FrameMalter, the Purify family of programs, and MatLab. We successfully bypass the FrameMaker licensing checks, allowing full use of the product when the license server is unavailable. Limitations in DynInst prevent similar results with Purify or MatLab. A set of powerful tools has been developed and used in the process, and their generality should simplify similar license bypassing efforts on other software products. Key words : System security, intellectual property protection, cyber cime, dynamic instrumentation, bypassing licence checks, binary code rewriting.

Download this report (PDF)

Return to tech report index

Computer Science | UW Home