Skip to content

Commit f2cb3d3

Browse files
author
Tor Lillqvist
committed
Revert "Hook also CoCreateInstanceFromApp"
Nah, this is so new that typical customer apps, like VB6-created ones, won't use it. I hope. If in the future something says otherwise, re-visit this code. This reverts commit 21cd3a5.
1 parent 21cd3a5 commit f2cb3d3

File tree

1 file changed

+0
-55
lines changed

1 file changed

+0
-55
lines changed

injecteddll/injecteddll.cpp

Lines changed: 0 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -491,40 +491,6 @@ static HRESULT WINAPI myCoCreateInstanceEx(REFCLSID clsid, LPUNKNOWN pUnkOuter,
491491
return nRetval;
492492
}
493493

494-
static HRESULT WINAPI myCoCreateInstanceFromApp(REFCLSID clsid, IUnknown *punkOuter,
495-
DWORD dwClsCtx, PVOID reserved,
496-
DWORD dwCount, MULTI_QI *pResults)
497-
{
498-
if (pGlobalParamPtr->mbVerbose)
499-
{
500-
std::cout << "CoCreateInstanceFromApp(" << clsid << ", " << dwCount << ") from "
501-
<< prettyCodeAddress(_ReturnAddress()) << "..." << std::endl;
502-
503-
for (DWORD j = 0; j < dwCount; ++j)
504-
std::cout << " " << j << "(" << dwCount << "): " << *pResults[j].pIID << std::endl;
505-
}
506-
507-
HRESULT nRetval = CoCreateInstanceFromApp(clsid, punkOuter, dwClsCtx, reserved, dwCount, pResults);
508-
509-
if (pGlobalParamPtr->mbVerbose)
510-
{
511-
for (DWORD j = 0; j < dwCount; ++j)
512-
{
513-
std::cout << "...CoCreateInstanceFromApp(" << clsid << "): " << j << "(" << dwCount << "): ";
514-
if (pResults[j].hr == S_OK)
515-
{
516-
std::cout << *pResults[j].pIID << ": ";
517-
printCreateInstanceResult(pResults[j].pItf);
518-
}
519-
else
520-
std::cout << HRESULT_to_string(pResults[j].hr) << std::endl;
521-
}
522-
}
523-
524-
return nRetval;
525-
}
526-
527-
528494
static HRESULT __stdcall myCoGetClassObject(REFCLSID rclsid, DWORD dwClsContext,
529495
COSERVERINFO* pServerInfo, REFIID riid, LPVOID* ppv)
530496
{
@@ -594,15 +560,6 @@ static PROC WINAPI myGetProcAddress(HMODULE hModule, LPCSTR lpProcName)
594560
HMODULE hOle32 = GetModuleHandleW(L"ole32.dll");
595561
FunPtr pFun;
596562

597-
if (hModule == hOle32 && std::strcmp(lpProcName, "CoCreateInstanceFromApp") == 0)
598-
{
599-
if (pGlobalParamPtr->mbVerbose)
600-
std::cout << "GetProcAddress(ole32.dll, CoCreateInstanceFromApp) from "
601-
<< prettyCodeAddress(_ReturnAddress()) << std::endl;
602-
pFun.pVoid = myCoCreateInstanceFromApp;
603-
return pFun.pProc;
604-
}
605-
606563
if (hModule == hOle32 && std::strcmp(lpProcName, "CoCreateInstanceEx") == 0)
607564
{
608565
if (pGlobalParamPtr->mbVerbose)
@@ -745,8 +702,6 @@ static HMODULE WINAPI myLoadLibraryW(LPCWSTR lpFileName)
745702
myCoCreateInstance);
746703
hook(false, pGlobalParamPtr, hModule, lpFileName, L"ole32.dll", "CoCreateInstanceEx",
747704
myCoCreateInstanceEx);
748-
hook(false, pGlobalParamPtr, hModule, lpFileName, L"ole32.dll", "CoCreateInstanceFromApp",
749-
myCoCreateInstanceFromApp);
750705
}
751706

752707
return hModule;
@@ -802,8 +757,6 @@ static HMODULE WINAPI myLoadLibraryA(LPCSTR lpFileName)
802757
myCoCreateInstance);
803758
hook(false, pGlobalParamPtr, hModule, sWFileName.data(), L"ole32.dll", "CoCreateInstanceEx",
804759
myCoCreateInstanceEx);
805-
hook(false, pGlobalParamPtr, hModule, sWFileName.data(), L"ole32.dll", "CoCreateInstanceFromApp",
806-
myCoCreateInstanceFromApp);
807760
}
808761

809762
return hModule;
@@ -855,8 +808,6 @@ static HMODULE WINAPI innerMyLoadLibraryExW(const std::string& caller, LPCWSTR l
855808
myCoCreateInstance);
856809
hook(false, pGlobalParamPtr, hModule, lpFileName, L"ole32.dll", "CoCreateInstanceEx",
857810
myCoCreateInstanceEx);
858-
hook(false, pGlobalParamPtr, hModule, lpFileName, L"ole32.dll", "CoCreateInstanceFromApp",
859-
myCoCreateInstanceFromApp);
860811
}
861812
}
862813

@@ -929,8 +880,6 @@ static HMODULE WINAPI myLoadLibraryExA(LPCSTR lpFileName, HANDLE hFile, DWORD dw
929880
"CoCreateInstance", myCoCreateInstance);
930881
hook(false, pGlobalParamPtr, hModule, sWFileName.data(), L"ole32.dll",
931882
"CoCreateInstanceEx", myCoCreateInstanceEx);
932-
hook(false, pGlobalParamPtr, hModule, sWFileName.data(), L"ole32.dll",
933-
"CoCreateInstanceFromApp", myCoCreateInstanceFromApp);
934883
}
935884
}
936885

@@ -1147,9 +1096,6 @@ extern "C" DWORD WINAPI InjectedDllMainFunction(ThreadProcParam* pParam)
11471096
hook(false, pParam, L"msvbvm60.dll", L"ole32.dll", "CoCreateInstanceEx",
11481097
myCoCreateInstanceEx);
11491098

1150-
hook(false, pParam, L"msvbvm60.dll", L"ole32.dll", "CoCreateInstanceFromApp",
1151-
myCoCreateInstanceFromApp);
1152-
11531099
hook(false, pParam, L"msvbvm60.dll", L"ole32.dll", "CoGetClassObject", myCoGetClassObject);
11541100

11551101
if (!hook(true, pParam, L"msvbvm60.dll", L"kernel32.dll", "GetProcAddress",
@@ -1181,7 +1127,6 @@ extern "C" DWORD WINAPI InjectedDllMainFunction(ThreadProcParam* pParam)
11811127
hook(false, pParam, nullptr, L"ntdll.dll", "LdrLoadDll", myLdrLoadDll);
11821128
hook(false, pParam, nullptr, L"ole32.dll", "CoCreateInstance", myCoCreateInstance);
11831129
hook(false, pParam, nullptr, L"ole32.dll", "CoCreateInstanceEx", myCoCreateInstanceEx);
1184-
hook(false, pParam, nullptr, L"ole32.dll", "CoCreateInstanceFromApp", myCoCreateInstanceFromApp);
11851130
hook(false, pParam, nullptr, L"ole32.dll", "CoGetClassObject", myCoGetClassObject);
11861131
if (nHookedFunctions == 0)
11871132
{

0 commit comments

Comments
 (0)