98 lines
3.1 KiB
C
98 lines
3.1 KiB
C
#ifndef CHALLENGESLIB_H
|
|
#define CHALLENGESLIB_H
|
|
|
|
#include "challenges.h"
|
|
|
|
#define MAX_CHALLENGES 12
|
|
|
|
challenge_t challenges[] = {
|
|
{
|
|
"Bienvenidos al TP3 y felicitaciones, ya resolvieron el primer acertijo.\n\n"
|
|
"En este TP deberán finalizar el juego que ya comenzaron resolviendo los desafíos "
|
|
"de cada nivel.\nAdemás tendrán que investigar otras preguntas para responder "
|
|
"durante la defensa.\nEl desafío final consiste en crear un programa que se "
|
|
"comporte igual que yo, es decir, que provea los mismos desafíos y que sea necesario "
|
|
"hacer lo mismo para resolverlos. No basta con esperar la respuesta.\nAdemás, "
|
|
"deberán implementar otro programa para comunicarse conmigo.\n\nDeberán estar atentos "
|
|
"a los easter eggs.\n\nPara verificar que sus respuestas tienen el formato correcto "
|
|
"respondan a este desafío con la palabra 'entendido\\n'",
|
|
"¿Cómo descubrieron el protocolo, la dirección y el puerto para conectarse?",
|
|
"entendido\n",
|
|
NULL
|
|
},
|
|
{
|
|
"The Wire S1E5\n5295 888 6288",
|
|
"¿Qué diferencias hay entre TCP y UDP y en qué casos conviene usar cada uno?",
|
|
"itba\n",
|
|
NULL
|
|
},
|
|
{
|
|
"https://ibb.co/tc0Hb6w",
|
|
"¿El puerto que usaron para conectarse al server es el mismo que usan para mandar las "
|
|
"respuestas? ¿Por qué?",
|
|
"M4GFKZ289aku\n",
|
|
NULL
|
|
},
|
|
{
|
|
"EBADF...",
|
|
"¿Qué útil abstracción es utilizada para comunicarse con sockets? ¿se puede utilizar "
|
|
"read(2) y write(2) para operar?",
|
|
"fk3wfLCm3QvS\n",
|
|
writeChallenge
|
|
},
|
|
{
|
|
"respuesta = strings:250",
|
|
"¿Cómo garantiza TCP que los paquetes llegan en orden y no se pierden?",
|
|
"too_easy\n",
|
|
NULL
|
|
},
|
|
{
|
|
".data .bss .comment ? .shstrtab .symtab .strtab",
|
|
"Un servidor suele crear un nuevo proceso o thread para atender las conexiones "
|
|
"entrantes. ¿Qué conviene más?",
|
|
".RUN_ME\n",
|
|
NULL
|
|
},
|
|
{
|
|
"Filter error",
|
|
"¿Cómo se puede implementar un servidor que atienda muchas conexiones sin usar "
|
|
"procesos ni threads?",
|
|
"K5n2UFfpFMUN\n",
|
|
filterChallenge
|
|
},
|
|
{
|
|
"¿?",
|
|
"¿Qué aplicaciones se pueden utilizar para ver el tráfico por la red?",
|
|
"BUmyYq5XxXGt\n",
|
|
questionChallenge
|
|
},
|
|
{
|
|
"Latexme\n\nSi\n \\mathrm{d}y = u^v{\\cdot}(v'{\\cdot}\\ln{(u)}+v{\\cdot}\\frac{u'}{u})\n"
|
|
"entonces\ny = ",
|
|
"sockets es un mecanismo de IPC. ¿Qué es más eficiente entre sockets y pipes?",
|
|
"u^v\n",
|
|
NULL
|
|
},
|
|
{
|
|
"quine",
|
|
"¿Cuáles son las características del protocolo SCTP?",
|
|
"chin_chu_lan_cha\n",
|
|
quineChallenge
|
|
},
|
|
{
|
|
"b gdbme y encontrá el valor mágico",
|
|
"¿Qué es un RFC?",
|
|
"gdb_rules\n",
|
|
gdbChallenge
|
|
},
|
|
{
|
|
"Me conoces",
|
|
"¿Fue divertido?",
|
|
"normal\n",
|
|
normalChallenge
|
|
}
|
|
};
|
|
|
|
char too_easy = 'a';
|
|
|
|
#endif |