Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Thiz is a fucking lame pop3download
- * used to dl mailspool from ur own account,or eventually from hacked acct.
- * Pleaze abuse it.
- * Thanks.
- *
- * Author: roy,kreep
- */
- #include <stdio.h>
- #include <string.h>
- #include <sys/socket.h>
- #include <sys/types.h>
- #include <netinet/in.h>
- #include <netdb.h>
- #include <unistd.h>
- #include <errno.h>
- #define filez "./hackedmail"
- #define MAX 4096
- #define ERR_PREFIX "-ERR"
- #define OK_PREFIX "+OK"
- #define POP_LIST_COMMAND "LIST\n"
- #define POP_END_STRING "\xD\xA.\xD\xA"
- #define TRUE 1
- #define FALSE 0
- #define UNDEFINED 2
- ssize_t Write(int fd, const void *buf, size_t count);
- ssize_t Read(int fd, void *buf, size_t count);
- int is_msg_end(char *buf)
- {
- char *p;
- int found;
- p = buf + strlen(buf) - strlen(POP_END_STRING);
- found = 0;
- while (p != buf && !isalpha(*p)) {
- if (strncmp(p,POP_END_STRING,strlen(POP_END_STRING))==0) {
- found = 1;
- break;
- }
- p--;
- }
- if (found == 1) return TRUE;
- else return FALSE;
- }
- int popretr(int trans,int number){
- char retstring[4096];
- int dick;
- char tiamo[4096];
- int alimit;
- /* send retr */
- bzero(tiamo,sizeof(tiamo));
- sprintf(retstring,"retr %d\n",number);
- dick = Write(trans,retstring,strlen(retstring));
- bzero(retstring,sizeof(retstring));
- /* read message */
- dick = read(trans,tiamo,sizeof(tiamo));
- tiamo[dick] = '\0';
- Write(1,tiamo,dick);
- while (is_msg_end(tiamo) != TRUE) {
- bzero(tiamo,sizeof(tiamo));
- dick= read(trans,tiamo,sizeof(tiamo));
- tiamo[dick] = '\0';
- Write(1,tiamo,dick);
- }
- printf("hello spank spank\n");
- alimit = number;
- return(0);
- }int datashow(int trans){
- FILE *hax0r;
- int blah;
- char tempbuf[313376];
- bzero(tempbuf,sizeof(tempbuf));
- blah = read(trans,tempbuf,sizeof(tempbuf));
- if (blah < 0) perror("read");
- Write(1,tempbuf,blah);
- bzero(tempbuf,sizeof(tempbuf));
- return(blah);
- }
- int con(char * ip,unsigned short port ){
- int sck;
- int get;
- struct hostent * he;
- struct sockaddr_in dest;
- if ( (sck = socket(PF_INET,SOCK_STREAM, IPPROTO_TCP)) < 0){
- perror("socket");
- }
- dest.sin_family = PF_INET;
- dest.sin_port = htons(port);
- memset(&(dest.sin_zero),'\0',8);
- /* resolve address */
- he = gethostbyname(ip);
- if (he==NULL) {
- if (errno!= 0)
- perror("gethostbyname");
- else {
- if (h_errno == HOST_NOT_FOUND)
- fprintf(stderr,"Host not found: %s\n",ip);
- fprintf(stderr,"gethostbyname(%s) failed.",ip);
- }
- return -1;
- }
- memcpy(&dest.sin_addr, he->h_addr, he->h_length);
- if( (get= connect(sck,(struct sockaddr *)&dest,sizeof(dest))) < 0){
- printf("Port seems to be closed, fuck u admin \n");
- perror("connect");
- }
- return(sck);
- }
- void usage(char *argv0)
- {
- printf("[x]Author: roy [x]\n");
- printf("[x]%s IP port user pass[x]\n",argv0);
- printf("[x]crimelords[x]\n");
- }
- int main(int argc,char **argv)
- {
- int limit,ehe;
- char *username=argv[3];
- char *password=argv[4];
- char magicstring[4096];
- char bufu[4096];
- char bufp[4096];
- int ricevi,sent;
- int sock = socket(PF_INET,SOCK_STREAM, IPPROTO_TCP);;
- u_long addr;
- int port;
- /* Check Args */
- if (argc != 5){
- usage(argv[0]);
- return -1;
- }
- return downloadmail(argv[1],atoi(argv[2]),argv[3],argv[4]);
- }
- int goodresponse(char *buf)
- {
- char buf2[10];
- char *p;
- bzero(buf2,sizeof(buf2));
- strncpy(buf2,buf,4); //enough to get -ERR or +OK
- buf2[4] = '\0';
- //strip garbage
- p = buf2+3;
- while (p != buf2) {
- if (!isalpha(*p) && !isdigit(*p) && !ispunct(*p)) *p = '\0';
- p--;
- }
- if (strcmp(buf2, ERR_PREFIX) == 0) return FALSE;
- else if (strcmp(buf2,OK_PREFIX) == 0) return TRUE;
- return UNDEFINED;
- }
- int popauth(int sock, char *user, char *pass)
- {
- char bufu[MAX],bufp[MAX], buf[MAX];
- int ret;
- /* check args before doing anything else */
- if (strlen(user) >= sizeof(bufu) ||
- strlen(pass) >= sizeof(bufp)) {
- fprintf(stderr, "username or password too long dumbass\n");
- return -1;
- }
- /* auth */
- sprintf(bufu,"USER %s\n",user);
- sprintf(bufp,"PASS %s\n",pass);
- printf("We are connecting to host using this %s",bufu);
- Write(sock,bufu,strlen(bufu)); //send username
- datashow(sock);
- Write(sock,bufp,strlen(bufp)); //send password
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement