Method and system for protecting native libraries
First Claim
1. A method of protecting one or more native libraries to be used with code applications comprising steps of:
- embedding the one or more native libraries in a system of code; and
protecting the system of code using a protection mechanism.
5 Assignments
0 Petitions
Accused Products
Abstract
A method and system for protecting native libraries for Java and other applications. An application'"'"'s native library may be embedded in a system of code, such as Java code, so the protections afforded the system of code are provided to the native library. At runtime, the native library may be written to a randomly selected filename in a local file system. The native library is then loaded to support native method implementations. Because the library is written to a different and randomly chosen filename each time, a hacker will not know beforehand what library is going to be used. This invention is generally useful for protecting any native library, regardless of whether it is part of a shared Java library or not. It provides any native library the same level of protection that the symbolic obfuscator, or other method of protecting Java code, gives the Java code.
50 Citations
37 Claims
-
1. A method of protecting one or more native libraries to be used with code applications comprising steps of:
-
embedding the one or more native libraries in a system of code; and
protecting the system of code using a protection mechanism. - View Dependent Claims (2, 3)
-
-
4. A method of protecting one or more native libraries to be used with code applications comprising steps of:
-
embedding the one or more native libraries in a system of code;
protecting the system of code using a protection mechanism; and
extracting the native library during execution of an application, but prior to the invocation of a native method of the embedded one or more native libraries contained in the system of code. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A system for protecting one or more native libraries to be used with code applications comprising:
-
an embedding means for embedding the one or more native libraries in a system of code; and
a protection means for protecting the system of code using a protection mechanism. - View Dependent Claims (17, 18)
-
-
19. A system for protecting one or more native libraries to be used with code applications comprising:
-
embedding means for embedding the one or more native libraries in a system of code;
protection means for protecting the system of code using a protection mechanism; and
extracting means for extracting the native library during execution of an application, but prior to the invocation of a native method of the embedded one or more native libraries contained in the system of code. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26)
-
-
27. The system of claim wherein the extracting means comprises the steps of:
-
a selecting means for selecting data associated with a predetermined native library of the one or more native libraries embedded in the system of code;
a data extracting means for extracting data associated with the predetermined native library from the system of code;
a class extracting means for extracting a class file containing one or more native methods associated with the predetermined native library;
a first renaming means for randomly renaming symbols exported by the predetermined native library;
a second renaming means for randomly renaming symbols contained in the class file containing one or more native methods associated with the predetermined native library;
a data writing means for writing the data associated with the predetermined native library to a first filename in a local file system;
a class instantiating means for instantiating a class containing one or more native methods associated with the predetermined native library from an image representation of the class; and
a loading means for loading the predetermined native library into an environment to enable implementation of one or more native methods associated with the predetermined native library. - View Dependent Claims (28, 29, 30)
-
-
31. A processor readable medium having processor readable code embodied therein for accessing data on a computer-based data accessing system, the processor readable medium comprising:
-
processor readable code for embedding the one or more native libraries in a system of code; and
processor readable code for protecting the archive file using a protection mechanism. - View Dependent Claims (32)
-
-
33. A processor readable medium having processor readable code embodied therein for accessing data on a computer-based data accessing system, the processor readable medium comprising:
-
processor readable code for embedding the one or more native libraries in a system of code;
processor readable code for protecting the archive file using a protection mechanism; and
processor readable code for extracting the native library during execution of an application, but prior to the invocation of native methods of the embedded native libraries contained in the system of code. - View Dependent Claims (34, 35, 36, 37)
-
Specification