diff --git a/source/dllmain.cpp b/source/dllmain.cpp index a4e0aab..da47d1e 100644 --- a/source/dllmain.cpp +++ b/source/dllmain.cpp @@ -8,6 +8,11 @@ extern "C" Direct3D8 *WINAPI Direct3DCreate8(UINT SDKVersion); #endif +bool WINAPI IsUltimateASILoader() +{ + return true; +} + HMODULE hm; std::vector iniPaths; std::filesystem::path sFileLoaderPath; @@ -166,6 +171,8 @@ enum Kernel32ExportsNames eGetSystemInfo, eInterlockedCompareExchange, eSleep, + eGetSystemTimeAsFileTime, + eGetCurrentProcessId, eCreateFileA, eCreateFileW, eGetFileAttributesA, @@ -240,7 +247,12 @@ void LoadOriginalLibrary() else if (iequals(szSelfName, L"winmm.dll")) { winmm.LoadOriginalLibrary(LoadLibraryW(szSystemPath)); - } else + } + else if (iequals(szSelfName, L"winhttp.dll")) + { + winhttp.LoadOriginalLibrary(LoadLibraryW(szSystemPath)); + } + else #if !X64 if (iequals(szSelfName, L"vorbisFile.dll")) { @@ -701,6 +713,18 @@ void WINAPI CustomSleep(DWORD dwMilliseconds) return Sleep(dwMilliseconds); } +void WINAPI CustomGetSystemTimeAsFileTime(LPFILETIME lpSystemTimeAsFileTime) +{ + LoadPluginsAndRestoreIAT((uintptr_t)_ReturnAddress()); + return GetSystemTimeAsFileTime(lpSystemTimeAsFileTime); +} + +DWORD WINAPI CustomGetCurrentProcessId() +{ + LoadPluginsAndRestoreIAT((uintptr_t)_ReturnAddress()); + return GetCurrentProcessId(); +} + std::filesystem::path GetFileName(auto lpFilename) { std::error_code ec; @@ -887,6 +911,7 @@ HRESULT WINAPI CustomCoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWOR return hr; } +std::vector importedModulesList; bool HookKernel32IAT(HMODULE mod, bool exe) { auto hExecutableInstance = (size_t)mod; @@ -912,6 +937,8 @@ bool HookKernel32IAT(HMODULE mod, bool exe) Kernel32Data[eGetSystemInfo][ProcAddress] = (size_t)GetProcAddress(GetModuleHandle(TEXT("KERNEL32.DLL")), "GetSystemInfo"); Kernel32Data[eInterlockedCompareExchange][ProcAddress] = (size_t)GetProcAddress(GetModuleHandle(TEXT("KERNEL32.DLL")), "InterlockedCompareExchange"); Kernel32Data[eSleep][ProcAddress] = (size_t)GetProcAddress(GetModuleHandle(TEXT("KERNEL32.DLL")), "Sleep"); + Kernel32Data[eGetSystemTimeAsFileTime][ProcAddress] = (size_t)GetProcAddress(GetModuleHandle(TEXT("KERNEL32.DLL")), "GetSystemTimeAsFileTime"); + Kernel32Data[eGetCurrentProcessId][ProcAddress] = (size_t)GetProcAddress(GetModuleHandle(TEXT("KERNEL32.DLL")), "GetCurrentProcessId"); Kernel32Data[eCreateFileA][ProcAddress] = (size_t)GetProcAddress(GetModuleHandle(TEXT("KERNEL32.DLL")), "CreateFileA"); Kernel32Data[eCreateFileW][ProcAddress] = (size_t)GetProcAddress(GetModuleHandle(TEXT("KERNEL32.DLL")), "CreateFileW"); Kernel32Data[eGetFileAttributesA][ProcAddress] = (size_t)GetProcAddress(GetModuleHandle(TEXT("KERNEL32.DLL")), "GetFileAttributesA"); @@ -1042,6 +1069,18 @@ bool HookKernel32IAT(HMODULE mod, bool exe) *(size_t*)i = (size_t)CustomSleep; matchedImports++; } + else if (ptr == Kernel32Data[eGetSystemTimeAsFileTime][ProcAddress]) + { + if (exe) Kernel32Data[eGetSystemTimeAsFileTime][IATPtr] = i; + *(size_t*)i = (size_t)CustomGetSystemTimeAsFileTime; + matchedImports++; + } + else if (ptr == Kernel32Data[eGetCurrentProcessId][ProcAddress]) + { + if (exe) Kernel32Data[eGetCurrentProcessId][IATPtr] = i; + *(size_t*)i = (size_t)CustomGetCurrentProcessId; + matchedImports++; + } else if (ptr == Kernel32Data[eCreateFileA][ProcAddress]) { if (exe) Kernel32Data[eCreateFileA][IATPtr] = i; @@ -1155,6 +1194,7 @@ bool HookKernel32IAT(HMODULE mod, bool exe) PatchIAT(hExecutableInstance + (pImports + i)->FirstThunk, 0, hExecutableInstance_end); else if (!_stricmp((const char*)(hExecutableInstance + (pImports + i)->Name), "OLE32.DLL")) PatchCoCreateInstance(hExecutableInstance + (pImports + i)->FirstThunk, 0, hExecutableInstance_end); + importedModulesList.emplace_back((const char*)(hExecutableInstance + (pImports + i)->Name)); } } @@ -1247,6 +1287,341 @@ bool HookKernel32IAT(HMODULE mod, bool exe) if ((IMAGE_ORDINAL(thunk->u1.Ordinal)) == 1) p[j] = _DirectInput8Create; } + else if (iequals(szSelfName, L"winhttp.dll")) + { + DWORD Protect; + VirtualProtect(&p[j], 4, PAGE_EXECUTE_READWRITE, &Protect); + + const enum ewinhttp + { + Private1 = 4, + SvchostPushServiceGlobals = 5, + WinHttpAddRequestHeaders = 6, + WinHttpAddRequestHeadersEx = 7, + WinHttpAutoProxySvcMain = 8, + WinHttpCheckPlatform = 9, + WinHttpCloseHandle = 10, + WinHttpConnect = 11, + WinHttpConnectionDeletePolicyEntries = 12, + WinHttpConnectionDeleteProxyInfo = 13, + WinHttpConnectionFreeNameList = 14, + WinHttpConnectionFreeProxyInfo = 15, + WinHttpConnectionFreeProxyList = 16, + WinHttpConnectionGetNameList = 17, + WinHttpConnectionGetProxyInfo = 18, + WinHttpConnectionGetProxyList = 19, + WinHttpConnectionOnlyConvert = 20, + WinHttpConnectionOnlyReceive = 21, + WinHttpConnectionOnlySend = 22, + WinHttpConnectionSetPolicyEntries = 23, + WinHttpConnectionSetProxyInfo = 24, + WinHttpConnectionUpdateIfIndexTable = 25, + WinHttpCrackUrl = 26, + WinHttpCreateProxyResolver = 27, + WinHttpCreateUrl = 28, + WinHttpDetectAutoProxyConfigUrl = 29, + WinHttpFreeProxyResult = 30, + WinHttpFreeProxyResultEx = 31, + WinHttpFreeProxySettings = 32, + WinHttpFreeProxySettingsEx = 33, + WinHttpFreeQueryConnectionGroupResult = 34, + WinHttpGetDefaultProxyConfiguration = 35, + WinHttpGetIEProxyConfigForCurrentUser = 36, + WinHttpGetProxyForUrl = 37, + WinHttpGetProxyForUrlEx = 38, + WinHttpGetProxyForUrlEx2 = 39, + WinHttpGetProxyForUrlHvsi = 40, + WinHttpGetProxyResult = 41, + WinHttpGetProxyResultEx = 42, + WinHttpGetProxySettingsEx = 43, + WinHttpGetProxySettingsResultEx = 44, + WinHttpGetProxySettingsVersion = 45, + WinHttpGetTunnelSocket = 46, + WinHttpOpen = 47, + WinHttpOpenRequest = 48, + WinHttpPacJsWorkerMain = 49, + WinHttpProbeConnectivity = 50, + WinHttpQueryAuthSchemes = 51, + WinHttpQueryConnectionGroup = 52, + WinHttpQueryDataAvailable = 53, + WinHttpQueryHeaders = 54, + WinHttpQueryHeadersEx = 55, + WinHttpQueryOption = 56, + WinHttpReadData = 57, + WinHttpReadDataEx = 58, + WinHttpReadProxySettings = 59, + WinHttpReadProxySettingsHvsi = 60, + WinHttpReceiveResponse = 61, + WinHttpRegisterProxyChangeNotification = 62, + WinHttpResetAutoProxy = 63, + WinHttpSaveProxyCredentials = 64, + WinHttpSendRequest = 65, + WinHttpSetCredentials = 66, + WinHttpSetDefaultProxyConfiguration = 67, + WinHttpSetOption = 68, + WinHttpSetProxySettingsPerUser = 69, + WinHttpSetSecureLegacyServersAppCompat = 1, + WinHttpSetStatusCallback = 70, + WinHttpSetTimeouts = 71, + WinHttpTimeFromSystemTime = 72, + WinHttpTimeToSystemTime = 73, + WinHttpUnregisterProxyChangeNotification = 74, + WinHttpWebSocketClose = 75, + WinHttpWebSocketCompleteUpgrade = 76, + WinHttpWebSocketQueryCloseStatus = 77, + WinHttpWebSocketReceive = 78, + WinHttpWebSocketSend = 79, + WinHttpWebSocketShutdown = 80, + WinHttpWriteData = 81, + WinHttpWriteProxySettings = 82 + }; + + switch (IMAGE_ORDINAL(thunk->u1.Ordinal)) + { + case ewinhttp::Private1: + p[j] = _Private1; + break; + case ewinhttp::SvchostPushServiceGlobals: + p[j] = _SvchostPushServiceGlobals; + break; + case ewinhttp::WinHttpAddRequestHeaders: + p[j] = _WinHttpAddRequestHeaders; + break; + case ewinhttp::WinHttpAddRequestHeadersEx: + p[j] = _WinHttpAddRequestHeadersEx; + break; + case ewinhttp::WinHttpAutoProxySvcMain: + p[j] = _WinHttpAutoProxySvcMain; + break; + case ewinhttp::WinHttpCheckPlatform: + p[j] = _WinHttpCheckPlatform; + break; + case ewinhttp::WinHttpCloseHandle: + p[j] = _WinHttpCloseHandle; + break; + case ewinhttp::WinHttpConnect: + p[j] = _WinHttpConnect; + break; + case ewinhttp::WinHttpConnectionDeletePolicyEntries: + p[j] = _WinHttpConnectionDeletePolicyEntries; + break; + case ewinhttp::WinHttpConnectionDeleteProxyInfo: + p[j] = _WinHttpConnectionDeleteProxyInfo; + break; + case ewinhttp::WinHttpConnectionFreeNameList: + p[j] = _WinHttpConnectionFreeNameList; + break; + case ewinhttp::WinHttpConnectionFreeProxyInfo: + p[j] = _WinHttpConnectionFreeProxyInfo; + break; + case ewinhttp::WinHttpConnectionFreeProxyList: + p[j] = _WinHttpConnectionFreeProxyList; + break; + case ewinhttp::WinHttpConnectionGetNameList: + p[j] = _WinHttpConnectionGetNameList; + break; + case ewinhttp::WinHttpConnectionGetProxyInfo: + p[j] = _WinHttpConnectionGetProxyInfo; + break; + case ewinhttp::WinHttpConnectionGetProxyList: + p[j] = _WinHttpConnectionGetProxyList; + break; + case ewinhttp::WinHttpConnectionOnlyConvert: + p[j] = _WinHttpConnectionOnlyConvert; + break; + case ewinhttp::WinHttpConnectionOnlyReceive: + p[j] = _WinHttpConnectionOnlyReceive; + break; + case ewinhttp::WinHttpConnectionOnlySend: + p[j] = _WinHttpConnectionOnlySend; + break; + case ewinhttp::WinHttpConnectionSetPolicyEntries: + p[j] = _WinHttpConnectionSetPolicyEntries; + break; + case ewinhttp::WinHttpConnectionSetProxyInfo: + p[j] = _WinHttpConnectionSetProxyInfo; + break; + case ewinhttp::WinHttpConnectionUpdateIfIndexTable: + p[j] = _WinHttpConnectionUpdateIfIndexTable; + break; + case ewinhttp::WinHttpCrackUrl: + p[j] = _WinHttpCrackUrl; + break; + case ewinhttp::WinHttpCreateProxyResolver: + p[j] = _WinHttpCreateProxyResolver; + break; + case ewinhttp::WinHttpCreateUrl: + p[j] = _WinHttpCreateUrl; + break; + case ewinhttp::WinHttpDetectAutoProxyConfigUrl: + p[j] = _WinHttpDetectAutoProxyConfigUrl; + break; + case ewinhttp::WinHttpFreeProxyResult: + p[j] = _WinHttpFreeProxyResult; + break; + case ewinhttp::WinHttpFreeProxyResultEx: + p[j] = _WinHttpFreeProxyResultEx; + break; + case ewinhttp::WinHttpFreeProxySettings: + p[j] = _WinHttpFreeProxySettings; + break; + case ewinhttp::WinHttpFreeProxySettingsEx: + p[j] = _WinHttpFreeProxySettingsEx; + break; + case ewinhttp::WinHttpFreeQueryConnectionGroupResult: + p[j] = _WinHttpFreeQueryConnectionGroupResult; + break; + case ewinhttp::WinHttpGetDefaultProxyConfiguration: + p[j] = _WinHttpGetDefaultProxyConfiguration; + break; + case ewinhttp::WinHttpGetIEProxyConfigForCurrentUser: + p[j] = _WinHttpGetIEProxyConfigForCurrentUser; + break; + case ewinhttp::WinHttpGetProxyForUrl: + p[j] = _WinHttpGetProxyForUrl; + break; + case ewinhttp::WinHttpGetProxyForUrlEx: + p[j] = _WinHttpGetProxyForUrlEx; + break; + case ewinhttp::WinHttpGetProxyForUrlEx2: + p[j] = _WinHttpGetProxyForUrlEx2; + break; + case ewinhttp::WinHttpGetProxyForUrlHvsi: + p[j] = _WinHttpGetProxyForUrlHvsi; + break; + case ewinhttp::WinHttpGetProxyResult: + p[j] = _WinHttpGetProxyResult; + break; + case ewinhttp::WinHttpGetProxyResultEx: + p[j] = _WinHttpGetProxyResultEx; + break; + case ewinhttp::WinHttpGetProxySettingsEx: + p[j] = _WinHttpGetProxySettingsEx; + break; + case ewinhttp::WinHttpGetProxySettingsResultEx: + p[j] = _WinHttpGetProxySettingsResultEx; + break; + case ewinhttp::WinHttpGetProxySettingsVersion: + p[j] = _WinHttpGetProxySettingsVersion; + break; + case ewinhttp::WinHttpGetTunnelSocket: + p[j] = _WinHttpGetTunnelSocket; + break; + case ewinhttp::WinHttpOpen: + p[j] = _WinHttpOpen; + break; + case ewinhttp::WinHttpOpenRequest: + p[j] = _WinHttpOpenRequest; + break; + case ewinhttp::WinHttpPacJsWorkerMain: + p[j] = _WinHttpPacJsWorkerMain; + break; + case ewinhttp::WinHttpProbeConnectivity: + p[j] = _WinHttpProbeConnectivity; + break; + case ewinhttp::WinHttpQueryAuthSchemes: + p[j] = _WinHttpQueryAuthSchemes; + break; + case ewinhttp::WinHttpQueryConnectionGroup: + p[j] = _WinHttpQueryConnectionGroup; + break; + case ewinhttp::WinHttpQueryDataAvailable: + p[j] = _WinHttpQueryDataAvailable; + break; + case ewinhttp::WinHttpQueryHeaders: + p[j] = _WinHttpQueryHeaders; + break; + case ewinhttp::WinHttpQueryHeadersEx: + p[j] = _WinHttpQueryHeadersEx; + break; + case ewinhttp::WinHttpQueryOption: + p[j] = _WinHttpQueryOption; + break; + case ewinhttp::WinHttpReadData: + p[j] = _WinHttpReadData; + break; + case ewinhttp::WinHttpReadDataEx: + p[j] = _WinHttpReadDataEx; + break; + case ewinhttp::WinHttpReadProxySettings: + p[j] = _WinHttpReadProxySettings; + break; + case ewinhttp::WinHttpReadProxySettingsHvsi: + p[j] = _WinHttpReadProxySettingsHvsi; + break; + case ewinhttp::WinHttpReceiveResponse: + p[j] = _WinHttpReceiveResponse; + break; + case ewinhttp::WinHttpRegisterProxyChangeNotification: + p[j] = _WinHttpRegisterProxyChangeNotification; + break; + case ewinhttp::WinHttpResetAutoProxy: + p[j] = _WinHttpResetAutoProxy; + break; + case ewinhttp::WinHttpSaveProxyCredentials: + p[j] = _WinHttpSaveProxyCredentials; + break; + case ewinhttp::WinHttpSendRequest: + p[j] = _WinHttpSendRequest; + break; + case ewinhttp::WinHttpSetCredentials: + p[j] = _WinHttpSetCredentials; + break; + case ewinhttp::WinHttpSetDefaultProxyConfiguration: + p[j] = _WinHttpSetDefaultProxyConfiguration; + break; + case ewinhttp::WinHttpSetOption: + p[j] = _WinHttpSetOption; + break; + case ewinhttp::WinHttpSetProxySettingsPerUser: + p[j] = _WinHttpSetProxySettingsPerUser; + break; + case ewinhttp::WinHttpSetSecureLegacyServersAppCompat: + p[j] = _WinHttpSetSecureLegacyServersAppCompat; + break; + case ewinhttp::WinHttpSetStatusCallback: + p[j] = _WinHttpSetStatusCallback; + break; + case ewinhttp::WinHttpSetTimeouts: + p[j] = _WinHttpSetTimeouts; + break; + case ewinhttp::WinHttpTimeFromSystemTime: + p[j] = _WinHttpTimeFromSystemTime; + break; + case ewinhttp::WinHttpTimeToSystemTime: + p[j] = _WinHttpTimeToSystemTime; + break; + case ewinhttp::WinHttpUnregisterProxyChangeNotification: + p[j] = _WinHttpUnregisterProxyChangeNotification; + break; + case ewinhttp::WinHttpWebSocketClose: + p[j] = _WinHttpWebSocketClose; + break; + case ewinhttp::WinHttpWebSocketCompleteUpgrade: + p[j] = _WinHttpWebSocketCompleteUpgrade; + break; + case ewinhttp::WinHttpWebSocketQueryCloseStatus: + p[j] = _WinHttpWebSocketQueryCloseStatus; + break; + case ewinhttp::WinHttpWebSocketReceive: + p[j] = _WinHttpWebSocketReceive; + break; + case ewinhttp::WinHttpWebSocketSend: + p[j] = _WinHttpWebSocketSend; + break; + case ewinhttp::WinHttpWebSocketShutdown: + p[j] = _WinHttpWebSocketShutdown; + break; + case ewinhttp::WinHttpWriteData: + p[j] = _WinHttpWriteData; + break; + case ewinhttp::WinHttpWriteProxySettings: + p[j] = _WinHttpWriteProxySettings; + break; + default: + break; + } + } ++j; } ++thunk; @@ -1410,8 +1785,11 @@ void Init() LoadOriginalLibrary(); } + const auto it = std::find_if(std::begin(importedModulesList), std::end(importedModulesList), [&](const auto& str) { return iequals(L"unityplayer.dll", to_wstring(str)); } ); + const auto bUnityPlayerImported = it != std::end(importedModulesList); + HMODULE m = mainModule; - if (nFindModule) + if (nFindModule || importedModulesList.size() <= 2 || bUnityPlayerImported) { ModuleList dlls; dlls.Enumerate(ModuleList::SearchLocation::LocalOnly); @@ -1428,6 +1806,9 @@ void Init() std::transform(str1.begin(), str1.end(), str1.begin(), [](wchar_t c) { return ::towlower(c); }); std::transform(str2.begin(), str2.end(), str2.begin(), [](wchar_t c) { return ::towlower(c); }); + if (str2 == L"unityplayer") + return true; + return (str2 != str1) && (str2.find(str1) != std::wstring::npos); }); diff --git a/source/dllmain.h b/source/dllmain.h index c6c2f92..aa10f2f 100644 --- a/source/dllmain.h +++ b/source/dllmain.h @@ -1483,6 +1483,177 @@ struct winmm_dll } } winmm; +struct winhttp_dll +{ + HMODULE dll; + FARPROC Private1; + FARPROC SvchostPushServiceGlobals; + FARPROC WinHttpAddRequestHeaders; + FARPROC WinHttpAddRequestHeadersEx; + FARPROC WinHttpAutoProxySvcMain; + FARPROC WinHttpCheckPlatform; + FARPROC WinHttpCloseHandle; + FARPROC WinHttpConnect; + FARPROC WinHttpConnectionDeletePolicyEntries; + FARPROC WinHttpConnectionDeleteProxyInfo; + FARPROC WinHttpConnectionFreeNameList; + FARPROC WinHttpConnectionFreeProxyInfo; + FARPROC WinHttpConnectionFreeProxyList; + FARPROC WinHttpConnectionGetNameList; + FARPROC WinHttpConnectionGetProxyInfo; + FARPROC WinHttpConnectionGetProxyList; + FARPROC WinHttpConnectionOnlyConvert; + FARPROC WinHttpConnectionOnlyReceive; + FARPROC WinHttpConnectionOnlySend; + FARPROC WinHttpConnectionSetPolicyEntries; + FARPROC WinHttpConnectionSetProxyInfo; + FARPROC WinHttpConnectionUpdateIfIndexTable; + FARPROC WinHttpCrackUrl; + FARPROC WinHttpCreateProxyResolver; + FARPROC WinHttpCreateUrl; + FARPROC WinHttpDetectAutoProxyConfigUrl; + FARPROC WinHttpFreeProxyResult; + FARPROC WinHttpFreeProxyResultEx; + FARPROC WinHttpFreeProxySettings; + FARPROC WinHttpFreeProxySettingsEx; + FARPROC WinHttpFreeQueryConnectionGroupResult; + FARPROC WinHttpGetDefaultProxyConfiguration; + FARPROC WinHttpGetIEProxyConfigForCurrentUser; + FARPROC WinHttpGetProxyForUrl; + FARPROC WinHttpGetProxyForUrlEx; + FARPROC WinHttpGetProxyForUrlEx2; + FARPROC WinHttpGetProxyForUrlHvsi; + FARPROC WinHttpGetProxyResult; + FARPROC WinHttpGetProxyResultEx; + FARPROC WinHttpGetProxySettingsEx; + FARPROC WinHttpGetProxySettingsResultEx; + FARPROC WinHttpGetProxySettingsVersion; + FARPROC WinHttpGetTunnelSocket; + FARPROC WinHttpOpen; + FARPROC WinHttpOpenRequest; + FARPROC WinHttpPacJsWorkerMain; + FARPROC WinHttpProbeConnectivity; + FARPROC WinHttpQueryAuthSchemes; + FARPROC WinHttpQueryConnectionGroup; + FARPROC WinHttpQueryDataAvailable; + FARPROC WinHttpQueryHeaders; + FARPROC WinHttpQueryHeadersEx; + FARPROC WinHttpQueryOption; + FARPROC WinHttpReadData; + FARPROC WinHttpReadDataEx; + FARPROC WinHttpReadProxySettings; + FARPROC WinHttpReadProxySettingsHvsi; + FARPROC WinHttpReceiveResponse; + FARPROC WinHttpRegisterProxyChangeNotification; + FARPROC WinHttpResetAutoProxy; + FARPROC WinHttpSaveProxyCredentials; + FARPROC WinHttpSendRequest; + FARPROC WinHttpSetCredentials; + FARPROC WinHttpSetDefaultProxyConfiguration; + FARPROC WinHttpSetOption; + FARPROC WinHttpSetProxySettingsPerUser; + FARPROC WinHttpSetSecureLegacyServersAppCompat; + FARPROC WinHttpSetStatusCallback; + FARPROC WinHttpSetTimeouts; + FARPROC WinHttpTimeFromSystemTime; + FARPROC WinHttpTimeToSystemTime; + FARPROC WinHttpUnregisterProxyChangeNotification; + FARPROC WinHttpWebSocketClose; + FARPROC WinHttpWebSocketCompleteUpgrade; + FARPROC WinHttpWebSocketQueryCloseStatus; + FARPROC WinHttpWebSocketReceive; + FARPROC WinHttpWebSocketSend; + FARPROC WinHttpWebSocketShutdown; + FARPROC WinHttpWriteData; + FARPROC WinHttpWriteProxySettings; + + void LoadOriginalLibrary(HMODULE module) + { + dll = module; + shared.LoadOriginalLibrary(dll); + Private1 = GetProcAddress(dll, "Private1"); + SvchostPushServiceGlobals = GetProcAddress(dll, "SvchostPushServiceGlobals"); + WinHttpAddRequestHeaders = GetProcAddress(dll, "WinHttpAddRequestHeaders"); + WinHttpAddRequestHeadersEx = GetProcAddress(dll, "WinHttpAddRequestHeadersEx"); + WinHttpAutoProxySvcMain = GetProcAddress(dll, "WinHttpAutoProxySvcMain"); + WinHttpCheckPlatform = GetProcAddress(dll, "WinHttpCheckPlatform"); + WinHttpCloseHandle = GetProcAddress(dll, "WinHttpCloseHandle"); + WinHttpConnect = GetProcAddress(dll, "WinHttpConnect"); + WinHttpConnectionDeletePolicyEntries = GetProcAddress(dll, "WinHttpConnectionDeletePolicyEntries"); + WinHttpConnectionDeleteProxyInfo = GetProcAddress(dll, "WinHttpConnectionDeleteProxyInfo"); + WinHttpConnectionFreeNameList = GetProcAddress(dll, "WinHttpConnectionFreeNameList"); + WinHttpConnectionFreeProxyInfo = GetProcAddress(dll, "WinHttpConnectionFreeProxyInfo"); + WinHttpConnectionFreeProxyList = GetProcAddress(dll, "WinHttpConnectionFreeProxyList"); + WinHttpConnectionGetNameList = GetProcAddress(dll, "WinHttpConnectionGetNameList"); + WinHttpConnectionGetProxyInfo = GetProcAddress(dll, "WinHttpConnectionGetProxyInfo"); + WinHttpConnectionGetProxyList = GetProcAddress(dll, "WinHttpConnectionGetProxyList"); + WinHttpConnectionOnlyConvert = GetProcAddress(dll, "WinHttpConnectionOnlyConvert"); + WinHttpConnectionOnlyReceive = GetProcAddress(dll, "WinHttpConnectionOnlyReceive"); + WinHttpConnectionOnlySend = GetProcAddress(dll, "WinHttpConnectionOnlySend"); + WinHttpConnectionSetPolicyEntries = GetProcAddress(dll, "WinHttpConnectionSetPolicyEntries"); + WinHttpConnectionSetProxyInfo = GetProcAddress(dll, "WinHttpConnectionSetProxyInfo"); + WinHttpConnectionUpdateIfIndexTable = GetProcAddress(dll, "WinHttpConnectionUpdateIfIndexTable"); + WinHttpCrackUrl = GetProcAddress(dll, "WinHttpCrackUrl"); + WinHttpCreateProxyResolver = GetProcAddress(dll, "WinHttpCreateProxyResolver"); + WinHttpCreateUrl = GetProcAddress(dll, "WinHttpCreateUrl"); + WinHttpDetectAutoProxyConfigUrl = GetProcAddress(dll, "WinHttpDetectAutoProxyConfigUrl"); + WinHttpFreeProxyResult = GetProcAddress(dll, "WinHttpFreeProxyResult"); + WinHttpFreeProxyResultEx = GetProcAddress(dll, "WinHttpFreeProxyResultEx"); + WinHttpFreeProxySettings = GetProcAddress(dll, "WinHttpFreeProxySettings"); + WinHttpFreeProxySettingsEx = GetProcAddress(dll, "WinHttpFreeProxySettingsEx"); + WinHttpFreeQueryConnectionGroupResult = GetProcAddress(dll, "WinHttpFreeQueryConnectionGroupResult"); + WinHttpGetDefaultProxyConfiguration = GetProcAddress(dll, "WinHttpGetDefaultProxyConfiguration"); + WinHttpGetIEProxyConfigForCurrentUser = GetProcAddress(dll, "WinHttpGetIEProxyConfigForCurrentUser"); + WinHttpGetProxyForUrl = GetProcAddress(dll, "WinHttpGetProxyForUrl"); + WinHttpGetProxyForUrlEx = GetProcAddress(dll, "WinHttpGetProxyForUrlEx"); + WinHttpGetProxyForUrlEx2 = GetProcAddress(dll, "WinHttpGetProxyForUrlEx2"); + WinHttpGetProxyForUrlHvsi = GetProcAddress(dll, "WinHttpGetProxyForUrlHvsi"); + WinHttpGetProxyResult = GetProcAddress(dll, "WinHttpGetProxyResult"); + WinHttpGetProxyResultEx = GetProcAddress(dll, "WinHttpGetProxyResultEx"); + WinHttpGetProxySettingsEx = GetProcAddress(dll, "WinHttpGetProxySettingsEx"); + WinHttpGetProxySettingsResultEx = GetProcAddress(dll, "WinHttpGetProxySettingsResultEx"); + WinHttpGetProxySettingsVersion = GetProcAddress(dll, "WinHttpGetProxySettingsVersion"); + WinHttpGetTunnelSocket = GetProcAddress(dll, "WinHttpGetTunnelSocket"); + WinHttpOpen = GetProcAddress(dll, "WinHttpOpen"); + WinHttpOpenRequest = GetProcAddress(dll, "WinHttpOpenRequest"); + WinHttpPacJsWorkerMain = GetProcAddress(dll, "WinHttpPacJsWorkerMain"); + WinHttpProbeConnectivity = GetProcAddress(dll, "WinHttpProbeConnectivity"); + WinHttpQueryAuthSchemes = GetProcAddress(dll, "WinHttpQueryAuthSchemes"); + WinHttpQueryConnectionGroup = GetProcAddress(dll, "WinHttpQueryConnectionGroup"); + WinHttpQueryDataAvailable = GetProcAddress(dll, "WinHttpQueryDataAvailable"); + WinHttpQueryHeaders = GetProcAddress(dll, "WinHttpQueryHeaders"); + WinHttpQueryHeadersEx = GetProcAddress(dll, "WinHttpQueryHeadersEx"); + WinHttpQueryOption = GetProcAddress(dll, "WinHttpQueryOption"); + WinHttpReadData = GetProcAddress(dll, "WinHttpReadData"); + WinHttpReadDataEx = GetProcAddress(dll, "WinHttpReadDataEx"); + WinHttpReadProxySettings = GetProcAddress(dll, "WinHttpReadProxySettings"); + WinHttpReadProxySettingsHvsi = GetProcAddress(dll, "WinHttpReadProxySettingsHvsi"); + WinHttpReceiveResponse = GetProcAddress(dll, "WinHttpReceiveResponse"); + WinHttpRegisterProxyChangeNotification = GetProcAddress(dll, "WinHttpRegisterProxyChangeNotification"); + WinHttpResetAutoProxy = GetProcAddress(dll, "WinHttpResetAutoProxy"); + WinHttpSaveProxyCredentials = GetProcAddress(dll, "WinHttpSaveProxyCredentials"); + WinHttpSendRequest = GetProcAddress(dll, "WinHttpSendRequest"); + WinHttpSetCredentials = GetProcAddress(dll, "WinHttpSetCredentials"); + WinHttpSetDefaultProxyConfiguration = GetProcAddress(dll, "WinHttpSetDefaultProxyConfiguration"); + WinHttpSetOption = GetProcAddress(dll, "WinHttpSetOption"); + WinHttpSetProxySettingsPerUser = GetProcAddress(dll, "WinHttpSetProxySettingsPerUser"); + WinHttpSetSecureLegacyServersAppCompat = GetProcAddress(dll, "WinHttpSetSecureLegacyServersAppCompat"); + WinHttpSetStatusCallback = GetProcAddress(dll, "WinHttpSetStatusCallback"); + WinHttpSetTimeouts = GetProcAddress(dll, "WinHttpSetTimeouts"); + WinHttpTimeFromSystemTime = GetProcAddress(dll, "WinHttpTimeFromSystemTime"); + WinHttpTimeToSystemTime = GetProcAddress(dll, "WinHttpTimeToSystemTime"); + WinHttpUnregisterProxyChangeNotification = GetProcAddress(dll, "WinHttpUnregisterProxyChangeNotification"); + WinHttpWebSocketClose = GetProcAddress(dll, "WinHttpWebSocketClose"); + WinHttpWebSocketCompleteUpgrade = GetProcAddress(dll, "WinHttpWebSocketCompleteUpgrade"); + WinHttpWebSocketQueryCloseStatus = GetProcAddress(dll, "WinHttpWebSocketQueryCloseStatus"); + WinHttpWebSocketReceive = GetProcAddress(dll, "WinHttpWebSocketReceive"); + WinHttpWebSocketSend = GetProcAddress(dll, "WinHttpWebSocketSend"); + WinHttpWebSocketShutdown = GetProcAddress(dll, "WinHttpWebSocketShutdown"); + WinHttpWriteData = GetProcAddress(dll, "WinHttpWriteData"); + WinHttpWriteProxySettings = GetProcAddress(dll, "WinHttpWriteProxySettings"); + } +} winhttp; + #if X64 struct bink2w64_dll { @@ -2655,6 +2826,89 @@ __declspec(naked) void _waveOutWrite() { _asm { jmp[winmm.waveOutWrite] } } __declspec(naked) void _wid32Message() { _asm { jmp[winmm.wid32Message] } } __declspec(naked) void _wod32Message() { _asm { jmp[winmm.wod32Message] } } +//__declspec(naked) void _DllCanUnloadNow() { _asm { jmp[winhttp.DllCanUnloadNow] } } +//__declspec(naked) void _DllGetClassObject() { _asm { jmp[winhttp.DllGetClassObject] } } +__declspec(naked) void _Private1() { _asm { jmp [winhttp.Private1] } } +__declspec(naked) void _SvchostPushServiceGlobals() { _asm { jmp [winhttp.SvchostPushServiceGlobals] } } +__declspec(naked) void _WinHttpAddRequestHeaders() { _asm { jmp [winhttp.WinHttpAddRequestHeaders] } } +__declspec(naked) void _WinHttpAddRequestHeadersEx() { _asm { jmp [winhttp.WinHttpAddRequestHeadersEx] } } +__declspec(naked) void _WinHttpAutoProxySvcMain() { _asm { jmp [winhttp.WinHttpAutoProxySvcMain] } } +__declspec(naked) void _WinHttpCheckPlatform() { _asm { jmp [winhttp.WinHttpCheckPlatform] } } +__declspec(naked) void _WinHttpCloseHandle() { _asm { jmp [winhttp.WinHttpCloseHandle] } } +__declspec(naked) void _WinHttpConnect() { _asm { jmp [winhttp.WinHttpConnect] } } +__declspec(naked) void _WinHttpConnectionDeletePolicyEntries() { _asm { jmp [winhttp.WinHttpConnectionDeletePolicyEntries] } } +__declspec(naked) void _WinHttpConnectionDeleteProxyInfo() { _asm { jmp [winhttp.WinHttpConnectionDeleteProxyInfo] } } +__declspec(naked) void _WinHttpConnectionFreeNameList() { _asm { jmp [winhttp.WinHttpConnectionFreeNameList] } } +__declspec(naked) void _WinHttpConnectionFreeProxyInfo() { _asm { jmp [winhttp.WinHttpConnectionFreeProxyInfo] } } +__declspec(naked) void _WinHttpConnectionFreeProxyList() { _asm { jmp [winhttp.WinHttpConnectionFreeProxyList] } } +__declspec(naked) void _WinHttpConnectionGetNameList() { _asm { jmp [winhttp.WinHttpConnectionGetNameList] } } +__declspec(naked) void _WinHttpConnectionGetProxyInfo() { _asm { jmp [winhttp.WinHttpConnectionGetProxyInfo] } } +__declspec(naked) void _WinHttpConnectionGetProxyList() { _asm { jmp [winhttp.WinHttpConnectionGetProxyList] } } +__declspec(naked) void _WinHttpConnectionOnlyConvert() { _asm { jmp [winhttp.WinHttpConnectionOnlyConvert] } } +__declspec(naked) void _WinHttpConnectionOnlyReceive() { _asm { jmp [winhttp.WinHttpConnectionOnlyReceive] } } +__declspec(naked) void _WinHttpConnectionOnlySend() { _asm { jmp [winhttp.WinHttpConnectionOnlySend] } } +__declspec(naked) void _WinHttpConnectionSetPolicyEntries() { _asm { jmp [winhttp.WinHttpConnectionSetPolicyEntries] } } +__declspec(naked) void _WinHttpConnectionSetProxyInfo() { _asm { jmp [winhttp.WinHttpConnectionSetProxyInfo] } } +__declspec(naked) void _WinHttpConnectionUpdateIfIndexTable() { _asm { jmp [winhttp.WinHttpConnectionUpdateIfIndexTable] } } +__declspec(naked) void _WinHttpCrackUrl() { _asm { jmp [winhttp.WinHttpCrackUrl] } } +__declspec(naked) void _WinHttpCreateProxyResolver() { _asm { jmp [winhttp.WinHttpCreateProxyResolver] } } +__declspec(naked) void _WinHttpCreateUrl() { _asm { jmp [winhttp.WinHttpCreateUrl] } } +__declspec(naked) void _WinHttpDetectAutoProxyConfigUrl() { _asm { jmp [winhttp.WinHttpDetectAutoProxyConfigUrl] } } +__declspec(naked) void _WinHttpFreeProxyResult() { _asm { jmp [winhttp.WinHttpFreeProxyResult] } } +__declspec(naked) void _WinHttpFreeProxyResultEx() { _asm { jmp [winhttp.WinHttpFreeProxyResultEx] } } +__declspec(naked) void _WinHttpFreeProxySettings() { _asm { jmp [winhttp.WinHttpFreeProxySettings] } } +__declspec(naked) void _WinHttpFreeProxySettingsEx() { _asm { jmp [winhttp.WinHttpFreeProxySettingsEx] } } +__declspec(naked) void _WinHttpFreeQueryConnectionGroupResult() { _asm { jmp [winhttp.WinHttpFreeQueryConnectionGroupResult] } } +__declspec(naked) void _WinHttpGetDefaultProxyConfiguration() { _asm { jmp [winhttp.WinHttpGetDefaultProxyConfiguration] } } +__declspec(naked) void _WinHttpGetIEProxyConfigForCurrentUser() { _asm { jmp [winhttp.WinHttpGetIEProxyConfigForCurrentUser] } } +__declspec(naked) void _WinHttpGetProxyForUrl() { _asm { jmp [winhttp.WinHttpGetProxyForUrl] } } +__declspec(naked) void _WinHttpGetProxyForUrlEx() { _asm { jmp [winhttp.WinHttpGetProxyForUrlEx] } } +__declspec(naked) void _WinHttpGetProxyForUrlEx2() { _asm { jmp [winhttp.WinHttpGetProxyForUrlEx2] } } +__declspec(naked) void _WinHttpGetProxyForUrlHvsi() { _asm { jmp [winhttp.WinHttpGetProxyForUrlHvsi] } } +__declspec(naked) void _WinHttpGetProxyResult() { _asm { jmp [winhttp.WinHttpGetProxyResult] } } +__declspec(naked) void _WinHttpGetProxyResultEx() { _asm { jmp [winhttp.WinHttpGetProxyResultEx] } } +__declspec(naked) void _WinHttpGetProxySettingsEx() { _asm { jmp [winhttp.WinHttpGetProxySettingsEx] } } +__declspec(naked) void _WinHttpGetProxySettingsResultEx() { _asm { jmp [winhttp.WinHttpGetProxySettingsResultEx] } } +__declspec(naked) void _WinHttpGetProxySettingsVersion() { _asm { jmp [winhttp.WinHttpGetProxySettingsVersion] } } +__declspec(naked) void _WinHttpGetTunnelSocket() { _asm { jmp [winhttp.WinHttpGetTunnelSocket] } } +__declspec(naked) void _WinHttpOpen() { _asm { jmp [winhttp.WinHttpOpen] } } +__declspec(naked) void _WinHttpOpenRequest() { _asm { jmp [winhttp.WinHttpOpenRequest] } } +__declspec(naked) void _WinHttpPacJsWorkerMain() { _asm { jmp [winhttp.WinHttpPacJsWorkerMain] } } +__declspec(naked) void _WinHttpProbeConnectivity() { _asm { jmp [winhttp.WinHttpProbeConnectivity] } } +__declspec(naked) void _WinHttpQueryAuthSchemes() { _asm { jmp [winhttp.WinHttpQueryAuthSchemes] } } +__declspec(naked) void _WinHttpQueryConnectionGroup() { _asm { jmp [winhttp.WinHttpQueryConnectionGroup] } } +__declspec(naked) void _WinHttpQueryDataAvailable() { _asm { jmp [winhttp.WinHttpQueryDataAvailable] } } +__declspec(naked) void _WinHttpQueryHeaders() { _asm { jmp [winhttp.WinHttpQueryHeaders] } } +__declspec(naked) void _WinHttpQueryHeadersEx() { _asm { jmp [winhttp.WinHttpQueryHeadersEx] } } +__declspec(naked) void _WinHttpQueryOption() { _asm { jmp [winhttp.WinHttpQueryOption] } } +__declspec(naked) void _WinHttpReadData() { _asm { jmp [winhttp.WinHttpReadData] } } +__declspec(naked) void _WinHttpReadDataEx() { _asm { jmp [winhttp.WinHttpReadDataEx] } } +__declspec(naked) void _WinHttpReadProxySettings() { _asm { jmp [winhttp.WinHttpReadProxySettings] } } +__declspec(naked) void _WinHttpReadProxySettingsHvsi() { _asm { jmp [winhttp.WinHttpReadProxySettingsHvsi] } } +__declspec(naked) void _WinHttpReceiveResponse() { _asm { jmp [winhttp.WinHttpReceiveResponse] } } +__declspec(naked) void _WinHttpRegisterProxyChangeNotification() { _asm { jmp [winhttp.WinHttpRegisterProxyChangeNotification] } } +__declspec(naked) void _WinHttpResetAutoProxy() { _asm { jmp [winhttp.WinHttpResetAutoProxy] } } +__declspec(naked) void _WinHttpSaveProxyCredentials() { _asm { jmp [winhttp.WinHttpSaveProxyCredentials] } } +__declspec(naked) void _WinHttpSendRequest() { _asm { jmp [winhttp.WinHttpSendRequest] } } +__declspec(naked) void _WinHttpSetCredentials() { _asm { jmp [winhttp.WinHttpSetCredentials] } } +__declspec(naked) void _WinHttpSetDefaultProxyConfiguration() { _asm { jmp [winhttp.WinHttpSetDefaultProxyConfiguration] } } +__declspec(naked) void _WinHttpSetOption() { _asm { jmp [winhttp.WinHttpSetOption] } } +__declspec(naked) void _WinHttpSetProxySettingsPerUser() { _asm { jmp [winhttp.WinHttpSetProxySettingsPerUser] } } +__declspec(naked) void _WinHttpSetSecureLegacyServersAppCompat() { _asm { jmp [winhttp.WinHttpSetSecureLegacyServersAppCompat] } } +__declspec(naked) void _WinHttpSetStatusCallback() { _asm { jmp [winhttp.WinHttpSetStatusCallback] } } +__declspec(naked) void _WinHttpSetTimeouts() { _asm { jmp [winhttp.WinHttpSetTimeouts] } } +__declspec(naked) void _WinHttpTimeFromSystemTime() { _asm { jmp [winhttp.WinHttpTimeFromSystemTime] } } +__declspec(naked) void _WinHttpTimeToSystemTime() { _asm { jmp [winhttp.WinHttpTimeToSystemTime] } } +__declspec(naked) void _WinHttpUnregisterProxyChangeNotification() { _asm { jmp [winhttp.WinHttpUnregisterProxyChangeNotification] } } +__declspec(naked) void _WinHttpWebSocketClose() { _asm { jmp [winhttp.WinHttpWebSocketClose] } } +__declspec(naked) void _WinHttpWebSocketCompleteUpgrade() { _asm { jmp [winhttp.WinHttpWebSocketCompleteUpgrade] } } +__declspec(naked) void _WinHttpWebSocketQueryCloseStatus() { _asm { jmp [winhttp.WinHttpWebSocketQueryCloseStatus] } } +__declspec(naked) void _WinHttpWebSocketReceive() { _asm { jmp [winhttp.WinHttpWebSocketReceive] } } +__declspec(naked) void _WinHttpWebSocketSend() { _asm { jmp [winhttp.WinHttpWebSocketSend] } } +__declspec(naked) void _WinHttpWebSocketShutdown() { _asm { jmp [winhttp.WinHttpWebSocketShutdown] } } +__declspec(naked) void _WinHttpWriteData() { _asm { jmp [winhttp.WinHttpWriteData] } } +__declspec(naked) void _WinHttpWriteProxySettings() { _asm { jmp [winhttp.WinHttpWriteProxySettings] } } + __declspec(naked) void _acmDriverAddA() { _asm { jmp[msacm32.acmDriverAddA] } } __declspec(naked) void _acmDriverAddW() { _asm { jmp[msacm32.acmDriverAddW] } } __declspec(naked) void _acmDriverClose() { _asm { jmp[msacm32.acmDriverClose] } } @@ -3960,5 +4214,86 @@ void _waveOutWrite() { winmm.waveOutWrite(); } void _wid32Message() { winmm.wid32Message(); } void _wod32Message() { winmm.wod32Message(); } +void _Private1() { winhttp.Private1(); } +void _SvchostPushServiceGlobals() { winhttp.SvchostPushServiceGlobals(); } +void _WinHttpAddRequestHeaders() { winhttp.WinHttpAddRequestHeaders(); } +void _WinHttpAddRequestHeadersEx() { winhttp.WinHttpAddRequestHeadersEx(); } +void _WinHttpAutoProxySvcMain() { winhttp.WinHttpAutoProxySvcMain(); } +void _WinHttpCheckPlatform() { winhttp.WinHttpCheckPlatform(); } +void _WinHttpCloseHandle() { winhttp.WinHttpCloseHandle(); } +void _WinHttpConnect() { winhttp.WinHttpConnect(); } +void _WinHttpConnectionDeletePolicyEntries() { winhttp.WinHttpConnectionDeletePolicyEntries(); } +void _WinHttpConnectionDeleteProxyInfo() { winhttp.WinHttpConnectionDeleteProxyInfo(); } +void _WinHttpConnectionFreeNameList() { winhttp.WinHttpConnectionFreeNameList(); } +void _WinHttpConnectionFreeProxyInfo() { winhttp.WinHttpConnectionFreeProxyInfo(); } +void _WinHttpConnectionFreeProxyList() { winhttp.WinHttpConnectionFreeProxyList(); } +void _WinHttpConnectionGetNameList() { winhttp.WinHttpConnectionGetNameList(); } +void _WinHttpConnectionGetProxyInfo() { winhttp.WinHttpConnectionGetProxyInfo(); } +void _WinHttpConnectionGetProxyList() { winhttp.WinHttpConnectionGetProxyList(); } +void _WinHttpConnectionOnlyConvert() { winhttp.WinHttpConnectionOnlyConvert(); } +void _WinHttpConnectionOnlyReceive() { winhttp.WinHttpConnectionOnlyReceive(); } +void _WinHttpConnectionOnlySend() { winhttp.WinHttpConnectionOnlySend(); } +void _WinHttpConnectionSetPolicyEntries() { winhttp.WinHttpConnectionSetPolicyEntries(); } +void _WinHttpConnectionSetProxyInfo() { winhttp.WinHttpConnectionSetProxyInfo(); } +void _WinHttpConnectionUpdateIfIndexTable() { winhttp.WinHttpConnectionUpdateIfIndexTable(); } +void _WinHttpCrackUrl() { winhttp.WinHttpCrackUrl(); } +void _WinHttpCreateProxyResolver() { winhttp.WinHttpCreateProxyResolver(); } +void _WinHttpCreateUrl() { winhttp.WinHttpCreateUrl(); } +void _WinHttpDetectAutoProxyConfigUrl() { winhttp.WinHttpDetectAutoProxyConfigUrl(); } +void _WinHttpFreeProxyResult() { winhttp.WinHttpFreeProxyResult(); } +void _WinHttpFreeProxyResultEx() { winhttp.WinHttpFreeProxyResultEx(); } +void _WinHttpFreeProxySettings() { winhttp.WinHttpFreeProxySettings(); } +void _WinHttpFreeProxySettingsEx() { winhttp.WinHttpFreeProxySettingsEx(); } +void _WinHttpFreeQueryConnectionGroupResult() { winhttp.WinHttpFreeQueryConnectionGroupResult(); } +void _WinHttpGetDefaultProxyConfiguration() { winhttp.WinHttpGetDefaultProxyConfiguration(); } +void _WinHttpGetIEProxyConfigForCurrentUser() { winhttp.WinHttpGetIEProxyConfigForCurrentUser(); } +void _WinHttpGetProxyForUrl() { winhttp.WinHttpGetProxyForUrl(); } +void _WinHttpGetProxyForUrlEx() { winhttp.WinHttpGetProxyForUrlEx(); } +void _WinHttpGetProxyForUrlEx2() { winhttp.WinHttpGetProxyForUrlEx2(); } +void _WinHttpGetProxyForUrlHvsi() { winhttp.WinHttpGetProxyForUrlHvsi(); } +void _WinHttpGetProxyResult() { winhttp.WinHttpGetProxyResult(); } +void _WinHttpGetProxyResultEx() { winhttp.WinHttpGetProxyResultEx(); } +void _WinHttpGetProxySettingsEx() { winhttp.WinHttpGetProxySettingsEx(); } +void _WinHttpGetProxySettingsResultEx() { winhttp.WinHttpGetProxySettingsResultEx(); } +void _WinHttpGetProxySettingsVersion() { winhttp.WinHttpGetProxySettingsVersion(); } +void _WinHttpGetTunnelSocket() { winhttp.WinHttpGetTunnelSocket(); } +void _WinHttpOpen() { winhttp.WinHttpOpen(); } +void _WinHttpOpenRequest() { winhttp.WinHttpOpenRequest(); } +void _WinHttpPacJsWorkerMain() { winhttp.WinHttpPacJsWorkerMain(); } +void _WinHttpProbeConnectivity() { winhttp.WinHttpProbeConnectivity(); } +void _WinHttpQueryAuthSchemes() { winhttp.WinHttpQueryAuthSchemes(); } +void _WinHttpQueryConnectionGroup() { winhttp.WinHttpQueryConnectionGroup(); } +void _WinHttpQueryDataAvailable() { winhttp.WinHttpQueryDataAvailable(); } +void _WinHttpQueryHeaders() { winhttp.WinHttpQueryHeaders(); } +void _WinHttpQueryHeadersEx() { winhttp.WinHttpQueryHeadersEx(); } +void _WinHttpQueryOption() { winhttp.WinHttpQueryOption(); } +void _WinHttpReadData() { winhttp.WinHttpReadData(); } +void _WinHttpReadDataEx() { winhttp.WinHttpReadDataEx(); } +void _WinHttpReadProxySettings() { winhttp.WinHttpReadProxySettings(); } +void _WinHttpReadProxySettingsHvsi() { winhttp.WinHttpReadProxySettingsHvsi(); } +void _WinHttpReceiveResponse() { winhttp.WinHttpReceiveResponse(); } +void _WinHttpRegisterProxyChangeNotification() { winhttp.WinHttpRegisterProxyChangeNotification(); } +void _WinHttpResetAutoProxy() { winhttp.WinHttpResetAutoProxy(); } +void _WinHttpSaveProxyCredentials() { winhttp.WinHttpSaveProxyCredentials(); } +void _WinHttpSendRequest() { winhttp.WinHttpSendRequest(); } +void _WinHttpSetCredentials() { winhttp.WinHttpSetCredentials(); } +void _WinHttpSetDefaultProxyConfiguration() { winhttp.WinHttpSetDefaultProxyConfiguration(); } +void _WinHttpSetOption() { winhttp.WinHttpSetOption(); } +void _WinHttpSetProxySettingsPerUser() { winhttp.WinHttpSetProxySettingsPerUser(); } +void _WinHttpSetSecureLegacyServersAppCompat() { winhttp.WinHttpSetSecureLegacyServersAppCompat(); } +void _WinHttpSetStatusCallback() { winhttp.WinHttpSetStatusCallback(); } +void _WinHttpSetTimeouts() { winhttp.WinHttpSetTimeouts(); } +void _WinHttpTimeFromSystemTime() { winhttp.WinHttpTimeFromSystemTime(); } +void _WinHttpTimeToSystemTime() { winhttp.WinHttpTimeToSystemTime(); } +void _WinHttpUnregisterProxyChangeNotification() { winhttp.WinHttpUnregisterProxyChangeNotification(); } +void _WinHttpWebSocketClose() { winhttp.WinHttpWebSocketClose(); } +void _WinHttpWebSocketCompleteUpgrade() { winhttp.WinHttpWebSocketCompleteUpgrade(); } +void _WinHttpWebSocketQueryCloseStatus() { winhttp.WinHttpWebSocketQueryCloseStatus(); } +void _WinHttpWebSocketReceive() { winhttp.WinHttpWebSocketReceive(); } +void _WinHttpWebSocketSend() { winhttp.WinHttpWebSocketSend(); } +void _WinHttpWebSocketShutdown() { winhttp.WinHttpWebSocketShutdown(); } +void _WinHttpWriteData() { winhttp.WinHttpWriteData(); } +void _WinHttpWriteProxySettings() { winhttp.WinHttpWriteProxySettings(); } + #pragma runtime_checks( "", restore ) #endif \ No newline at end of file diff --git a/source/x64.def b/source/x64.def index fdc1d1d..ddce9d2 100644 --- a/source/x64.def +++ b/source/x64.def @@ -1,5 +1,6 @@ LIBRARY "UAL" EXPORTS +IsUltimateASILoader = IsUltimateASILoader CustomCreateFileA = CustomCreateFileA CustomCreateFileW = CustomCreateFileW CustomGetFileAttributesA = CustomGetFileAttributesA @@ -751,3 +752,88 @@ waveOutUnprepareHeader = _waveOutUnprepareHeader waveOutWrite = _waveOutWrite wid32Message = _wid32Message wod32Message = _wod32Message + +LIBRARY "winhttp" +EXPORTS +DllCanUnloadNow = _DllCanUnloadNow PRIVATE +DllGetClassObject = _DllGetClassObject PRIVATE +Private1 = _Private1 +SvchostPushServiceGlobals = _SvchostPushServiceGlobals +WinHttpAddRequestHeaders = _WinHttpAddRequestHeaders +WinHttpAddRequestHeadersEx = _WinHttpAddRequestHeadersEx +WinHttpAutoProxySvcMain = _WinHttpAutoProxySvcMain +WinHttpCheckPlatform = _WinHttpCheckPlatform +WinHttpCloseHandle = _WinHttpCloseHandle +WinHttpConnect = _WinHttpConnect +WinHttpConnectionDeletePolicyEntries = _WinHttpConnectionDeletePolicyEntries +WinHttpConnectionDeleteProxyInfo = _WinHttpConnectionDeleteProxyInfo +WinHttpConnectionFreeNameList = _WinHttpConnectionFreeNameList +WinHttpConnectionFreeProxyInfo = _WinHttpConnectionFreeProxyInfo +WinHttpConnectionFreeProxyList = _WinHttpConnectionFreeProxyList +WinHttpConnectionGetNameList = _WinHttpConnectionGetNameList +WinHttpConnectionGetProxyInfo = _WinHttpConnectionGetProxyInfo +WinHttpConnectionGetProxyList = _WinHttpConnectionGetProxyList +WinHttpConnectionOnlyConvert = _WinHttpConnectionOnlyConvert +WinHttpConnectionOnlyReceive = _WinHttpConnectionOnlyReceive +WinHttpConnectionOnlySend = _WinHttpConnectionOnlySend +WinHttpConnectionSetPolicyEntries = _WinHttpConnectionSetPolicyEntries +WinHttpConnectionSetProxyInfo = _WinHttpConnectionSetProxyInfo +WinHttpConnectionUpdateIfIndexTable = _WinHttpConnectionUpdateIfIndexTable +WinHttpCrackUrl = _WinHttpCrackUrl +WinHttpCreateProxyResolver = _WinHttpCreateProxyResolver +WinHttpCreateUrl = _WinHttpCreateUrl +WinHttpDetectAutoProxyConfigUrl = _WinHttpDetectAutoProxyConfigUrl +WinHttpFreeProxyResult = _WinHttpFreeProxyResult +WinHttpFreeProxyResultEx = _WinHttpFreeProxyResultEx +WinHttpFreeProxySettings = _WinHttpFreeProxySettings +WinHttpFreeProxySettingsEx = _WinHttpFreeProxySettingsEx +WinHttpFreeQueryConnectionGroupResult = _WinHttpFreeQueryConnectionGroupResult +WinHttpGetDefaultProxyConfiguration = _WinHttpGetDefaultProxyConfiguration +WinHttpGetIEProxyConfigForCurrentUser = _WinHttpGetIEProxyConfigForCurrentUser +WinHttpGetProxyForUrl = _WinHttpGetProxyForUrl +WinHttpGetProxyForUrlEx = _WinHttpGetProxyForUrlEx +WinHttpGetProxyForUrlEx2 = _WinHttpGetProxyForUrlEx2 +WinHttpGetProxyForUrlHvsi = _WinHttpGetProxyForUrlHvsi +WinHttpGetProxyResult = _WinHttpGetProxyResult +WinHttpGetProxyResultEx = _WinHttpGetProxyResultEx +WinHttpGetProxySettingsEx = _WinHttpGetProxySettingsEx +WinHttpGetProxySettingsResultEx = _WinHttpGetProxySettingsResultEx +WinHttpGetProxySettingsVersion = _WinHttpGetProxySettingsVersion +WinHttpGetTunnelSocket = _WinHttpGetTunnelSocket +WinHttpOpen = _WinHttpOpen +WinHttpOpenRequest = _WinHttpOpenRequest +WinHttpPacJsWorkerMain = _WinHttpPacJsWorkerMain +WinHttpProbeConnectivity = _WinHttpProbeConnectivity +WinHttpQueryAuthSchemes = _WinHttpQueryAuthSchemes +WinHttpQueryConnectionGroup = _WinHttpQueryConnectionGroup +WinHttpQueryDataAvailable = _WinHttpQueryDataAvailable +WinHttpQueryHeaders = _WinHttpQueryHeaders +WinHttpQueryHeadersEx = _WinHttpQueryHeadersEx +WinHttpQueryOption = _WinHttpQueryOption +WinHttpReadData = _WinHttpReadData +WinHttpReadDataEx = _WinHttpReadDataEx +WinHttpReadProxySettings = _WinHttpReadProxySettings +WinHttpReadProxySettingsHvsi = _WinHttpReadProxySettingsHvsi +WinHttpReceiveResponse = _WinHttpReceiveResponse +WinHttpRegisterProxyChangeNotification = _WinHttpRegisterProxyChangeNotification +WinHttpResetAutoProxy = _WinHttpResetAutoProxy +WinHttpSaveProxyCredentials = _WinHttpSaveProxyCredentials +WinHttpSendRequest = _WinHttpSendRequest +WinHttpSetCredentials = _WinHttpSetCredentials +WinHttpSetDefaultProxyConfiguration = _WinHttpSetDefaultProxyConfiguration +WinHttpSetOption = _WinHttpSetOption +WinHttpSetProxySettingsPerUser = _WinHttpSetProxySettingsPerUser +WinHttpSetSecureLegacyServersAppCompat = _WinHttpSetSecureLegacyServersAppCompat +WinHttpSetStatusCallback = _WinHttpSetStatusCallback +WinHttpSetTimeouts = _WinHttpSetTimeouts +WinHttpTimeFromSystemTime = _WinHttpTimeFromSystemTime +WinHttpTimeToSystemTime = _WinHttpTimeToSystemTime +WinHttpUnregisterProxyChangeNotification = _WinHttpUnregisterProxyChangeNotification +WinHttpWebSocketClose = _WinHttpWebSocketClose +WinHttpWebSocketCompleteUpgrade = _WinHttpWebSocketCompleteUpgrade +WinHttpWebSocketQueryCloseStatus = _WinHttpWebSocketQueryCloseStatus +WinHttpWebSocketReceive = _WinHttpWebSocketReceive +WinHttpWebSocketSend = _WinHttpWebSocketSend +WinHttpWebSocketShutdown = _WinHttpWebSocketShutdown +WinHttpWriteData = _WinHttpWriteData +WinHttpWriteProxySettings = _WinHttpWriteProxySettings diff --git a/source/x86.def b/source/x86.def index d5ebba4..7c00500 100644 --- a/source/x86.def +++ b/source/x86.def @@ -1,5 +1,6 @@ LIBRARY "UAL" EXPORTS +IsUltimateASILoader = IsUltimateASILoader CustomCreateFileA = CustomCreateFileA CustomCreateFileW = CustomCreateFileW CustomGetFileAttributesA = CustomGetFileAttributesA @@ -1249,4 +1250,89 @@ XMarketplaceCreateOfferEnumerator @5372 XMarketplaceGetDownloadStatus @5374 XMarketplaceGetImageUrl @5375 XMarketplaceCreateOfferEnumeratorByOffering @5376 -TitleExport_XUserFindUsers @5377 \ No newline at end of file +TitleExport_XUserFindUsers @5377 + +LIBRARY "winhttp" +EXPORTS +DllCanUnloadNow = _DllCanUnloadNow PRIVATE +DllGetClassObject = _DllGetClassObject PRIVATE +Private1 = _Private1 +SvchostPushServiceGlobals = _SvchostPushServiceGlobals +WinHttpAddRequestHeaders = _WinHttpAddRequestHeaders +WinHttpAddRequestHeadersEx = _WinHttpAddRequestHeadersEx +WinHttpAutoProxySvcMain = _WinHttpAutoProxySvcMain +WinHttpCheckPlatform = _WinHttpCheckPlatform +WinHttpCloseHandle = _WinHttpCloseHandle +WinHttpConnect = _WinHttpConnect +WinHttpConnectionDeletePolicyEntries = _WinHttpConnectionDeletePolicyEntries +WinHttpConnectionDeleteProxyInfo = _WinHttpConnectionDeleteProxyInfo +WinHttpConnectionFreeNameList = _WinHttpConnectionFreeNameList +WinHttpConnectionFreeProxyInfo = _WinHttpConnectionFreeProxyInfo +WinHttpConnectionFreeProxyList = _WinHttpConnectionFreeProxyList +WinHttpConnectionGetNameList = _WinHttpConnectionGetNameList +WinHttpConnectionGetProxyInfo = _WinHttpConnectionGetProxyInfo +WinHttpConnectionGetProxyList = _WinHttpConnectionGetProxyList +WinHttpConnectionOnlyConvert = _WinHttpConnectionOnlyConvert +WinHttpConnectionOnlyReceive = _WinHttpConnectionOnlyReceive +WinHttpConnectionOnlySend = _WinHttpConnectionOnlySend +WinHttpConnectionSetPolicyEntries = _WinHttpConnectionSetPolicyEntries +WinHttpConnectionSetProxyInfo = _WinHttpConnectionSetProxyInfo +WinHttpConnectionUpdateIfIndexTable = _WinHttpConnectionUpdateIfIndexTable +WinHttpCrackUrl = _WinHttpCrackUrl +WinHttpCreateProxyResolver = _WinHttpCreateProxyResolver +WinHttpCreateUrl = _WinHttpCreateUrl +WinHttpDetectAutoProxyConfigUrl = _WinHttpDetectAutoProxyConfigUrl +WinHttpFreeProxyResult = _WinHttpFreeProxyResult +WinHttpFreeProxyResultEx = _WinHttpFreeProxyResultEx +WinHttpFreeProxySettings = _WinHttpFreeProxySettings +WinHttpFreeProxySettingsEx = _WinHttpFreeProxySettingsEx +WinHttpFreeQueryConnectionGroupResult = _WinHttpFreeQueryConnectionGroupResult +WinHttpGetDefaultProxyConfiguration = _WinHttpGetDefaultProxyConfiguration +WinHttpGetIEProxyConfigForCurrentUser = _WinHttpGetIEProxyConfigForCurrentUser +WinHttpGetProxyForUrl = _WinHttpGetProxyForUrl +WinHttpGetProxyForUrlEx = _WinHttpGetProxyForUrlEx +WinHttpGetProxyForUrlEx2 = _WinHttpGetProxyForUrlEx2 +WinHttpGetProxyForUrlHvsi = _WinHttpGetProxyForUrlHvsi +WinHttpGetProxyResult = _WinHttpGetProxyResult +WinHttpGetProxyResultEx = _WinHttpGetProxyResultEx +WinHttpGetProxySettingsEx = _WinHttpGetProxySettingsEx +WinHttpGetProxySettingsResultEx = _WinHttpGetProxySettingsResultEx +WinHttpGetProxySettingsVersion = _WinHttpGetProxySettingsVersion +WinHttpGetTunnelSocket = _WinHttpGetTunnelSocket +WinHttpOpen = _WinHttpOpen +WinHttpOpenRequest = _WinHttpOpenRequest +WinHttpPacJsWorkerMain = _WinHttpPacJsWorkerMain +WinHttpProbeConnectivity = _WinHttpProbeConnectivity +WinHttpQueryAuthSchemes = _WinHttpQueryAuthSchemes +WinHttpQueryConnectionGroup = _WinHttpQueryConnectionGroup +WinHttpQueryDataAvailable = _WinHttpQueryDataAvailable +WinHttpQueryHeaders = _WinHttpQueryHeaders +WinHttpQueryHeadersEx = _WinHttpQueryHeadersEx +WinHttpQueryOption = _WinHttpQueryOption +WinHttpReadData = _WinHttpReadData +WinHttpReadDataEx = _WinHttpReadDataEx +WinHttpReadProxySettings = _WinHttpReadProxySettings +WinHttpReadProxySettingsHvsi = _WinHttpReadProxySettingsHvsi +WinHttpReceiveResponse = _WinHttpReceiveResponse +WinHttpRegisterProxyChangeNotification = _WinHttpRegisterProxyChangeNotification +WinHttpResetAutoProxy = _WinHttpResetAutoProxy +WinHttpSaveProxyCredentials = _WinHttpSaveProxyCredentials +WinHttpSendRequest = _WinHttpSendRequest +WinHttpSetCredentials = _WinHttpSetCredentials +WinHttpSetDefaultProxyConfiguration = _WinHttpSetDefaultProxyConfiguration +WinHttpSetOption = _WinHttpSetOption +WinHttpSetProxySettingsPerUser = _WinHttpSetProxySettingsPerUser +WinHttpSetSecureLegacyServersAppCompat = _WinHttpSetSecureLegacyServersAppCompat +WinHttpSetStatusCallback = _WinHttpSetStatusCallback +WinHttpSetTimeouts = _WinHttpSetTimeouts +WinHttpTimeFromSystemTime = _WinHttpTimeFromSystemTime +WinHttpTimeToSystemTime = _WinHttpTimeToSystemTime +WinHttpUnregisterProxyChangeNotification = _WinHttpUnregisterProxyChangeNotification +WinHttpWebSocketClose = _WinHttpWebSocketClose +WinHttpWebSocketCompleteUpgrade = _WinHttpWebSocketCompleteUpgrade +WinHttpWebSocketQueryCloseStatus = _WinHttpWebSocketQueryCloseStatus +WinHttpWebSocketReceive = _WinHttpWebSocketReceive +WinHttpWebSocketSend = _WinHttpWebSocketSend +WinHttpWebSocketShutdown = _WinHttpWebSocketShutdown +WinHttpWriteData = _WinHttpWriteData +WinHttpWriteProxySettings = _WinHttpWriteProxySettings