The title may have caught a few readers thinking, "What the hell is this Trojan DLL?" Trojan DLL injection is another way to inject a DLL by replacing a DLL that is known a process will load. For example, if the programmer knows that a process will load customapi.dll, he can create his own dll and give it that same filename. Of course, the programmer must rename the original customapi.dll to something else.
Inside the customapi.dll, it must export all of the same symbols the original customapi.dll exported. The programmer can do this easily using function fowarders ( I'll describe this in another tutorial later ), they will make it very simple to hook certain functions. The only problem with this is that it will be version specific. If the programmer replaces a system DLL, for example, and Microsoft adds new functions in the future, the DLL will not have function fowarders for them. Applications that reference these new functions will be unable to load and execute.

