MCPcopy Create free account
hub / github.com/Rat431/ColdAPI_Steam / ColdClientHookInit

Function ColdClientHookInit

src/ColdAPI_Steam/ColdManager.cpp:119–164  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

117namespace ColdClientHookManager
118{
119 void ColdClientHookInit()
120 {
121 if (ColdHook_Service::ServiceGlobalInit(NULL))
122 {
123 Hooks_Infos::HookIDLoadLibraryA = ColdHook_Service::InitFunctionHookByName(&Hooks_Infos::InfoLoadLibraryA, true, true, "kernel32.dll", "LoadLibraryA", ColdHookEmu::CLoadLibraryA, NULL);
124 Hooks_Infos::HookIDLoadLibraryW = ColdHook_Service::InitFunctionHookByName(&Hooks_Infos::InfoLoadLibraryW, true, true, "kernel32.dll", "LoadLibraryW", ColdHookEmu::CLoadLibraryW, NULL);
125 Hooks_Infos::HookIDLoadLibraryExA = ColdHook_Service::InitFunctionHookByName(&Hooks_Infos::InfoLoadLibraryExA, true, true, "kernel32.dll", "LoadLibraryExA", ColdHookEmu::CLoadLibraryExA, NULL);
126 Hooks_Infos::HookIDLoadLibraryExW = ColdHook_Service::InitFunctionHookByName(&Hooks_Infos::InfoLoadLibraryExW, true, true, "kernel32.dll", "LoadLibraryExW", ColdHookEmu::CLoadLibraryExW, NULL);
127 if (Hooks_Infos::HookIDLoadLibraryA != NULL && Hooks_Infos::HookIDLoadLibraryW != NULL && Hooks_Infos::HookIDLoadLibraryExA != NULL && Hooks_Infos::HookIDLoadLibraryExW != NULL)
128 {
129 bool Reg1 = ColdHook_Service::ServiceRegisterHookInformation(&Hooks_Infos::InfoLoadLibraryA, Hooks_Infos::HookIDLoadLibraryA, NULL);
130 if (!Reg1) {
131 MessageBoxA(NULL, "Falied to inject the steamclient(64) module with HookInjectionMode. Error: Couldn't get the requested function pointer.",
132 "Error", MB_ICONERROR);
133 ExitProcess(NULL);
134 }
135 bool Reg2 = ColdHook_Service::ServiceRegisterHookInformation(&Hooks_Infos::InfoLoadLibraryW, Hooks_Infos::HookIDLoadLibraryW, NULL);
136 if (!Reg2) {
137 MessageBoxA(NULL, "Falied to inject the steamclient(64) module with HookInjectionMode. Error: Couldn't get the requested function pointer.",
138 "Error", MB_ICONERROR);
139 ExitProcess(NULL);
140 }
141 bool Reg3 = ColdHook_Service::ServiceRegisterHookInformation(&Hooks_Infos::InfoLoadLibraryExA, Hooks_Infos::HookIDLoadLibraryExA, NULL);
142 if (!Reg3) {
143 MessageBoxA(NULL, "Falied to inject the steamclient(64) module with HookInjectionMode. Error: Couldn't get the requested function pointer.",
144 "Error", MB_ICONERROR);
145 ExitProcess(NULL);
146 }
147 bool Reg4 = ColdHook_Service::ServiceRegisterHookInformation(&Hooks_Infos::InfoLoadLibraryExW, Hooks_Infos::HookIDLoadLibraryExW, NULL);
148 if (!Reg4) {
149 MessageBoxA(NULL, "Falied to inject the steamclient(64) module with HookInjectionMode. Error: Couldn't get the requested function pointer.",
150 "Error", MB_ICONERROR);
151 ExitProcess(NULL);
152 }
153 Hooks_Infos::LibA = (_LoadLibraryA)Hooks_Infos::InfoLoadLibraryA.OriginalF;
154 Hooks_Infos::LibW = (_LoadLibraryW)Hooks_Infos::InfoLoadLibraryW.OriginalF;
155 Hooks_Infos::LibExA = (_LoadLibraryExA)Hooks_Infos::InfoLoadLibraryExA.OriginalF;
156 Hooks_Infos::LibExW = (_LoadLibraryExW)Hooks_Infos::InfoLoadLibraryExW.OriginalF;
157 }
158 else {
159 MessageBoxA(NULL, "Falied to inject the steamclient(64) module with HookInjectionMode. Error: Couldn't get the requested function pointer.",
160 "Error", MB_ICONERROR);
161 ExitProcess(NULL);
162 }
163 }
164 }
165}
166namespace ColdAPI_DLC
167{

Callers 1

Calls 3

ServiceGlobalInitFunction · 0.85
InitFunctionHookByNameFunction · 0.85

Tested by

no test coverage detected