Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright (c) 2000 Microsoft Corporation
Module Name:
CoffeeCupHTMLEditor.cpp
Abstract:
This app implicitly loads a DLL whose linkage is not found and the loader comes up with a message box.
Notes:
This is specific to this app.
History:
11/21/2000 prashkud Created
--*/
#include "precomp.h"
IMPLEMENT_SHIM_BEGIN(CoffeeCupHTMLEditor) #include "ShimHookMacro.h"
APIHOOK_ENUM_BEGIN APIHOOK_ENUM_ENTRY(CreateProcessA) APIHOOK_ENUM_END
/*++
This function hooks CreateProcessA and checks the COMMAND_LINE. If the commandline has %systemdir%\lftif90n.dll.
--*/
BOOL APIHOOK(CreateProcessA)( LPCSTR lpApplicationName, // name of executable module
LPSTR lpCommandLine, // command line string
LPSECURITY_ATTRIBUTES lpProcessAttributes, // SD
LPSECURITY_ATTRIBUTES lpThreadAttributes, // SD
BOOL bInheritHandles, // handle inheritance option
DWORD dwCreationFlags, // creation flags
LPVOID lpEnvironment, // new environment block
LPCSTR lpCurrentDirectory, // current directory name
LPSTARTUPINFOA lpStartupInfo, // startup information
LPPROCESS_INFORMATION lpProcessInformation // process information
) { CSTRING_TRY { CString csIgnoreDLL; csIgnoreDLL.GetSystemDirectoryW(); csIgnoreDLL.AppendPath(L"lftif90n.dll"); CString csCl(lpCommandLine); if (csCl.Find(csIgnoreDLL) >= 0) { return TRUE; } } CSTRING_CATCH { // Do nothing
}
return ORIGINAL_API(CreateProcessA)( lpApplicationName, lpCommandLine, lpProcessAttributes, lpThreadAttributes, bInheritHandles, dwCreationFlags, lpEnvironment, lpCurrentDirectory, lpStartupInfo, lpProcessInformation); }
/*++
Register hooked functions
--*/
HOOK_BEGIN APIHOOK_ENTRY(KERNEL32.DLL, CreateProcessA) HOOK_END
IMPLEMENT_SHIM_END
|