Advertisement
Guest User

Untitled

a guest
May 24th, 2015
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.98 KB | None | 0 0
  1. #pragma comment(lib, "Ws2_32.lib")
  2. #include <winsock2.h>
  3. #include <Windows.h>
  4. #include <iostream>
  5. #include <string>
  6. #define recvBuffSize 2000
  7. const std::string host = "site", page = "hwid.txt";
  8. int main(void)
  9. {
  10.     HW_PROFILE_INFO hwid;
  11.     WSADATA wsData;
  12.     if (WSAStartup(MAKEWORD(2, 2), &wsData) != 0)
  13.         return 1;
  14.     SOCKET sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
  15.     if (sock == INVALID_SOCKET) {
  16.   WSACleanup();
  17.   return 1;
  18.     }
  19.     int check, i = 0;
  20.     hostent *dns;
  21.     char recieve[recvBuffSize];
  22.     sockaddr_in sin;
  23.     sin.sin_addr.S_un.S_addr = inet_addr(host.c_str());
  24.     sin.sin_family = AF_INET;
  25.     sin.sin_port = htons(80);
  26.     std::string req;
  27.     memset(&req, 0, sizeof(req));
  28.     memset(&recieve, 0, sizeof(recieve));
  29.     req = "GET /" + page + " HTTP/1.1\r\nHOST: " + host + "\r\nUser-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)\r\nConnection: Close\r\n\r\n";
  30.     if (sin.sin_addr.s_addr == INADDR_NONE) {
  31.   dns = gethostbyname(host.c_str());
  32.   if (dns == NULL)
  33.     return 1;
  34.   while (dns->h_addr_list[i]) {
  35.     sin.sin_addr.s_addr = *(unsigned int*)(dns->h_addr_list[i]);
  36.     check = connect(sock, (sockaddr*)&sin, sizeof(sin));
  37.     if (check == SOCKET_ERROR)
  38.     i++;
  39.     else
  40.     break;
  41.   }
  42.     } else {
  43.   check = connect(sock, (sockaddr*)&sin, sizeof(sin));
  44.   if (check == SOCKET_ERROR)
  45.     return 1;
  46.     }
  47.     check = send(sock, req.c_str(), req.size(), NULL);
  48.     if (check == SOCKET_ERROR) {
  49.   std::cout << WSAGetLastError();
  50.   std::cin.get();
  51.   WSACleanup();
  52.   return 1;
  53.     }
  54.     recv(sock, recieve, sizeof(recieve), NULL);
  55.     WSACleanup();
  56.     std::string final = recieve;
  57.     int x;
  58.     for (x = 0; i < final.length(); x++)
  59.         if (final.at(x) == '\r' && final.at(x + 1) == '\n' && final.at(x + 2) == '\r' && final.at(x + 3) == '\n')
  60.             break;
  61.     final.erase(0, x + 4);
  62.     GetCurrentHwProfile(&hwid);
  63.     if (!strcmp((char*)hwid.szHwProfileGuid, final.c_str()))
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement