wshookvc.c
C source for WinSock hook, 711 lines. Raw file
#include <stdio.h>
#define STRICT
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
//#include <winsock.h>
//---- APPLICATION PARAMETERS ------------------------------------------------//
#define SZAPPNAME "LKS WinSock Hook DLL"
#define SZDESCRIPTION "Logs WinSock calls by hooking WinSock DLL"
#define SZVERSION "Version 4.0"
#define SZRCOMPANYNAME "LKS"
#define SZRDESCRIPTION "LKS WinSock Hook DLL"
#define SZRVERSION "v0.01"
#define SZRAPPNAME "WS_HOOK"
#define SZRCOPYRIGHT "<c> LKS 1999"
#define SZRTRADEMARK "-"
#define SZRPRODNAME "-"
#define SZRPRODVER "-"
//---- IMPORTED FUNCTIONS ----------------------------------------------------//
static int (WINAPI FAR *real_accept)(); // 1
static int (WINAPI FAR *real_bind)(); // 2
static int (WINAPI FAR *real_closesocket)(); // 3
static int (WINAPI FAR *real_connect)(); // 4
static int (WINAPI FAR *real_getpeername)(); // 5
static int (WINAPI FAR *real_getsockname)(); // 6
static int (WINAPI FAR *real_getsockopt)(); // 7
static int (WINAPI FAR *real_htonl)(); // 8
static int (WINAPI FAR *real_htons)(); // 9
static int (WINAPI FAR *real_inet_addr)(); // 10
static int (WINAPI FAR *real_inet_ntoa)(); // 11
static int (WINAPI FAR *real_ioctlsocket)(); // 12
static int (WINAPI FAR *real_listen)(); // 13
static int (WINAPI FAR *real_ntohl)(); // 14
static int (WINAPI FAR *real_ntohs)(); // 15
static int (WINAPI FAR *real_recv)(); // 16
static int (WINAPI FAR *real_recvfrom)(); // 17
static int (WINAPI FAR *real_select)(); // 18
static int (WINAPI FAR *real_send)(); // 19
static int (WINAPI FAR *real_sendto)(); // 20
static int (WINAPI FAR *real_setsockopt)(); // 21
static int (WINAPI FAR *real_shutdown)(); // 22
static int (WINAPI FAR *real_socket)(); // 23
static int (WINAPI FAR *real_MigrateWinsockConfiguration)(); // 24
static int (WINAPI FAR *real_gethostbyaddr)(); // 51
static int (WINAPI FAR *real_gethostbyname)(); // 52
static int (WINAPI FAR *real_getprotobyname)(); // 53
static int (WINAPI FAR *real_getprotobynumber)(); // 54
static int (WINAPI FAR *real_getservbyname)(); // 55
static int (WINAPI FAR *real_getservbyport)(); // 56
static int (WINAPI FAR *real_gethostname)(); // 57
static int (WINAPI FAR *real_WSAAsyncSelect)(); // 101
static int (WINAPI FAR *real_WSAAsyncGetHostByAddr)(); // 102
static int (WINAPI FAR *real_WSAAsyncGetHostByName)(); // 103
static int (WINAPI FAR *real_WSAAsyncGetProtoByNumber)(); // 104
static int (WINAPI FAR *real_WSAAsyncGetProtoByName)(); // 105
static int (WINAPI FAR *real_WSAAsyncGetServByPort)(); // 106
static int (WINAPI FAR *real_WSAAsyncGetServByName)(); // 107
static int (WINAPI FAR *real_WSACancelAsyncRequest)(); // 108
static int (WINAPI FAR *real_WSASetBlockingHook)(); // 109
static int (WINAPI FAR *real_WSAUnhookBlockingHook)(); // 110
static int (WINAPI FAR *real_WSAGetLastError)(); // 111
static int (WINAPI FAR *real_WSASetLastError)(); // 112
static int (WINAPI FAR *real_WSACancelBlockingCall)(); // 113
static int (WINAPI FAR *real_WSAIsBlocking)(); // 114
static int (WINAPI FAR *real_WSAStartup)(); // 115
static int (WINAPI FAR *real_WSACleanup)(); // 116
static int (WINAPI FAR *real___WSAFDIsSet)(); // 151
static int (WINAPI FAR *real_WEP)(); // 500
static int (WINAPI FAR *real_WSApSetPostRoutine)(); // 1000
static int (WINAPI FAR *real_WsControl)(); // 1001
static int (WINAPI FAR *real_closesockinfo)(); // 1002
static int (WINAPI FAR *real_Arecv)(); // 1003
static int (WINAPI FAR *real_Asend)(); // 1004
static int (WINAPI FAR *real_WSHEnumProtocols)(); // 1005
static int (WINAPI FAR *real_inet_network)(); // 1100
static int (WINAPI FAR *real_getnetbyname)(); // 1101
static int (WINAPI FAR *real_rcmd)(); // 1102
static int (WINAPI FAR *real_rexec)(); // 1103
static int (WINAPI FAR *real_rresvport)(); // 1104
static int (WINAPI FAR *real_sethostname)(); // 1105
static int (WINAPI FAR *real_dn_expand)(); // 1106
static int (WINAPI FAR *real_WSARecvEx)(); // 1107
static int (WINAPI FAR *real_s_perror)(); // 1108
static int (WINAPI FAR *real_GetAddressByNameA)(); // 1109
static int (WINAPI FAR *real_GetAddressByNameW)(); // 1110
static int (WINAPI FAR *real_EnumProtocolsA)(); // 1111
static int (WINAPI FAR *real_EnumProtocolsW)(); // 1112
static int (WINAPI FAR *real_GetTypeByNameA)(); // 1113
static int (WINAPI FAR *real_GetTypeByNameW)(); // 1114
static int (WINAPI FAR *real_GetNameByTypeA)(); // 1115
static int (WINAPI FAR *real_GetNameByTypeW)(); // 1116
static int (WINAPI FAR *real_SetServiceA)(); // 1117
static int (WINAPI FAR *real_SetServiceW)(); // 1118
static int (WINAPI FAR *real_GetServiceA)(); // 1119
static int (WINAPI FAR *real_GetServiceW)(); // 1120
static int (WINAPI FAR *real_NPLoadNameSpaces)(); // 1130
static int (WINAPI FAR *real_TransmitFile)(); // 1140
static int (WINAPI FAR *real_AcceptEx)(); // 1141
static int (WINAPI FAR *real_GetAcceptExSockaddrs)(); // 1142
//---- FUNCTION PROTOS -------------------------------------------------------//
//---- DEBUG FUNCTIONS -------------------------------------------------------//
/*
void abc(char * p) {
FILE *fp=fopen("c:\z.txt","a+");
fprintf(fp,"%s
",p);
fclose(fp);
}
char aa[1000];
void abc(char * p) {
}
void abc_startup() {
}
void abc_shutdown() {
}
*/
CRITICAL_SECTION abc_critical;
void abc_startup() {
InitializeCriticalSection(&abc_critical);
}
void abc_shutdown() {
DeleteCriticalSection(&abc_critical);
}
void abc(char * p) {
HDC dc;
int i;
EnterCriticalSection(&abc_critical);
dc = GetDC(NULL);
for(i=0; p[i]; i++);
TextOut(dc, 0, 0, p, i);
ReleaseDC(NULL, dc);
LeaveCriticalSection(&abc_critical);
}
//---- IMPORT FUNCTION -------------------------------------------------------//
#define SHIM_GETPROCADDRESS(f) real_##f = GetProcAddress(ws_inst, "" #f)
char RealImport_msg[256];
int RealImport_errors = 0;
FARPROC RealImport(HINSTANCE inst, char *name) {
FARPROC f;
f = GetProcAddress(inst, name);
if(!f) {
RealImport_errors ++;
sprintf(RealImport_msg, "Error importing function '%s'", name);
MessageBox(0, RealImport_msg, "LKS c:\\windows\\system\\wsock32.dll hook", IDOK);
}
return f;
}
//---- DLL ENTRY POINT -------------------------------------------------------//
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD reason, LPVOID lpvReserved) {
if(reason == DLL_PROCESS_DETACH) {
abc_shutdown();
} else if(reason == DLL_PROCESS_ATTACH) {
HINSTANCE ws_inst = LoadLibrary("c:\\windows\\system\\wsock32.dll");
abc_startup();
abc("DLL Started for a new process");
if(!ws_inst) {
abc("ERROR: Could not load DLL 'c:\\windows\\system\\wsock32.dll'");
return FALSE;
}
abc("DLL 'c:\\windows\\system\\wsock32.dll' loaded ok");
real_accept = RealImport(ws_inst, "accept"); // 1
real_bind = RealImport(ws_inst, "bind"); // 2
real_closesocket = RealImport(ws_inst, "closesocket"); // 3
real_connect = RealImport(ws_inst, "connect"); // 4
real_getpeername = RealImport(ws_inst, "getpeername"); // 5
real_getsockname = RealImport(ws_inst, "getsockname"); // 6
real_getsockopt = RealImport(ws_inst, "getsockopt"); // 7
real_htonl = RealImport(ws_inst, "htonl"); // 8
real_htons = RealImport(ws_inst, "htons"); // 9
real_inet_addr = RealImport(ws_inst, "inet_addr"); // 10
real_inet_ntoa = RealImport(ws_inst, "inet_ntoa"); // 11
real_ioctlsocket = RealImport(ws_inst, "ioctlsocket"); // 12
real_listen = RealImport(ws_inst, "listen"); // 13
real_ntohl = RealImport(ws_inst, "ntohl"); // 14
real_ntohs = RealImport(ws_inst, "ntohs"); // 15
real_recv = RealImport(ws_inst, "recv"); // 16
real_recvfrom = RealImport(ws_inst, "recvfrom"); // 17
real_select = RealImport(ws_inst, "select"); // 18
real_send = RealImport(ws_inst, "send"); // 19
real_sendto = RealImport(ws_inst, "sendto"); // 20
real_setsockopt = RealImport(ws_inst, "setsockopt"); // 21
real_shutdown = RealImport(ws_inst, "shutdown"); // 22
real_socket = RealImport(ws_inst, "socket"); // 23
real_MigrateWinsockConfiguration = RealImport(ws_inst, "MigrateWinsockConfiguration"); // 24
real_gethostbyaddr = RealImport(ws_inst, "gethostbyaddr"); // 51
real_gethostbyname = RealImport(ws_inst, "gethostbyname"); // 52
real_getprotobyname = RealImport(ws_inst, "getprotobyname"); // 53
real_getprotobynumber = RealImport(ws_inst, "getprotobynumber"); // 54
real_getservbyname = RealImport(ws_inst, "getservbyname"); // 55
real_getservbyport = RealImport(ws_inst, "getservbyport"); // 56
real_gethostname = RealImport(ws_inst, "gethostname"); // 57
real_WSAAsyncSelect = RealImport(ws_inst, "WSAAsyncSelect"); // 101
real_WSAAsyncGetHostByAddr = RealImport(ws_inst, "WSAAsyncGetHostByAddr"); // 102
real_WSAAsyncGetHostByName = RealImport(ws_inst, "WSAAsyncGetHostByName"); // 103
real_WSAAsyncGetProtoByNumber = RealImport(ws_inst, "WSAAsyncGetProtoByNumber"); // 104
real_WSAAsyncGetProtoByName = RealImport(ws_inst, "WSAAsyncGetProtoByName"); // 105
real_WSAAsyncGetServByPort = RealImport(ws_inst, "WSAAsyncGetServByPort"); // 106
real_WSAAsyncGetServByName = RealImport(ws_inst, "WSAAsyncGetServByName"); // 107
real_WSACancelAsyncRequest = RealImport(ws_inst, "WSACancelAsyncRequest"); // 108
real_WSASetBlockingHook = RealImport(ws_inst, "WSASetBlockingHook"); // 109
real_WSAUnhookBlockingHook = RealImport(ws_inst, "WSAUnhookBlockingHook"); // 110
real_WSAGetLastError = RealImport(ws_inst, "WSAGetLastError"); // 111
real_WSASetLastError = RealImport(ws_inst, "WSASetLastError"); // 112
real_WSACancelBlockingCall = RealImport(ws_inst, "WSACancelBlockingCall"); // 113
real_WSAIsBlocking = RealImport(ws_inst, "WSAIsBlocking"); // 114
real_WSAStartup = RealImport(ws_inst, "WSAStartup"); // 115
real_WSACleanup = RealImport(ws_inst, "WSACleanup"); // 116
real___WSAFDIsSet = RealImport(ws_inst, "__WSAFDIsSet"); // 151
real_WEP = RealImport(ws_inst, "WEP"); // 500
real_WSApSetPostRoutine = RealImport(ws_inst, "WSApSetPostRoutine"); // 1000
real_WsControl = RealImport(ws_inst, "WsControl"); // 1001
real_closesockinfo = RealImport(ws_inst, "closesockinfo"); // 1002
real_Arecv = RealImport(ws_inst, "Arecv"); // 1003
real_Asend = RealImport(ws_inst, "Asend"); // 1004
real_WSHEnumProtocols = RealImport(ws_inst, "WSHEnumProtocols"); // 1005
real_inet_network = RealImport(ws_inst, "inet_network"); // 1100
real_getnetbyname = RealImport(ws_inst, "getnetbyname"); // 1101
real_rcmd = RealImport(ws_inst, "rcmd"); // 1102
real_rexec = RealImport(ws_inst, "rexec"); // 1103
real_rresvport = RealImport(ws_inst, "rresvport"); // 1104
real_sethostname = RealImport(ws_inst, "sethostname"); // 1105
real_dn_expand = RealImport(ws_inst, "dn_expand"); // 1106
real_WSARecvEx = RealImport(ws_inst, "WSARecvEx"); // 1107
real_s_perror = RealImport(ws_inst, "s_perror"); // 1108
real_GetAddressByNameA = RealImport(ws_inst, "GetAddressByNameA"); // 1109
real_GetAddressByNameW = RealImport(ws_inst, "GetAddressByNameW"); // 1110
real_EnumProtocolsA = RealImport(ws_inst, "EnumProtocolsA"); // 1111
real_EnumProtocolsW = RealImport(ws_inst, "EnumProtocolsW"); // 1112
real_GetTypeByNameA = RealImport(ws_inst, "GetTypeByNameA"); // 1113
real_GetTypeByNameW = RealImport(ws_inst, "GetTypeByNameW"); // 1114
real_GetNameByTypeA = RealImport(ws_inst, "GetNameByTypeA"); // 1115
real_GetNameByTypeW = RealImport(ws_inst, "GetNameByTypeW"); // 1116
real_SetServiceA = RealImport(ws_inst, "SetServiceA"); // 1117
real_SetServiceW = RealImport(ws_inst, "SetServiceW"); // 1118
real_GetServiceA = RealImport(ws_inst, "GetServiceA"); // 1119
real_GetServiceW = RealImport(ws_inst, "GetServiceW"); // 1120
real_NPLoadNameSpaces = RealImport(ws_inst, "NPLoadNameSpaces"); // 1130
real_TransmitFile = RealImport(ws_inst, "TransmitFile"); // 1140
real_AcceptEx = RealImport(ws_inst, "AcceptEx"); // 1141
real_GetAcceptExSockaddrs = RealImport(ws_inst, "GetAcceptExSockaddrs"); // 1142
if(RealImport_errors == 0) {
// All functions imported sucessfully!
abc("All functions imported sucessfully!");
} else {
abc("ERROR - Could not import function(s)!");
return FALSE;
}
}
return TRUE;
}
//---- MY REPLACEMENT FUNCTIONS ----------------------------------------------//
__declspec(naked) __declspec(dllexport) WINAPI FAR accept () {
abc("accept");
_asm jmp[real_accept];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR bind () {
abc("bind");
_asm jmp[real_bind];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR closesocket () {
abc("closesocket");
_asm jmp[real_closesocket];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR connect () {
abc("connect");
_asm jmp[real_connect];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR getpeername () {
abc("getpeername");
_asm jmp[real_getpeername];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR getsockname () {
abc("getsockname");
_asm jmp[real_getsockname];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR getsockopt () {
abc("getsockopt");
_asm jmp[real_getsockopt];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR htonl () {
abc("htonl");
_asm jmp[real_htonl];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR htons () {
abc("htons");
_asm jmp[real_htons];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR inet_addr () {
abc("inet_addr");
_asm jmp[real_inet_addr];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR inet_ntoa () {
abc("inet_ntoa");
_asm jmp[real_inet_ntoa];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR ioctlsocket () {
abc("ioctlsocket");
_asm jmp[real_ioctlsocket];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR listen () {
abc("listen");
_asm jmp[real_listen];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR ntohl () {
abc("ntohl");
_asm jmp[real_ntohl];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR ntohs () {
abc("ntohs");
_asm jmp[real_ntohs];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR recv () {
abc("recv");
_asm jmp[real_recv];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR recvfrom () {
abc("recvfrom");
_asm jmp[real_recvfrom];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR select () {
abc("select");
_asm jmp[real_select];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR send () {
abc("send");
_asm jmp[real_send];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR sendto () {
abc("sendto");
_asm jmp[real_sendto];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR setsockopt () {
abc("setsockopt");
_asm jmp[real_setsockopt];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR shutdown () {
abc("shutdown");
_asm jmp[real_shutdown];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR socket () {
abc("socket");
_asm jmp[real_socket];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR MigrateWinsockConfiguration () {
abc("MigrateWinsockConfiguration");
_asm jmp[real_MigrateWinsockConfiguration];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR gethostbyaddr () {
abc("gethostbyaddr");
_asm jmp[real_gethostbyaddr];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR gethostbyname () {
abc("gethostbyname");
_asm jmp[real_gethostbyname];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR getprotobyname () {
abc("getprotobyname");
_asm jmp[real_getprotobyname];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR getprotobynumber () {
abc("getprotobynumber");
_asm jmp[real_getprotobynumber];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR getservbyname () {
abc("getservbyname");
_asm jmp[real_getservbyname];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR getservbyport () {
abc("getservbyport");
_asm jmp[real_getservbyport];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR gethostname () {
abc("gethostname");
_asm jmp[real_gethostname];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR WSAAsyncSelect () {
abc("WSAAsyncSelect");
_asm jmp[real_WSAAsyncSelect];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR WSAAsyncGetHostByAddr () {
abc("WSAAsyncGetHostByAddr");
_asm jmp[real_WSAAsyncGetHostByAddr];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR WSAAsyncGetHostByName () {
abc("WSAAsyncGetHostByName");
_asm jmp[real_WSAAsyncGetHostByName];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR WSAAsyncGetProtoByNumber () {
abc("WSAAsyncGetProtoByNumber");
_asm jmp[real_WSAAsyncGetProtoByNumber];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR WSAAsyncGetProtoByName () {
abc("WSAAsyncGetProtoByName");
_asm jmp[real_WSAAsyncGetProtoByName];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR WSAAsyncGetServByPort () {
abc("WSAAsyncGetServByPort");
_asm jmp[real_WSAAsyncGetServByPort];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR WSAAsyncGetServByName () {
abc("WSAAsyncGetServByName");
_asm jmp[real_WSAAsyncGetServByName];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR WSACancelAsyncRequest () {
abc("WSACancelAsyncRequest");
_asm jmp[real_WSACancelAsyncRequest];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR WSASetBlockingHook () {
abc("WSASetBlockingHook");
_asm jmp[real_WSASetBlockingHook];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR WSAUnhookBlockingHook () {
abc("WSAUnhookBlockingHook");
_asm jmp[real_WSAUnhookBlockingHook];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR WSAGetLastError () {
abc("WSAGetLastError");
_asm jmp[real_WSAGetLastError];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR WSASetLastError () {
abc("WSASetLastError");
_asm jmp[real_WSASetLastError];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR WSACancelBlockingCall () {
abc("WSACancelBlockingCall");
_asm jmp[real_WSACancelBlockingCall];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR WSAIsBlocking () {
abc("WSAIsBlocking");
_asm jmp[real_WSAIsBlocking];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR WSAStartup () {
abc("WSAStartup");
_asm jmp[real_WSAStartup];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR WSACleanup () {
abc("WSACleanup");
_asm jmp[real_WSACleanup];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR __WSAFDIsSet () {
abc("__WSAFDIsSet");
_asm jmp[real___WSAFDIsSet];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR WEP () {
abc("WEP");
_asm jmp[real_WEP];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR WSApSetPostRoutine () {
abc("WSApSetPostRoutine");
_asm jmp[real_WSApSetPostRoutine];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR WsControl () {
abc("WsControl");
_asm jmp[real_WsControl];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR closesockinfo () {
abc("closesockinfo");
_asm jmp[real_closesockinfo];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR Arecv () {
abc("Arecv");
_asm jmp[real_Arecv];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR Asend () {
abc("Asend");
_asm jmp[real_Asend];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR WSHEnumProtocols () {
abc("WSHEnumProtocols");
_asm jmp[real_WSHEnumProtocols];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR inet_network () {
abc("inet_network");
_asm jmp[real_inet_network];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR getnetbyname () {
abc("getnetbyname");
_asm jmp[real_getnetbyname];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR rcmd () {
abc("rcmd");
_asm jmp[real_rcmd];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR rexec () {
abc("rexec");
_asm jmp[real_rexec];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR rresvport () {
abc("rresvport");
_asm jmp[real_rresvport];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR sethostname () {
abc("sethostname");
_asm jmp[real_sethostname];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR dn_expand () {
abc("dn_expand");
_asm jmp[real_dn_expand];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR WSARecvEx () {
abc("WSARecvEx");
_asm jmp[real_WSARecvEx];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR s_perror () {
abc("s_perror");
_asm jmp[real_s_perror];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR GetAddressByNameA () {
abc("GetAddressByNameA");
_asm jmp[real_GetAddressByNameA];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR GetAddressByNameW () {
abc("GetAddressByNameW");
_asm jmp[real_GetAddressByNameW];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR EnumProtocolsA () {
abc("EnumProtocolsA");
_asm jmp[real_EnumProtocolsA];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR EnumProtocolsW () {
abc("EnumProtocolsW");
_asm jmp[real_EnumProtocolsW];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR GetTypeByNameA () {
abc("GetTypeByNameA");
_asm jmp[real_GetTypeByNameA];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR GetTypeByNameW () {
abc("GetTypeByNameW");
_asm jmp[real_GetTypeByNameW];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR GetNameByTypeA () {
abc("GetNameByTypeA");
_asm jmp[real_GetNameByTypeA];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR GetNameByTypeW () {
abc("GetNameByTypeW");
_asm jmp[real_GetNameByTypeW];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR SetServiceA () {
abc("SetServiceA");
_asm jmp[real_SetServiceA];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR SetServiceW () {
abc("SetServiceW");
_asm jmp[real_SetServiceW];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR GetServiceA () {
abc("GetServiceA");
_asm jmp[real_GetServiceA];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR GetServiceW () {
abc("GetServiceW");
_asm jmp[real_GetServiceW];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR NPLoadNameSpaces () {
abc("NPLoadNameSpaces");
_asm jmp[real_NPLoadNameSpaces];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR TransmitFile () {
abc("TransmitFile");
_asm jmp[real_TransmitFile];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR AcceptEx () {
abc("AcceptEx");
_asm jmp[real_AcceptEx];
}
__declspec(naked) __declspec(dllexport) WINAPI FAR GetAcceptExSockaddrs () {
abc("GetAcceptExSockaddrs");
_asm jmp[real_GetAcceptExSockaddrs];
}
//---- END OF CODE -----------------------------------------------------------//
//---- Code generated by LKS Makehook.perl :)