Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <WinSock2.h>
- #pragma comment(lib, "Ws2_32.lib")
- using namespace std;
- #ifdef hint
- //0x57.0xfa.0xfa.0x7c - 87.250.250.124 - imap.yandex.ru
- //0xd9.0x45.0x8a.0x48 - 217.69.138.72 - imap.mail.ru
- //0x5e.0x64.0xb8.0x4b - 94.100.184.75 - pop.mail.ru
- //0x6e - 110; 0x8f - 143
- #endif
- struct Header
- {
- public:
- SOCKET sock;
- WSAData data;
- SOCKADDR_IN client, service;
- int result, tmp;
- char buffer[0x1000];
- char *ip;
- unsigned int port;
- Header(void)
- {
- ip = "0x5e.0x64.0xb8.0x4b";
- port = 0x6e;
- };
- };
- struct Inet
- {
- public:
- int InitWSA(WSAData *data, int *result)
- {
- *result = WSAStartup(0x202, data);
- cout << (*data).szDescription << " " << (*data).szSystemStatus << endl;
- return (*result);
- };
- void InitSockaddr_in(SOCKADDR_IN *addr, char *ip, unsigned int *port)
- {
- (*addr).sin_addr.s_addr = inet_addr(ip);
- (*addr).sin_family = AF_INET;
- (*addr).sin_port = htons((*port));
- };
- void HandleResponse(char *response)
- {
- int i = 0;
- do
- {
- cout << response[i];
- i++;
- } while((int)response[i] != -52);
- for(i = 0; i < strlen(response); i++) response[i] = (char)-52;
- };
- int SendData(SOCKET *sock, char *cmd)
- {
- return send((*sock), cmd, strlen(cmd), 0);
- };
- void GetResponse(SOCKET *sock, char *buffer)
- {
- Sleep(500);
- int result = recv((*sock), buffer, strlen(buffer), 0);
- HandleResponse(buffer);
- };
- };
- void main(void)
- {
- Header *head = new Header();
- Inet *object = new Inet();
- object->InitWSA(&head->data, &head->result);
- object->InitSockaddr_in(&head->service, head->ip, &head->port);
- head->sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
- head->result = connect(head->sock, (sockaddr*)&head->service, sizeof(head->service));
- object->GetResponse(&head->sock, head->buffer);
- object->SendData(&head->sock, "user mylogin\r\n");
- object->GetResponse(&head->sock, head->buffer);
- object->SendData(&head->sock, "pass mypass\r\n");
- object->GetResponse(&head->sock, head->buffer);
- object->SendData(&head->sock, "stat\r\n");
- object->GetResponse(&head->sock, head->buffer);
- object->SendData(&head->sock, "retr 110\r\n");
- object->GetResponse(&head->sock, head->buffer);
- delete object;
- delete head;
- system("pause");
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement