Skip to main content
Article
Software Activation Using Multithreading
International Journal of Computer network and Information Security (IJCNIS) (2012)
  • Jianrui Zhang
  • Mark Stamp, San Jose State University
Abstract

Software activation is an anti-piracy technology designed to verify that software products have been legitimately licensed. Activation should be quick and simple while simultaneously being secure and protecting customer privacy. The most common form of software activation is for the user to enter a legitimate product serial number. However, software activation based on serial numbers appears to be weak, since cracks for many programs are readily available on the Internet. Users can employ such cracks to bypass software activation. Serial number verification logic usually executes sequentially in a single thread. Such an approach is relatively easy to break since attackers can trace the code to understand how the logic works. In this paper, we develop a practical multi-threaded verification design. Our results show that by proper use of multi-threading, the amount of traceable code in a debugger can be reduced to a low percentage of the total and the traceable code in each run can differ as well. This makes it significantly more difficult for an attacker to reverse engineer the code as a means of bypassing a security check. Finally, we attempt to quantify the increased effort needed to break our verification logic.

Keywords
  • Software security,
  • Activation,
  • Piracy,
  • Reverse engineering,
  • multithreading
Disciplines
Publication Date
2012
Publisher Statement
SJSU users: use the following link to login and access the article via SJSU databases
Citation Information
Jianrui Zhang and Mark Stamp. "Software Activation Using Multithreading" International Journal of Computer network and Information Security (IJCNIS) Vol. 4 Iss. 12 (2012)
Available at: http://works.bepress.com/mark_stamp/21/