#include #include #include #include int main() { // Socket WSADATA wsaData; if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0) { printf("Failed to initialize Winsock.\n"); return 1; } SOCKET clientSocket; clientSocket = socket(AF_INET, SOCK_STREAM, 0); if (clientSocket == INVALID_SOCKET) { printf("Failed to create socket.\n"); WSACleanup(); return 1; } // InternetOpenURL HINTERNET hInternet = InternetOpen("MyApplication", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0); if (hInternet == NULL) { printf("Failed to initialize WinINet.\n"); closesocket(clientSocket); WSACleanup(); return 1; } HINTERNET hURL = InternetOpenUrl(hInternet, "http://www..com", NULL, 0, INTERNET_FLAG_RELOAD, 0); if (hURL == NULL) { printf("Failed to open URL.\n"); InternetCloseHandle(hInternet); closesocket(clientSocket); WSACleanup(); return 1; } // CreateFile, WriteFile, CloseHandle HANDLE hFile = CreateFile("output.txt", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); if (hFile == INVALID_HANDLE_VALUE) { printf("Failed to create file.\n"); InternetCloseHandle(hURL); InternetCloseHandle(hInternet); closesocket(clientSocket); WSACleanup(); return 1; } char buffer[1024]; DWORD bytesRead; DWORD bytesWritten; while (InternetReadFile(hURL, buffer, sizeof(buffer), &bytesRead) && bytesRead > 0) { WriteFile(hFile, buffer, bytesRead, &bytesWritten, NULL); } CloseHandle(hFile); InternetCloseHandle(hURL); InternetCloseHandle(hInternet); closesocket(clientSocket); WSACleanup(); // RegEnumKey HKEY hKey; if (RegOpenKeyEx(HKEY_CURRENT_USER, "Software", 0, KEY_READ, &hKey) != ERROR_SUCCESS) { printf("Failed to open registry key.\n"); return 1; } char subkeyName[MAX_PATH]; DWORD subkeySize = sizeof(subkeyName); DWORD index = 0; while (RegEnumKeyEx(hKey, index, subkeyName, &subkeySize, NULL, NULL, NULL, NULL) == ERROR_SUCCESS) { printf("%s\n", subkeyName); index++; subkeySize = sizeof(subkeyName); } RegCloseKey(hKey); return 0; }