1. A method for replacing a DLL (Dynamic Link Library) in an operating system environment, the method comprising: loading a first one of a hook DLL and a target DLL, said target DLL representing a DLL to be replaced, said hook DLL representing a DLL for replacing said target DLL, wherein said target DLL represents a ROM-based (Read-Only Memory) DLL; accessing a list of loaded DLLs for ascertaining whether said target DLL has been loaded before said hook DLL is loaded; after said accessing, if said ascertaining indicates that said hook DLL is loaded before said target DLL is loaded, changing a file name of said hook DLL to a first temporary name, thereafter loading said target DLL, thereafter changing a file name of said target DLL to a private name that is subsequently callable by said hook DLL but not callable by other applications executing in said operating system environment, and thereafter restoring said file name of said hook DLL from said first temporary name to a name that is callable by said other applications, wherein said changing said file name of said target DLL is performed using a trusted program that executes in a full kernel mode in said operating system environment, and wherein said changing said file name of said target DLL comprises manipulating said file name of said target DLL in a list of loaded DLL modules; and after said accessing, if said ascertaining indicates that said target DLL is loaded before said hook DLL is loaded, changing said file name of said target DLL to said private name, and thereafter loading said hook DLL.