Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - 0x46-F

#1
Estoy analizando malware con Ida PRO pero muchos de los samples que tengo los he conseguido a traves del repositorio TheZoo en github, estos ya están desempaquetados y listos para analizar, la cuestion es que he encontrado algunas websites donde te dan el hash del malware en virus total pero yo no se como descargar esto. ¿Alguien podría echarme una mano?
#2
Falta mandar un PONG  para que la conexion no se quede en time out y muchas cosas que cambiar, por ejemplo añadir un procedimiento para floodear tanto el protocolo UDP como TCP y convertirlo en una botnet cifrando tando el usuario, host y el canal....El código no es limpio y tiene cosas innecesarias pero bueno.

#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <windows.h>

#define PORT "6665"

struct info{
char *host;
char *channel;
char *user;
}Ainfo;

int connect_irc(char *host){
   struct addrinfo *result,*copy;
   struct addrinfo hints;
   int sock,getadd;


       memset(&hints, 0, sizeof(hints));
       hints.ai_family = AF_UNSPEC;
       hints.ai_socktype = SOCK_STREAM;
       hints.ai_flags = 0;


       getadd=getaddrinfo(host,PORT,(struct addrinfo *)&hints,&result);
       if(getadd!=0){
       perror("\n");
       exit(0);
       }
       
       
       sock = socket(result->ai_family,result->ai_socktype,result->ai_protocol);
       if (connect(sock, result->ai_addr, result->ai_addrlen) != 0)
       {
       perror("\n");
       exit(0);
       }
       return sock;
}

char *read_info(int sockd,char *pointer){

size_t length = 0;
char info = 0;

while(pointer[length-1]!='\n')
{
   
   int data = recv(sockd, &info, 1, 0);
   pointer[length]=info;
   length++;
   
   
}
return pointer;


}

void set_nick(int sock, char nick[]) {// </editor-fold>

   char nick_packet[512];
   sprintf(nick_packet, "NICK %s\r\n", nick);
   send(sock, nick_packet, strlen(nick_packet), 0);
}

void send_user_packet(int sock, char nick[]){
   char user_packet[512];
   sprintf(user_packet, "USER %s 0 * :%s\r\n", nick, nick);
   send(sock, user_packet, strlen(user_packet), 0);
}

void join_channel(int sock, char channel[]){
   char join_packet[512];
   sprintf(join_packet, "JOIN %s\r\n", channel);
   send(sock, join_packet, strlen(join_packet), 0);
}
void send_pong(int sock, char argument[]){
   char pong_packet[512];
   sprintf(pong_packet, "PONG :%s\r\n", argument);
   send(sock, pong_packet, strlen(pong_packet), 0);
}



int main(int argc, char *argv[])
{
   printf("Atbot IRC bot");
    Ainfo.user=argv[1];
    Ainfo.host=argv[2];
    Ainfo.channel=argv[3];
       int sock_result = connect_irc(Ainfo.host);
       set_nick(sock_result,Ainfo.user);
       send_user_packet(sock_result,Ainfo.user);
       join_channel(sock_result,Ainfo.channel);
       while(1){
           char data[1024];
           char *array = read_info(sock_result,data);
           printf("%s",array);
           
       }
               
   return 0;
}


#3
No entiendo por que al compilar mi programa crashea y eso que he intentado de todo pero no he conseguido solucionarlo.

#include <stdio.h>

typedef struct _hexagon {
    int *vertice;
    int *path;
    int resourceType;
} hexagon;


typedef struct _game {
    hexagon *hexagons;
} Game;

int main()
{
    int i1 = 1;
    int i2 = 2;
    int i3 = 3;
    int i4 = 4;
    int i5 = 5;
    int i6 = 6;

    Game g;
    g.hexagons->vertice = &i1;


    printf("%d \n", g.hexagons->vertice);


    return 0;
}