Hack x Crack - Comunidad de Seguridad informática

Programación => C / C++ => Mensaje iniciado por: stakewinner00 en Noviembre 02, 2014, 02:08:13 am

Título: [C++] Bot IRC
Publicado por: stakewinner00 en Noviembre 02, 2014, 02:08:13 am
Dejo el code que estuvimos programando el proyecto del irc bot pero que al acabar las vacaciones toda la gente desapareció así que decidí colgarlo para que alguien pueda aprovechar lo poco que hay. El code no esta del todo bonito pero funciona. Se va actualizando poco a poco

El bot usa la librería boost asio y algorithm como dependencias, a parte de esto no hay más. La anterior versión era multiplataforma, ahora le añadí librerías dinámicas usando la librería dlfnc.h de linux y ya no es multiplataforma.

La idea del bot era hacer un bot IRC que fuera muy rápido y consumiera en la medida de lo posible pocos recursos además de hacer un código simple para que cualquiera pueda modificarlo sin muchas complicaciones.

Para la programación de los módulos hay 2 funciones, la primera llamada privmsg_chan(string); que envía un mensaje en string a la tercera posición de la línea leída (que suele ser un canal o nick). Por ejemplo
Citar
:[email protected] PRIVMSG #tests :hola
metería "[email protected]" en la posición 0, PRIVMSG en la 1 y el canal/usuario (si mandas un mp) en la 2 y el mensaje en la 3.
Luego hay la función write(string); que manda un string al server tal cual.

Hay una función read (cambiare el nombre de estas dos funciones) pero esta se encarga de leer y parsear lo que le llega y lo mete en el vector vector<string> _vDatos; el cual contiene los datos. Luego hay otra variable llamada string nick; que contiene el nick de la persona que mando el último mensaje.

Los ficheros essenciales del bot son 4.
El primero es Queralt.h que tiene las definiciones, luego Queralt.cpp que contiene el code, config.h que contiene los parámetros que se cargarán del archivo de configuración Queralt.conf que tiene un formato al estilo
Citar
nick=Queralt
server=irc.ircnode.tk
port=6667
channel=#hackxcrack,#otrocanal
password=
prefix=.
owner=stakewinner00

Para compilar basta con correr dos script que hay en el directorio, el ./make.sh que compila lo que es el bot en si y el make_modules que compila las librerías dinámicas en ese directorio (aún esta en fase beta)

Aquí dejo todo el code (o casi :D): http://a.pomf.se/svruurpopo.zip

A parte de mejorar el estilo del code falta implementar SSL y implementar correctamente el protocolo IRC para manejar distintos tipos de error que puedan ocurrir

A partir de aquí si alguien quiere hacer algo con el code o quiere ayudar al proyecto, sugerir algo pues adelante

Saludos
Título: Re:[C++] Bot IRC
Publicado por: Krakakanok en Noviembre 03, 2014, 11:47:47 am
Stakewinner00 thanks por el code, ya adaptare alguna cosa para mi Anna.

Saludos.