A method of intercepting application program interface, including dynamic
installation of associated software, within the user portion of an
operating system. An API interception control server in conjunction with a
system call interception module loads into all active process spaces an
API interception module. An initializer module within the API interception
module hooks and patches all API modules in the active process address
space. When called by the application programs, the API routines' flow of
execution, by virtue of their patched code, is re-directed into a
user-supplied code in a pre-entry routine of the API interception module.
The API routine might be completely by-passed or its input parameters
might be filtered and changed by the user code. During the operation, the
API routine is double-patched by the API interception module to ensure
that all simultaneous calls to the API routine will re-direct its flow of
control into the API interception module. A user-supplied code in a
post-entry module of the API interception module might filter or change
the return values of the API.
Un método de interceptar Application Program Interface, incluyendo la instalación dinámica del software asociado, dentro de la porción del usuario de un sistema operativo. Un servidor del control de la interceptación del API conjuntamente con un módulo de la interceptación de la llamada del sistema carga en todos los espacios activos del proceso un módulo de la interceptación del API. Un módulo del inicializador dentro del módulo de la interceptación del API engancha y remienda todos los módulos del API en el espacio de dirección de proceso activo. Cuando son llamadas por los programas de uso, las rutinas del API fluyen de la ejecución, en virtud de su código remendado, se vuelven a dirigir en un código user-supplied en una rutina de la pre-entrada del módulo de la interceptación del API. La rutina del API pudo ser puenteada totalmente o sus parámetros de la entrada se pudieron filtrar y cambiar por el código del usuario. Durante la operación, la rutina del API doble-es remendada por el módulo de la interceptación del API para asegurarse de que todas las llamadas simultáneas a la rutina del API volverán a dirigir su flujo del control en el módulo de la interceptación del API. Un código user-supplied en un módulo de la postentrada del módulo de la interceptación del API pudo filtrar o cambiar los valores de vuelta del API.