Pour Krokador :"Erreur fatale c1010 fin de fichier innatendue lors de la recherche d'une directive d'en-tête précompilée" veut simplement dire qu'il manque un #include <en-têteprécompilé> au début du source. Par défaut, VS.NET est configuré pour exiger un tel en-tête, dont le nom est en général stdafx.h.
Deux solutions pour résoudre le problème :
1) Solution bourrine : ajouter une ligne #include <stdafx.h> au début du code
2) Solution plus intelligente : modifier les paramètres de compilation, rubrique C/C++, En-têtes précompilés, choisir "Sans utiliser les en-têtes précompilés" dans la première ligne.
Pour Aramil :1) Ce programme, comme indiqué dans le commentaire tout en haut, fait un "DoS", i.e. un Denial of Service, c'est-à-dire une
attaque réseau, un piratage. Il utilise pour cela un exploit (cf. 2e paragraphe du commentaire), c'est-à-dire une faille de Windows, pour pénétrer (illégalement) dans un système cible.
J'ose supposer que celui qui a posté ce code source devait bien avoir une idée de son utilité
2) Le code est prévu pour Unix/Linux. Preuve : la moitié des #include sont spécifiques Unix (unistd.h, sys/socket, etc.). La fonction srandom() est elle aussi spécifique Unix/Linux.
3) Bref, bon courage pour compiler ça sous Windows sans changer plein de code. À la rigueur sous Cygwin, la chose peut éventuellement passer.
4) Même si on arrivait à le compiler, le code ne fonctionnerait certainement pas sous Windows, car les RAW-stockets, qui permettent de se créer des paquets réseau sur mesures, sont volontairement bridés. Or ce programme en utilise, comme une majorité de programmes de piratage réseau : cf. la ligne qui contient : "socket(AF_INET,SOCK_RAW,IPPROTO_UDP)".
5) La structure du code est assez triviale :
a] Lire les paramètres de ligne de commande
b] Choisir la méthode d'attaque
c] Envoyer un paquet réseau volontairement bidouillé
Le boulot est fait dans les fonctions nbt_nospoof et nbt_spoof, les autres fonctions ne sont que des utilitaires.
Toute la difficulté du programme se cache dans le contenu du fameux paquet réseau malformé, dont le code est écrit après la ligne "static char payload[]" (comme l'indique le commentaire d'ailleurs : "malformed SMB data").
Il faut savoir que tous les programmes de piratage se ressemblent, seul le contenu des paquets réseau malformés change (i.e. les quelques lignes remplies de chiffres au début du programme).
Je ne me permettrai pas de commenter longuement l'apparition d'un tel code source entre les mains d'un zanarkandien, sachez juste que :
1) la chose me fait moyennement rire...
2) si la personne qui a reçu ce code source est incapable de voir qu'on ne peut pas le compiler sous Windows alors que ça crève les yeux pour quelqu'un qui connaît un minimum, c'est qu'elle n'a pas le niveau pour s'en servir.