Software license management
First Claim
Patent Images
1. A method of managing a software license, the method comprising:
- loading a software program into volatile memory;
obtaining a plurality of authorization data candidates;
selecting authorization data from the plurality of authorization data candidates, wherein selecting the authorization data from the plurality of authorization data candidates comprises;
comparing the plurality of authorization data candidates with a selection criteria that does not contain information corresponding to all of the compared information within the authorization data;
identifying a difference between the selection criteria and each of the authorization data candidates; and
selecting the authorization data using the identified difference;
modifying a portion of the program in volatile memory with the selected authorization data, wherein modifying a portion of the volatile memory comprises replacing a first byte with a second byte; and
executing the modified program.
0 Assignments
0 Petitions
Accused Products
Abstract
A method of managing a software license comprises loading a software program into volatile memory, obtaining authorization data, modifying a portion of the volatile memory relied upon by the program in accordance with the authorization data, executing the program, and causing the modifications to be deleted from the volatile memory. In some embodiments, selection criteria compared with the authorization data does not contain information corresponding to all of the content of the authorization data, thereby denying a software attacker the benefit of identifying and exploiting the selection criteria.
22 Citations
11 Claims
-
1. A method of managing a software license, the method comprising:
-
loading a software program into volatile memory; obtaining a plurality of authorization data candidates; selecting authorization data from the plurality of authorization data candidates, wherein selecting the authorization data from the plurality of authorization data candidates comprises; comparing the plurality of authorization data candidates with a selection criteria that does not contain information corresponding to all of the compared information within the authorization data; identifying a difference between the selection criteria and each of the authorization data candidates; and selecting the authorization data using the identified difference; modifying a portion of the program in volatile memory with the selected authorization data, wherein modifying a portion of the volatile memory comprises replacing a first byte with a second byte; and executing the modified program. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
Specification