|
/* ==================================
|
|
* COMPUTER GENERATED -- DO NOT EDIT
|
|
* ==================================
|
|
*
|
|
* This file contains the definitions for all proxy functions this DLL supports.
|
|
*
|
|
* The proxies are very simple functions that should be optimizied into a
|
|
* single JMP instruction without editing the stack at all.
|
|
*
|
|
* NOTE: While this works, this is a somewhat hackish approach that is based on how
|
|
* the compiler optimizes the code. That said, the proxy will not work on Debug build currently
|
|
* (that can be fixed by changing the appropriate compile flag that I am yet to locate).
|
|
*/
|
|
|
|
#pragma warning( disable : 4244 )
|
|
|
|
#include <windows.h>
|
|
|
|
#define ADD_ORIGINAL(i, name) originalFunctions[i] = GetProcAddress(dll, #name)
|
|
|
|
#define PROXY(i, name) \
|
|
__declspec(dllexport) ULONG __stdcall name() \
|
|
{ \
|
|
return originalFunctions[i](); \
|
|
}
|
|
|
|
FARPROC originalFunctions[50] = {0};
|
|
|
|
void loadFunctions(HMODULE dll)
|
|
{
|
|
ADD_ORIGINAL(0, WinHttpAddRequestHeaders);
|
|
ADD_ORIGINAL(1, WinHttpAutoProxySvcMain);
|
|
ADD_ORIGINAL(2, WinHttpCheckPlatform);
|
|
ADD_ORIGINAL(3, WinHttpCloseHandle);
|
|
ADD_ORIGINAL(4, WinHttpConnect);
|
|
ADD_ORIGINAL(5, WinHttpConnectionDeleteProxyInfo);
|
|
ADD_ORIGINAL(6, WinHttpConnectionFreeNameList);
|
|
ADD_ORIGINAL(7, WinHttpConnectionFreeProxyInfo);
|
|
ADD_ORIGINAL(8, WinHttpConnectionFreeProxyList);
|
|
ADD_ORIGINAL(9, WinHttpConnectionGetNameList);
|
|
ADD_ORIGINAL(10, WinHttpConnectionGetProxyInfo);
|
|
ADD_ORIGINAL(11, WinHttpConnectionGetProxyList);
|
|
ADD_ORIGINAL(12, WinHttpConnectionSetProxyInfo);
|
|
ADD_ORIGINAL(13, WinHttpCrackUrl);
|
|
ADD_ORIGINAL(14, WinHttpCreateProxyResolver);
|
|
ADD_ORIGINAL(15, WinHttpCreateUrl);
|
|
ADD_ORIGINAL(16, WinHttpDetectAutoProxyConfigUrl);
|
|
ADD_ORIGINAL(17, WinHttpFreeProxyResult);
|
|
ADD_ORIGINAL(18, WinHttpGetDefaultProxyConfiguration);
|
|
ADD_ORIGINAL(19, WinHttpGetIEProxyConfigForCurrentUser);
|
|
ADD_ORIGINAL(20, WinHttpGetProxyForUrl);
|
|
ADD_ORIGINAL(21, WinHttpGetProxyForUrlEx);
|
|
ADD_ORIGINAL(22, WinHttpGetProxyResult);
|
|
ADD_ORIGINAL(23, WinHttpGetTunnelSocket);
|
|
ADD_ORIGINAL(24, WinHttpOpen);
|
|
ADD_ORIGINAL(25, WinHttpOpenRequest);
|
|
ADD_ORIGINAL(26, WinHttpProbeConnectivity);
|
|
ADD_ORIGINAL(27, WinHttpQueryAuthSchemes);
|
|
ADD_ORIGINAL(28, WinHttpQueryDataAvailable);
|
|
ADD_ORIGINAL(29, WinHttpQueryHeaders);
|
|
ADD_ORIGINAL(30, WinHttpQueryOption);
|
|
ADD_ORIGINAL(31, WinHttpReadData);
|
|
ADD_ORIGINAL(32, WinHttpReceiveResponse);
|
|
ADD_ORIGINAL(33, WinHttpResetAutoProxy);
|
|
ADD_ORIGINAL(34, WinHttpSaveProxyCredentials);
|
|
ADD_ORIGINAL(35, WinHttpSendRequest);
|
|
ADD_ORIGINAL(36, WinHttpSetCredentials);
|
|
ADD_ORIGINAL(37, WinHttpSetDefaultProxyConfiguration);
|
|
ADD_ORIGINAL(38, WinHttpSetOption);
|
|
ADD_ORIGINAL(39, WinHttpSetStatusCallback);
|
|
ADD_ORIGINAL(40, WinHttpSetTimeouts);
|
|
ADD_ORIGINAL(41, WinHttpTimeFromSystemTime);
|
|
ADD_ORIGINAL(42, WinHttpTimeToSystemTime);
|
|
ADD_ORIGINAL(43, WinHttpWebSocketClose);
|
|
ADD_ORIGINAL(44, WinHttpWebSocketCompleteUpgrade);
|
|
ADD_ORIGINAL(45, WinHttpWebSocketQueryCloseStatus);
|
|
ADD_ORIGINAL(46, WinHttpWebSocketReceive);
|
|
ADD_ORIGINAL(47, WinHttpWebSocketSend);
|
|
ADD_ORIGINAL(48, WinHttpWebSocketShutdown);
|
|
ADD_ORIGINAL(49, WinHttpWriteData);
|
|
|
|
}
|
|
|
|
PROXY(0, WinHttpAddRequestHeaders);
|
|
PROXY(1, WinHttpAutoProxySvcMain);
|
|
PROXY(2, WinHttpCheckPlatform);
|
|
PROXY(3, WinHttpCloseHandle);
|
|
PROXY(4, WinHttpConnect);
|
|
PROXY(5, WinHttpConnectionDeleteProxyInfo);
|
|
PROXY(6, WinHttpConnectionFreeNameList);
|
|
PROXY(7, WinHttpConnectionFreeProxyInfo);
|
|
PROXY(8, WinHttpConnectionFreeProxyList);
|
|
PROXY(9, WinHttpConnectionGetNameList);
|
|
PROXY(10, WinHttpConnectionGetProxyInfo);
|
|
PROXY(11, WinHttpConnectionGetProxyList);
|
|
PROXY(12, WinHttpConnectionSetProxyInfo);
|
|
PROXY(13, WinHttpCrackUrl);
|
|
PROXY(14, WinHttpCreateProxyResolver);
|
|
PROXY(15, WinHttpCreateUrl);
|
|
PROXY(16, WinHttpDetectAutoProxyConfigUrl);
|
|
PROXY(17, WinHttpFreeProxyResult);
|
|
PROXY(18, WinHttpGetDefaultProxyConfiguration);
|
|
PROXY(19, WinHttpGetIEProxyConfigForCurrentUser);
|
|
PROXY(20, WinHttpGetProxyForUrl);
|
|
PROXY(21, WinHttpGetProxyForUrlEx);
|
|
PROXY(22, WinHttpGetProxyResult);
|
|
PROXY(23, WinHttpGetTunnelSocket);
|
|
PROXY(24, WinHttpOpen);
|
|
PROXY(25, WinHttpOpenRequest);
|
|
PROXY(26, WinHttpProbeConnectivity);
|
|
PROXY(27, WinHttpQueryAuthSchemes);
|
|
PROXY(28, WinHttpQueryDataAvailable);
|
|
PROXY(29, WinHttpQueryHeaders);
|
|
PROXY(30, WinHttpQueryOption);
|
|
PROXY(31, WinHttpReadData);
|
|
PROXY(32, WinHttpReceiveResponse);
|
|
PROXY(33, WinHttpResetAutoProxy);
|
|
PROXY(34, WinHttpSaveProxyCredentials);
|
|
PROXY(35, WinHttpSendRequest);
|
|
PROXY(36, WinHttpSetCredentials);
|
|
PROXY(37, WinHttpSetDefaultProxyConfiguration);
|
|
PROXY(38, WinHttpSetOption);
|
|
PROXY(39, WinHttpSetStatusCallback);
|
|
PROXY(40, WinHttpSetTimeouts);
|
|
PROXY(41, WinHttpTimeFromSystemTime);
|
|
PROXY(42, WinHttpTimeToSystemTime);
|
|
PROXY(43, WinHttpWebSocketClose);
|
|
PROXY(44, WinHttpWebSocketCompleteUpgrade);
|
|
PROXY(45, WinHttpWebSocketQueryCloseStatus);
|
|
PROXY(46, WinHttpWebSocketReceive);
|
|
PROXY(47, WinHttpWebSocketSend);
|
|
PROXY(48, WinHttpWebSocketShutdown);
|
|
PROXY(49, WinHttpWriteData);
|