Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma comment(lib, "Ws2_32.lib")
- #include <winsock2.h>
- #include <Windows.h>
- #include <iostream>
- #include <string>
- #define recvBuffSize 2000
- const std::string host = "site", page = "hwid.txt";
- int main(void)
- {
- HW_PROFILE_INFO hwid;
- WSADATA wsData;
- if (WSAStartup(MAKEWORD(2, 2), &wsData) != 0)
- return 1;
- SOCKET sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
- if (sock == INVALID_SOCKET) {
- WSACleanup();
- return 1;
- }
- int check, i = 0;
- hostent *dns;
- char recieve[recvBuffSize];
- sockaddr_in sin;
- sin.sin_addr.S_un.S_addr = inet_addr(host.c_str());
- sin.sin_family = AF_INET;
- sin.sin_port = htons(80);
- std::string req;
- memset(&req, 0, sizeof(req));
- memset(&recieve, 0, sizeof(recieve));
- 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";
- if (sin.sin_addr.s_addr == INADDR_NONE) {
- dns = gethostbyname(host.c_str());
- if (dns == NULL)
- return 1;
- while (dns->h_addr_list[i]) {
- sin.sin_addr.s_addr = *(unsigned int*)(dns->h_addr_list[i]);
- check = connect(sock, (sockaddr*)&sin, sizeof(sin));
- if (check == SOCKET_ERROR)
- i++;
- else
- break;
- }
- } else {
- check = connect(sock, (sockaddr*)&sin, sizeof(sin));
- if (check == SOCKET_ERROR)
- return 1;
- }
- check = send(sock, req.c_str(), req.size(), NULL);
- if (check == SOCKET_ERROR) {
- std::cout << WSAGetLastError();
- std::cin.get();
- WSACleanup();
- return 1;
- }
- recv(sock, recieve, sizeof(recieve), NULL);
- WSACleanup();
- std::string final = recieve;
- int x;
- for (x = 0; i < final.length(); x++)
- if (final.at(x) == '\r' && final.at(x + 1) == '\n' && final.at(x + 2) == '\r' && final.at(x + 3) == '\n')
- break;
- final.erase(0, x + 4);
- GetCurrentHwProfile(&hwid);
- if (!strcmp((char*)hwid.szHwProfileGuid, final.c_str()))
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement