SOFTWARE INTEGRITY CHECKING SYSTEMS AND METHODS
3 Assignments
0 Petitions
Accused Products
Abstract
This disclosure relates to systems and methods generating and distributing protected software applications. In certain embodiments, integrity checking mechanisms may be implemented using integrity checking code in software code prior to compilation into machine code. Following compilation and execution of the application, the introduced code may check the integrity of the application by determining whether the application behaves and/or otherwise functions as expected. By introducing integrity checking in this manner, integrity checking techniques may be injected into the application prior to compilation into machine code and/or independent of the particular manner in which the application is compiled.
0 Citations
36 Claims
-
1-16. -16. (canceled)
-
17. A method for protecting an application performed by a system comprising a processor and a non-transitory computer-readable medium storing instructions that, when executed by the processor, cause the system to perform the method, the method comprising:
-
generating functional integrity checking code, the functional integrity checking code being configured to execute one or more functional integrity checks of the application to verify that at least a portion of the application associated with the one or more functional integrity checks function according to a defined behavior by verifying that at least one input and at least one output associated with the at least a portion of the application correspond with an expected input and output behavior; inserting the functional integrity checking code into code associated with the application; inserting integrity check value generation code into the code associated with the application; inserting integrity checking code configured to verify the integrity of the application into the code associated with the application; and compiling the code associated with the application including the inserted functionality integrity checking code, the inserted integrity check value generation code, and the inserted integrity checking code, wherein the functional integrity checking code is further configured to initiate the integrity check value generation code upon successful verification that the at least one input and the at least one output associated with the at least a portion of the application correspond with the expected input and output behavior. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
Specification