Abstract:
One embodiment of the present invention provides system for facilitating replacement of a system function in an application with a customized function. During operation, the system shifts an existing load command in a file of an application to accommodate an additional load command. The system also adds the additional load command to the file. The additional load command identifies additional instructions that change a pointer of the application from a value that points to a system function to another value that points to a customized function.
Abstract:
Particular embodiments establish static redirection of a function that is a member of a class to an alternate implementation of the function. A software tool executing on a computer server receives an executable file for an application and a location for an alternate implementation of the function. The function may be written in Objective C. The software tool can be used to locate a structure for the function by traversing serialized metadata in the executable file. The software tool can then be used to modify the metadata in the executable file by updating the value of a selector indicating the location of a current implementation of the function to indicate a location of the alternate implementation. The selector may be included in a element of the structure for the class method. Finally, the application may provide the modified executable file for installation on client devices.
Abstract:
One embodiment of the present invention provides a system for facilitating replacement of a system call in an application with a customized function call. During operation, the system re-links the application's executable file with additional code or dynamically injects the additional code to the application's executable file during run time. The additional code can change a pointer in a table which indicates addresses of imported functions so that the pointer indicates an address of the customized function call.
Abstract:
Particular embodiments establish static redirection of a function that is a member of a class to an alternate implementation of the function. A software tool executing on a computer server receives an executable file for an application and a location for an alternate implementation of the function. The function may be written in Objective C. The software tool can be used to locate a structure for the function by traversing serialized metadata in the executable file. The software tool can then be used to modify the metadata in the executable file by updating the value of a selector indicating the location of a current implementation of the function to indicate a location of the alternate implementation. The selector may be included in a element of the structure for the class method. Finally, the application may provide the modified executable file for installation on client devices.
Abstract:
Particular embodiments establish static redirection of a function that is a member of a class to an alternate implementation of the function. A software tool executing on a computer server receives an executable file for an application and a location for an alternate implementation of the function. The function may be written in Objective C. The software tool can be used to locate a structure for the function by traversing serialized metadata in the executable file. The software tool can then be used to modify the metadata in the executable file by updating the value of a selector indicating the location of a current implementation of the function to indicate a location of the alternate implementation. The selector may be included in a element of the structure for the class method. Finally, the application may provide the modified executable file for installation on client devices.
Abstract:
One embodiment of the system disclosed herein facilitates identifying a system call in an application and replacing the identified system call with a customized function call. During operation, the system executes an executable file of the application, wherein the executable file has been modified to execute a hooking and injection manager at run time. Prior to executing the system call, the system executes the hooking and injection manager. While executing the hooking and injection manager, the system determines, from a symbol table, a symbol table index value corresponding to a symbol associated with the system call. The system further determines an import table entry storing a pointer to the system call based on the symbol table index value, and changes the pointer in the import table entry so that the pointer indicates an address of the customized function call.
Abstract:
The present invention involves systems and methods for replacement of function calls. In one embodiment, a function call is intercepted and modified to enforce a policy on a client device. The function call is intercepted by scanning code loaded for a launch of an application. The function call includes a first pointer value. The function call is modified by changing a first pointer value to a second pointer value. The second pointer value points to a customized function.
Abstract:
One embodiment of the present invention provides system for facilitating replacement of a system function in an application with a customized function. During operation, the system shifts an existing load command in a file of an application to accommodate an additional load command. The system also adds the additional load command to the file. The additional load command identifies additional instructions that change a pointer of the application from a value that points to a system function to another value that points to a customized function.
Abstract:
One embodiment of the system disclosed herein facilitates identifying a system call in an application and replacing the identified system call with a customized function call. During operation, the system executes an executable file of the application, wherein the executable file has been modified to execute a hooking and injection manager at run time. Prior to executing the system call, the system executes the hooking and injection manager. While executing the hooking and injection manager, the system determines, from a symbol table, a symbol table index value corresponding to a symbol associated with the system call. The system further determines an import table entry storing a pointer to the system call based on the symbol table index value, and changes the pointer in the import table entry so that the pointer indicates an address of the customized function call.
Abstract:
The present invention involves systems and methods for replacement of function calls. In one embodiment, a function call is intercepted and modified to enforce a policy on a client device. The function call is intercepted by scanning code loaded for a launch of an application. The function call includes a first pointer value. The function call is modified by changing a first pointer value to a second pointer value. The second pointer value points to a customized function.