← Back to Patent Explorer
US6550060B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Method and system for dynamic injection of dynamic link libraries into a windowed operating system

Assignee: HP Inc
•
Filing: 1999-04-08
•
Granted: 2003-04-15
•
Expires: 2019-04-08
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Methods and system for dynamically injecting dynamic link libraries into a process in a windowed operating system. The methods includes determining which dynamic link libraries should be injected into a process on a windowed operating system. The methods and system may allow specific dynamic link libraries to be loaded into specific address spaces for every process created in a windowed operating system such a Microsoft Windows 95/98/NT. The dynamic link libraries are loaded prior to the execution of any application related code in a process address space created by a windowed operating system. The methods and system solve many of the problems associated with injecting dynamic link libraries into an address space created for a process by a windowed operating system.

Inventors

  • 👤 Richard P. Hammond

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 12:13
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/44; G06F9/445; G06F9/44521

Claims Analysis

Total Claims: 25
Claim 1
Independent Claim 140 words
In a computer with a windowed operating system with a plurality of processes, a method for dynamically injecting injection logic into the windowed operating system, comprising the steps of: loading an injection application on a windowed operating system, wherein the injection application is used to inject injection logic into processes that run on a windowed operating system, and wherein the injection logic is executed prior to any application software associated with the processes; loading an injection driver from the injection application, wherein the injection driver includes logic to determine if any dynamic link libraries should be loaded for applications that run on the windowed operating system; injecting injection logic into new processes created on the windowed operating system, wherein the injection logic queries the injection driver to determine if any dynamic link libraries should be injected into the new process.
Claim 2
Dependent Claim 140 words
In a computer with a windowed operating system with a plurality of processes, a method for dynamically injecting injection logic into the windowed operating system, comprising the steps of: loading an injection application on a windowed operating system, wherein the injection application is used to inject injection logic into processes that run on a windowed operating system, and wherein the injection logic is executed prior to any application software associated with the processes; loading an injection driver from the injection application, wherein the injection driver includes logic to determine if any dynamic link libraries should be loaded for applications that run on the windowed operating system; injecting injection logic into new processes created on the windowed operating system, wherein the injection logic queries the injection driver to determine if any dynamic link libraries should be injected into the new process.
Claim 3
Dependent Claim 22 words
A computer readable medium having stored therein instructions for causing a central processing unit to execute the method of claim 1 .
Claim 4
Dependent Claim 20 words
The method of claim 1 wherein the windowed operating system is any of Windows 95, Windows 98 or Windows NT.
Claim 5
Dependent Claim 23 words
The method of claim 1 wherein the dynamic link libraries are any of Windows 95, Windows 98, or Windows NT dynamic link libraries.
Claim 6
Dependent Claim 118 words
In a computer with a windowed operating system with a plurality of processes, a method for dynamically injecting dynamic link libraries into the windowed operating system, comprising the steps of: executing injection logic from a process on the windowed operating system, wherein the injection logic was injected into the process with an injection application; querying an injection driver loaded by the injection application from the injection logic; determining from the injection driver whether any dynamic link libraries should be injected into a memory space for the process, and if so, loading an injection dynamic link library from the injection driver to inject the dynamic link libraries into the memory space for the process on the windowed operating system.
Claim 7
Dependent Claim 118 words
In a computer with a windowed operating system with a plurality of processes, a method for dynamically injecting dynamic link libraries into the windowed operating system, comprising the steps of: executing injection logic from a process on the windowed operating system, wherein the injection logic was injected into the process with an injection application; querying an injection driver loaded by the injection application from the injection logic; determining from the injection driver whether any dynamic link libraries should be injected into a memory space for the process, and if so, loading an injection dynamic link library from the injection driver to inject the dynamic link libraries into the memory space for the process on the windowed operating system.
Claim 8
Dependent Claim 22 words
A computer readable medium having stored therein instructions for causing a central processing unit to execute the method of claim 5 .
Claim 9
Dependent Claim 19 words
The method of claim 5 wherein the windowed operating system is any Windows 95, Windows 98 or Windows NT.
Claim 10
Dependent Claim 130 words
In a computer with a windowed operating system with a plurality of processes, a method for dynamically injecting dynamic link libraries into the windowed operating system, comprising the steps of: querying an injection driver from an injection dynamic link library for a list of dynamic link libraries that should be injected into a process on a windowed operating system; repeating the following steps from the injection dynamic link library using the list of dynamic link libraries obtained from the injection driver: determining whether a dynamic link library from the list is appropriate to load into a memory space for the process, and if so, loading the dynamic link library into a memory space for the process; and creating a log entry in an injection log for the dynamic link library.
Claim 11
Dependent Claim 130 words
In a computer with a windowed operating system with a plurality of processes, a method for dynamically injecting dynamic link libraries into the windowed operating system, comprising the steps of: querying an injection driver from an injection dynamic link library for a list of dynamic link libraries that should be injected into a process on a windowed operating system; repeating the following steps from the injection dynamic link library using the list of dynamic link libraries obtained from the injection driver: determining whether a dynamic link library from the list is appropriate to load into a memory space for the process, and if so, loading the dynamic link library into a memory space for the process; and creating a log entry in an injection log for the dynamic link library.
Claim 12
Dependent Claim 22 words
A computer readable medium having stored therein instructions for causing a central processing unit to execute the method of claim 8 .
Claim 13
Dependent Claim 20 words
The method of claim 8 wherein the windowed operating system is any of Windows 95, Windows 98 or Windows NT.
Claim 14
Dependent Claim 36 words
The method of claim 8 wherein the log entry includes any of a dynamic link library loaded, a location for the dynamic link library, a timestamp, or a result returned from loading a dynamic link library.
Claim 15
Dependent Claim 58 words
The method of claim 8 further comprising: determining whether a dynamic link library from the list is appropriate to load into a memory space for the process, and if not, creating a log entry in an injection log for the dynamic link library indicating the dynamic link library was not loaded into the memory space for the process.
Claim 16
Dependent Claim 32 words
The method of claim 8 wherein the log entry includes a name of a dynamic link library loaded, a location, a timestamp and a reason for not using the dynamic link library.
Claim 17
Dependent Claim 44 words
The method of claim 8 wherein the step of loading the dynamic link library into a memory space for the process includes using a dynamic link library loading function called LoadLibrary from an injection dynamic link library called INJECT.DLL on the windowed operating system.
Claim 18
Dependent Claim 107 words
In a computer with a windowed operating system with a plurality of processes, a method for dynamically injecting dynamic link libraries into the windowed operating system, comprising the steps of: selecting a set of injection criteria for one or more dynamic link libraries from an injection dynamic link library that will be injected into a process on a windowed operating system; querying an injection driver from the injection dynamic link library for a list of dynamic link libraries that meet the set of injection criteria; and loading dynamic link libraries from the list, if any, into a memory space for the process on the windowed operating system.
Claim 19
Dependent Claim 107 words
In a computer with a windowed operating system with a plurality of processes, a method for dynamically injecting dynamic link libraries into the windowed operating system, comprising the steps of: selecting a set of injection criteria for one or more dynamic link libraries from an injection dynamic link library that will be injected into a process on a windowed operating system; querying an injection driver from the injection dynamic link library for a list of dynamic link libraries that meet the set of injection criteria; and loading dynamic link libraries from the list, if any, into a memory space for the process on the windowed operating system.
Claim 20
Dependent Claim 22 words
A computer readable medium having stored therein instructions for causing a central processing unit to execute the method of claim 15 .
Claim 21
Dependent Claim 20 words
The method of claim 15 wherein the windowed operating system is any of Windows 95, Windows 98 or Windows NT.
Claim 22
Independent Claim 163 words
A system for dynamically injecting dynamic link libraries into processes on a windowed operating system, comprising in combination: an injection driver for determining if any dynamic link libraries should be loaded for application related logic associated with a process on the windowed operating system, and for dynamically selecting dynamic link libraries using injection criteria; and an injection dynamic link library with a plurality of injection functions for executing injection logic and modifying main kernel dynamic link library function in an original kernel dynamic link library to jump to an injection hook function within an injection dynamic link library, wherein the injection functions from the injection dynamic link library are used to execute injection logic prior to executing any other applications related logic in a new process address space created by a windowed operating system, and for querying an injection driver from for a list of dynamic link libraries that should be injected into a process on a windowed operating system using injection criteria.
Claim 23
Independent Claim 163 words
A system for dynamically injecting dynamic link libraries into processes on a windowed operating system, comprising in combination: an injection driver for determining if any dynamic link libraries should be loaded for application related logic associated with a process on the windowed operating system, and for dynamically selecting dynamic link libraries using injection criteria; and an injection dynamic link library with a plurality of injection functions for executing injection logic and modifying main kernel dynamic link library function in an original kernel dynamic link library to jump to an injection hook function within an injection dynamic link library, wherein the injection functions from the injection dynamic link library are used to execute injection logic prior to executing any other applications related logic in a new process address space created by a windowed operating system, and for querying an injection driver from for a list of dynamic link libraries that should be injected into a process on a windowed operating system using injection criteria.
Claim 24
Dependent Claim 20 words
The system of claim 18 wherein the windowed operating system is any of Windows 95, Windows 98, or Windows NT.
Claim 25
Dependent Claim 24 words
The system of claim 18 wherein the injection dynamic link library is an injection dynamic link library called INJECT.DLL in the windowed operating system.

References Cited (Backward Citations)

US5583761A Cited
US5673315A Cited
EP0752647A1 Cited
US5812848A Cited
WO1998033106A1 Cited
US6141698A Cited
US5958010A Cited
US6202199B1 Cited
US6463583B1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2006-04-14 2006-10-14 2007-04-15 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2010-04-14 2010-10-14 2011-04-15 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2014-04-14 2014-10-14 2015-04-15 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag