Advertisement
Guest User

Untitled

a guest
May 22nd, 2016
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.56 KB | None | 0 0
  1. class MySock {
  2. public:
  3. static MySock& Instance() {
  4. static MySock ms;
  5. return ms;
  6. }
  7.  
  8. WSADATA wsaData;
  9. SOCKET mySocket;
  10. bool InitWinSock();
  11. struct addrinfo *results = NULL, *prt = NULL, hints;
  12. bool ConfigureSock();
  13. bool Connect();
  14. void Disconnect();
  15. bool Login(string buf);
  16.  
  17. };
  18. bool MySock::InitWinSock() {
  19. if (int result = WSAStartup(MAKEWORD(2, 2), &wsaData) != 0) {
  20. printf_s("WSAStartup failed: %d\n", result);
  21. return false;
  22. }
  23. return true;
  24. }
  25.  
  26. bool MySock::ConfigureSock() {
  27. ZeroMemory(&hints, sizeof(hints));
  28. hints.ai_family = AF_INET;
  29. hints.ai_socktype = SOCK_STREAM;
  30. hints.ai_protocol = IPPROTO_TCP;
  31. int result = getaddrinfo("WEBSITE REMOVED", "80", &hints, &results);
  32. if (result != 0) {
  33. printf_s("getaddrinf failed: %d\n", result);
  34. WSACleanup();
  35. return false;
  36. }
  37. else {
  38. prt = results;
  39. }
  40.  
  41. mySocket = socket(results->ai_family, results->ai_socktype, results->ai_protocol);
  42. if (mySocket == INVALID_SOCKET) {
  43. printf_s("Error at socket(): %l\n", WSAGetLastError());
  44. freeaddrinfo(results);
  45. WSACleanup();
  46. return false;
  47. }
  48.  
  49. printf_s("Connected to: WEBSITE REMOVED \n");
  50.  
  51. return true;
  52. }
  53.  
  54. bool MySock::Connect() {
  55. int result = connect(mySocket, prt->ai_addr, (int)prt->ai_addrlen);
  56. if (result == SOCKET_ERROR) {
  57. freeaddrinfo(results);
  58. Disconnect();
  59. return false;
  60. }
  61. return true;
  62. }
  63.  
  64. void MySock::Disconnect() {
  65. closesocket(mySocket);
  66. WSACleanup();
  67. cout << "Disconnected!" << endl;
  68. }
  69.  
  70. bool MySock::Login(string buf) {
  71.  
  72. if (!InitWinSock()) return false; //ok
  73.  
  74. if (!ConfigureSock()) return false; //ok
  75.  
  76. if (!Connect()) { //ok
  77. Disconnect();
  78. return false;
  79. }
  80. //send
  81. int result = send(mySocket, buf.c_str(), buf.size(), 0);
  82. if (result == SOCKET_ERROR) {
  83. printf_s("send failed: %d\n", WSAGetLastError());
  84. Disconnect();
  85. return false;
  86. }
  87. else {
  88. // cout << buf.c_str() << endl;
  89. printf_s("Sending...\n");
  90. printf_s("Bytes Sent: %ld\n", result);
  91. }
  92.  
  93. result = shutdown(mySocket, SD_SEND);
  94. if (result == SOCKET_ERROR) {
  95. printf_s("shutdown failed: %d\n", WSAGetLastError());
  96. Disconnect();
  97. return false;
  98. }
  99.  
  100. //recv
  101. int recvbuflen = 512;
  102. char recvbuf[512];
  103. result = recv(mySocket, recvbuf, recvbuflen, 0);
  104. if (result > 0) {
  105. printf_s("Bytes received: %d\n", result);
  106. printf_s("Checking...\n");
  107. string response = string(recvbuf);
  108. if (response.find("index_hwid.php") != string::npos) {
  109. printf_s("NO LOGIN!\n");
  110. }
  111. else if (response.find("login_success_HWID.php") != string::npos) {
  112. printf_s("LOGGED ON!\n");
  113. }
  114. // cout << response << endl;
  115. }
  116. else if (result == 0)
  117. printf_s("Connection closed\n");
  118. else
  119. printf_s("recv failed: %d\n", WSAGetLastError());
  120.  
  121. Disconnect();
  122. return true;
  123. }
  124. class HwidF {
  125. public:
  126. static HwidF& Instance() {
  127. static HwidF hwidf;
  128. return hwidf;
  129. }
  130. void SystemLetter(TCHAR *vol);
  131. string ID();
  132. };
  133. void HwidF::SystemLetter(TCHAR *vol) {
  134. TCHAR buffer[30];
  135. GetSystemWindowsDirectory(buffer, 30);
  136. for (int i = 0; i < 2; i++)
  137. vol[i] = buffer[i];
  138. vol[2] = 0;
  139. }
  140.  
  141. string HwidF::ID() {
  142. TCHAR vol[3];
  143. SystemLetter(vol);
  144. string letter = string(vol) + "\\";
  145. string ss;
  146. ss = "Err_StringIsNull";
  147. UCHAR szFileSys[255],
  148. szVolNameBuff[255];
  149. DWORD dwSerial;
  150. DWORD dwMFL;
  151. DWORD dwSysFlags;
  152. int error = 0;
  153. BOOL success = GetVolumeInformation(LPCTSTR(letter.c_str()), (LPTSTR)szVolNameBuff,
  154. 255, &dwSerial,
  155. &dwMFL, &dwSysFlags,
  156. (LPTSTR)szFileSys,
  157. 255);
  158. if (!success) {
  159. ss = "Err_Not_Elevated";
  160. }
  161. std::stringstream errorStream;
  162. errorStream << dwSerial;
  163. return string(errorStream.str().c_str());
  164. }
  165. char username[MAX_PATH];
  166. char password[MAX_PATH];
  167. cout << "Username:" << endl;
  168. cin >> username;
  169. cout << "Password:" << endl;
  170. cin >> password;
  171. string FinalID = HwidF::Instance().ID();
  172. cout << " === Summary ===" << endl;
  173. cout << " Username: " << username << " Password: " << password << endl;
  174. cout << " Your HWID: " << FinalID << endl;
  175.  
  176. string logininfo = "user=" + string(username) + "&pass=" + string(password) + "&hwid=" + FinalID;
  177. int loginInfoSize = logininfo.length();
  178. string header;
  179. header = "POST /index_hwid.php HTTP/1.1\r\n";
  180. header += "Host: WEBSITE REMOVED:80\r\n";
  181. header += "Content-Type: application/x-www-form-urlencoded\r\n";
  182. header += "Content-Length: " + to_string(loginInfoSize) + "\r\n";
  183. header += "Accept-Charset: utf-8\r\n";
  184. header += "\r\n";
  185. header += logininfo + "\r\n";
  186. header += "\r\n";
  187.  
  188. cout << " ===Send Form===" << endl;
  189. MySock::Instance().Login(header);
  190.  
  191. while (true) {
  192. Sleep(1);
  193. }
  194. return 0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement