Java native interface and Windows Universal app hooking
AssigneeCitrix Systems, Inc.
InventorsJeff Dowling, Abraham Mir
Life of this patent
Estimating the term…
Abstract
Described embodiments provide systems and methods for augmentation, instrumentation, and other runtime modifications of bytecode-based applications through introduction of static and dynamic hooks. In at least one aspect, described is a system for hooking Java native interface calls from native code to Java code in a Java virtual machine. In at least one aspect, described is a system for static hooking of a Windows Universal application. In at least one aspect, described is a system for dynamically hooking a Windows Universal application.
Claims8
A system for hooking Java native interface calls from native code to Java code in a Java virtual machine, the system comprising:
- a Java Native Interface (“JNI”) dynamic hook executable on a processor, coupled to memory, and configured to intercept a call from native code to a predetermined Java function within a Java Virtual Machine (“JVM”);
- wherein the JNI dynamic hook is configured to:
- determine that a class associated with the predetermined Java function is statically hooked via a hook lookup function,
- responsive to the determination, traverse, via the hook lookup function, at least a portion of a hierarchy of the class using a method identifier for the call to the predetermined Java function,
- identify, from traversing at least the portion of the hierarchy of the class, a static hook method corresponding to a target method, and
- call the static hook method returned by the hook lookup function;
- and
- wherein the static hook method is configured to forward the call to the target method.
Dependencies are inferred from the claim text.