HACKER 2020
ISSUE N°2
<Disclaimer>
1- N.D.A.
2- Introduction
3- Les trucs utiles
4- Programmation en C (petit cours tiré de Back-Side)
5- Piratage d'un site
 

DISCLAIMER: Toutes les informations contenues dans ce fanzine n'y sont qu'à titre purement informatif! Il vous est déconseillé de les appliquer, sous risques d'amendes et de poursuites judiciaires. Moi ou mon serveur (actuellement Multimania), ne seraient être tenus responsables de ce que vous ferez de ces informations!
 

<<<1- N.D.A.>>>
   Pour ceux qui ont déjà lu mon premier fanzine, vous pourrez remarquer un changement de style, l'apparition de liens etc... Vous pourrez me dire que je peux toujours mettre des liens dans mon premier fanzine. Mais non... Je n'ai pas trop envie d'y faire des retouches (nan, nan! Ce n'est pas de la fénéantise!). Sinon, je conseille aux autres d'aller le lire!
   Je tiens quand même à signaler que je fais pas partie de l'élite (c.f. issue 1 ), et que j'exposerais ici: d'une part: mes connaissances dans ce domaine, d'autre part les connaisssances des autres. Ca veut dire quoi les connaissances des autres!? Ca vaut tout simplement dire que certaines de ces infos sont tous simplements, tirés d'autres fanzines, E-mags etc... Mais il n'y a que comme ça qu'on progresse, non? (comment ça "NON"?).
 
<<<2-  Introduction>>>
 
   Je ne vais pas réexpliquer ce que c'est qu'un hacker, un cracker etc... Car vous pouvez le savoir en lisant le premier N° de Hacker 2020. Mais je vais éclairer votre lanterne en vous expliquant, quels conséquences peut avoir le hacking sur le monde informatique, et quels but ont les hackers!
   Prenons un exemple: vous avez piraté un site quelconque, pris quelques infos modifié une page HTML en mettant des images pornos à la place, etc... En général le résultat ne se fait pas attendre: mise à jour du site, modifications et autres... Mais le créateur de ce site sait très bien par ou vous êtes entré si il fait une recherche plus appronfondie! Vous pouvez être certain que si tel est le cas, au bout de deux jours, le chemin que vous avez emprunté pour rentrer sur le site sera inaccessible. Mais si vous hacker un site plus important, tels les providers ou les sites de l'état... Il y aura un soulèvement au niveax des Webmasters. Ils trouveront la faille. De plus vous risquez d'être tracé! donc selon la gravité de la faute vous pourrez rester peinard sur votre chaise, ou vous retrouvez dans la même cellule que K.Mitnick (façon de parler!). Maintenant à la création d'un nouveau virus, ou d'un nouveau trojan (comme cela a été le cas pour Back Orifice!), celui-ci sera mis a votre disposition sur le net! Au départ aucun anti-virus ne pourra le détecter! Ensuite des ant-virus et autres no-trojans auronts pour but de l'arrêter, enfin, si il est dangereux, ils sera déclaré comme illicite... Petit à petit les gens seront obligés de s'immuniser, encore et toujours contre une menace invisible, donc incontrôlable... certains sont de vrais paranos du net! Je ne dis pas qu'il ne faut pas s'immuniser! Mais éviter de tomber dans une paranoïa! Bien que ces protections soit néfastes pour les hackers, elles sont bien entendu bénéfiques pour les entreprises et particuliers... La création de virus et de trojans créé une immunité générale! Si le monde d'internet reste passif et ignorant à cet menace, le jour ou y'aura un gros trojan, vous s'rez pas dans la merde! Vous êtes en quelques sorte protégé pour l'avenir! Comme une maladie dont on trouve par la suite le remède! Que penser donc...?
   Quel but ont les hackers (en général!)... Il faut d'abord savoir que certains se prétendent hackers, car ils savent juste nuker, d'autres se disent hacker alors que ils ne sont que des crashers, etc... Le hacker pour une grande partie des hackers, hacke surtout par simple plaisir, et par renfrognement à se trouver face à une protection qui semblerait infranchissable. Par défi aussi. Si on regroupe les 3 ensembles on pourrait dire que c'est le plaisir d'affronter un défi, qui est celui de passer une protection... Les hackers trouvent ça assez grisant! Ils tiennent aussi à prouver par leurs explois, que rien n'est infaillible! Qu'à chaque nouveau programme, il y a une faille! Que chaque nouveau système d'exploitation a une faille... Que TOUT a une faille (rien n'est infaillible, si vous préférez). Certains (minorité) essayeront de faire progresser les débutants dans ce domaine (en écrivant des E-mags, par l'envoi de mails, par icq etc...). Certains essayent aussi de casser les préjugés que certains hackers ont sur d'autres! Je prends l'exemple d'un mec du nom de Mx (raccourci pour garder en toute intégralité son anonymat). Je l'ai intercepté par icq, en ayant son UIN grâce à un de mes contacts (il est important d'avoir des contacts). Donc j'ai fais 3 requêtes de chat, ensuite je suis venu il m'a presque "ejecté"... J'ai essayé de lui parler, mais c'est une vraie tête d'âne! J'ai eut le droit a tous les compliments: lamer, débutant, t'es louche, je te fais pas confiance, qui tu es pour m'aborder comme ça??? Ce mec là devait avoir des préjugés du tonnerre de dieu! J'ai bien essayé de lui montrer qu'il ne devait pas se méfier de tout le monde, mais j'en suis toujours au même stade avec lui... Bon, d'accord ce n'est qu'un exemple et y'en a d'autres. Ah oui! Dernier point pour clore cette introduction: un hacker a pour habitude de ne pas faire chier les gens, sauf nécessité, avec ses techniques de hack et ses programmes! Donc si un jour un mec se ramène vous menaçant de tout et n'importe quoi, et en prétendant être hacker, ne vous y trompez pas: ce n'est point un hacker, mais un emmerdeur! pigé?
 
<<<3- Les trucs utiles>>>
- Accéder aux comptes ftp d'un site: je vous explique uniquement comment accéder au ftp: je ne vous dis ni comment avoir les passwords, ni les noms d'utilisateurs! On verra ça après...
Aller sous DOS puis écrire (les ">" ne sont pas à écrire!):
> ftp
> open
> www.nomdusite.com
ENTREE
Et voilà le tour est joué! L'exemple en images, avec Mygale:


On peut faire ça avec l'adresse IP d'un site? Je réponds oui! La commande est la même mais à la place du www.nomdusite.com vous mettez son adresse IP, démonstration en images sur le site de zymark:

Là, l'accès a été réussi, mais c'est un accès autorisé: il est prévus à cet effet! Je vous expliquerais après comment faire.

- L'adresse de l'U.S Navy par telnet: pirater la marine américaine par telnet! AAARRRRFFF! Ca vous tente? Vous avez telnet? Alors voici son adresse: navobs1.usnogps.navy.mil
Faites gaffe! Un de mes potes a essayé avec la NASA! Ca a pas tardé! Vous êtes tracés! Mon pauvre copain a reçu un mail de menace comme quoi il ne devait plus se reconnecter à la NASA par telnet!

- Tracer un site ou un particulier: Tracer un site ou un particulier, est une chose assez utile parfois, il faut l'avouer! Je vous expliquerais après dans, piratage d'un site comment l'utiliser à son maximum de possibilités! 'abord pour tracer il faut aller sous DOS, puis écrire (les ">" ne sont pas à écrire!):
> tracert 123.123.123.123
ENTREE
123.123.123.123 n'est qu'un exemple: vous pouvez savoir comment avoir l'IP d'un particulier dans l'issue 1 de HACKER2020, et vous aurez le traçage de sa bécane, par ou passe le signal!
Et pour les sites? Prenons l'exemple de Mygale:
faites (toujours sous Dos et les ">" ne devant pas être écrit):
> tracert www.mygale.org
ENTREE
Et voilà le résultat en image:

La première ligne (avant la liste) donne, le nom du serveur et son IP entre crochets (utile pour avoir l'IP du serveur).
La 1ere ligne de la liste, donne l'adresse IP d'ou part le signal, les autres lignes les rooteurs ou serveurs intermédiaires, et la dernière ligne la cible atteinte, donc fin du traçage!
Pour obtenir d'autres utilisations du tracert faites (toujours sous Dos et les ">" ne devant pas être écrit):
> tracert
ENTREE
Et vous aurez une série d'infos à faire sur le tracert.

 - Pinger sous DOS: Pinger sert à savoir, si oui ou non, la cible à pinger existe et si la connexion est de bonne qualité et pas trop lente. Pour pinger faites (toujours sous Dos et les ">" ne devant pas être écrit):
> ping 123.123.123.123
ENTREE

Pour connaitre d'autres fonctions du ping faites (toujours sous Dos et les ">" ne devant pas être écrit):
> ping
ENTREE
Et une série d'infos sur le ping vous sera données.
En générant un flood de ping vous pouvez faire ralentir la vitesse de connection de la cible, voir même la déconnecter!

- Un outil très utile: WS_PINGPR: Essayez de le trouver sur le net et de le télécharger (sa taille en zip est de: 69ko). Malgré sa petite taille, ce pinger, tracer, et autres.... peut vous être très très utile! Je m'explique: Supposons que vous cherchiez à avoir les N° de tel des mec de Multimania, avec leurs e-mails, les infos sur Multimania etc... a première vue, celà parait impossible si on ne vous les donne pas! Faux. Ce petit engin vous le garantit! Une petite image pour mieux comprendre et je vous explique:
 

Donc ici, vous avez les infos sur Multimania: nom des contacts, adresse IP du site, date de la création, etc... Vous remarquez que vous avez des noms, leurs tels et leurs adresses e-mails.
Vous pouvez aussi tracer, pinger etc... Si vous essayez sur un particulier vous obtiendrez uniquement son adresse IP et son adresse TCP. Cet outil est très utile dans le domaine du hacking.

- Internet , Structure : Internet est avant tout un ensemble de reseaux interconnectes par divers moyens : cartes reseaux, fibres optiques, sattelites ... Tel que l'utilisateur le voit, il ne saura jamais comment sont connectees ces differentes machines: en effet, afin d'etablir une compatibilite,un protocole de haut niveau a ete etablis: le TCP/IP (Transfert Control Protocol/ Internet Protocol).Il recouvre de nombreux protocoles non visibles par l'utilisateur:chaque machine possede une adresse IP,soit fixe, soit variable selon la connexion; ainsi un serveur Web aura toujours une IP fixe puisqu'il doit etre consultable en permanence et que celui qui consulte ne doit pas avoir a retrouver l'adresse a chaque fois.Les http (les adresses de la forme www.truc.com, www.machine.org...) correspondent en fait a des adresses IP;elles n'ont ete creees que dans un but de simplification:il est plus simple de retenir www.zymark.com que 198.199.168.4 pour le site de la societe Zymark. Ainsi lorsque vous tapez une http dans un logiciel internet quelconque,lors de la consultation d'un site,celle-ci sera convertie enune IP par un serveur; ce sont les tables de routage qui referencent les correspondances http/IP. Les IP variables sont en fait utilisees par les connectes ponctuels a Internet comme vous ou moi.Ainsi a chaque connexion a Internet,votre provider vous delivre une IP au "hasard". Une IP est en fait un champ de 32 bits: les 8 premiers determinent la classe du reseau et l'identifient,les 24 suivants identifient des sous-reseaux et des machines.

bk1.jpg (10902 octets)

 

Ces 32 bits sont, pour l'utilisateur courrant,repartis en 4 champs de 8 bits separes par des points donc une adresse IP pourrait varier de 0.0.0.0 a 255.255.255.255. Toutes ces IP ne servent pas, et certaines ont des significations particulieres. Ainsi l'adresse 127.0.01 est en fait l'adresse de la machine elle-meme. Exemple:Si votre IP est 152.148..68.32,vous pourrez identifier votre machine par 152.148.68.32 mais aussi par 127.0.0.1 pour vous connecter sur vous-meme. Cependant, si quelqu'un d'autre se connecte sur le 127.0.0.1, il se connectera sur sa propre machine.S'il se connecte sur le 152.148.68.32, il se connectera sur votre machine
TCP/IP est un protocole de haut niveau dans la mesure ou il recouvre plusieurs autres protocoles .

bk2.jpg (13403 octets)

Votre connexion passera en fait par plusieurs machines qui regulent et dirigent les informations entre les reseaux meme si vous ne voyez pas ces machines. Si en passant entre tous ces reseaux, vos informations aura probablement ete transferees sous differents protocoles et sur differents types de reseaux physiques, mais pour vus, tout est reste transparent comme si un fil etait tendu entre la machine distante et la votre. Bref aperçu sur les classes de reseaux: Les classes de reseaux ont en fait ete definies lors de l'augmentation prodigieuse du nombre de machine connectees a Internet de maniere quasi permanente.voici les différentes classes:Classe :
Domaine d'IP Spécificités :
A 0.0.0.0 / 127.255.255.255 1 bit d'identification de classe 
7 bits d'identification du reseau 
24 bits d'identification de la machine
B 128.0.0.0 / 191.255.255.255 2 bits d'identification de classe 
14 bits d'identification du reseau 
16 bits d'identification de la machine
C 192.0.0.0 / 207.255.255.255 3 bits d'identification de la classe 
21 bits d'identification du reseau 
8 bits d'identification de la machine
D/E 208.0.0.0 / 255.255.255.255 Reservees a des applications particulieres 
et ulterieures en vu de l'accroissement 
du reseau Internet.
 (texte tiré de Back-Side issue1).

 - Exploiter un sytème: L'exploitation du systeme est ce qui devient réellement interessant: en penetrant un systeme, vous ne serez probablement pas root du premier coup ... Essayez quand meme de choper le fichier /etc/passwd (par les ftp d'un site avec le navigateur. C.f.: issue1) si vous ne l'avez pas ... Puis regardez de quel systeme d'exploitation il s'agit. En effet, de nombreux systemes possèdent des bugs qui sont exploitables.C'est a dire qu'une série de commandes mal configurées sur le systeme peuvent vous donner l'accès root apres leur execution: cela va des scripts aux programmes. Cette serie de commandes s'appelle un exploit;vous en trouverez plein sur le Net avec ftpsearch . Essayez d'abord ces commandes . Il est nécessaire a ce niveau de connaitre la programmation en C et sous les shells. Le shell est l'interpreteur de commandes: cela correspond au Dos; vous savez probablement que l'ont peut programmer des fichier batch avec un langage restreint sous Dos.. C'est pareil sous Unix ... Je ne m'étendrais pas plus sur les exploits cette fois-ci ... essayez deja un peu tout ce qui a été expliqué ici ...
 

<<<<<4- Programmation en C>>>>>
Tiré de Back-Side
Avant de programmer,il est necessaie de comprendre ce qu'est un algorythme.En bref, c'est un ensemble d'instructions ou d'opérationjs qui conduisent à un résultat donné. Au fil des No de Back-SiDe, j'essaierais de vous enseigner en partie le C.Pour cela,je vais commencer par la syntaxe generale du C, puis au fur et a mesure ,j'expliquerais les fonctions de chaque librairie,d'abord disponibles sur les compilateurs pour les processeurs de la famille i86 puis celles de Unix.
Le C a la reputation d'etre assez dur et redibitoire,heu, je sais pas trop d'ou elle vient.Je n'ai pas trouve que le C etait un langage plus difficile qu'un autre.Voila c'etait le preambule =).
Alors comment ca marche le C ? Un programme comporte plusieurs parties:une premiere destinee au compilateur, puis apres le programme lui-meme qui se compose d'une fonction principale et eventuellement d'autres fonctions.Je claque tout de suite l'exemple classique:
#include <stdio.h>

void main(void)
{
puts("Desole pour un exemple pourri comme celui-la.");
}

Alors les parties ?
La premiere partie destinee au compilateur contient juste la commande #include <stdio.h>
Ca veut dire quoi ? En fait, en C, la plupart des fonctions de bases sont deja preprogrammees et stockees dans des librairies de fonctions.Cette commande va donc inclure dans votre programme toutes les fonctions deja preprogrammees et stockees dans le fichier stdio.h .stdio.h, bizarre ce nom ...ca correspond a STanDart  Input Ouput.Il comprend la plupart des fonctions d'entree/sortie.  Ensuite, le programme lui-meme: Ici il ne contient qu'une fonction,la fonction principale: main .Tout programme en C contient obligatoirement une fonction main:c'est elle qui sera lancee au demarrage de votre programme. Cette fonction principale ne contient qu'une  fonction: puts qui est definie dans stdio.h . Pour abreger, puts renvoit une chaine de caracteres sur la sortie standard (en l'occurence, l'ecran). Une fonction est un ensemble d'instructions;pour montrer ou commence cette ensemble, on le debute par une accolade ouverte:{ et pour la fermer, une accolade fermee:} Une instruction est en fait une operation simple directement executable par le processeur:une addition,une affectation memoire... Cela explique donc que main soit suivi directement d'une accolade et qu'une autre fermee se trouve juste apres puts. Une fonction peut admettre des parametres. Si vous voulez afficher quelque chose a l'ecran, il faut preciser quoi: les parametres sont donc transmis a la fonction par le biais de parentheses juste apres ,comme dans le cas de puts.
Enfin,une fonction peut renvoyer une information: si vous desirez calculer la racine d'un nombre, la fonction doit pouvoir vous renvoyer la valeur de la racine.

Ainsi, une fonction est definie de la maniere suivante:valeur_renvoyee fonction(parametres). puts est en fait define de cette maniere:
int puts(string);
Important en C sauf cas particulier, une instruction ou une fonction est toujours suivie d'un point-virgule.int correspond a un entier: c'est un type de variable: en effet;lors de la programmation ,la manipulation de parametres s'effectue par le biais de variables. Il existe plusieurs types de variables selon le type de parametres a utiliser :selon que cela sera une chaine de caracteres, un nombre entier de  petite taille ou un reel de grande taille, nous n'utiliserons pas le meme type de variable.
Une variable correspond en fait a un emplacement memoire d'une certaine taille selon la valuer que nous vouons lui attribuer . Il est necessaire en C de declarer vos variables de chaque fonction au debut de celles-ci .Vos variables vont dependre des donnees que vous vooulez stocker a l'interieur.Ainsi, si vous voulez stocker des entiers de petite taille   (compris entre -128 et 127 ),vous choisirez le type char;si votre entier est plus grand (compris entre -32768 et 32767), vous choisirez le type int ... De plus ,une variable peut-etre signee ou pas;cela varie en fait de  l'utilisation que vous comptez en faire.Par defaut, les variables sont signees mais si vous  choisissez qu'elle ne le soit pas,cela changera l'encadrement de votre variable. Par exmple, si vous decidez de declarer une variable non  signee de type char, celle-ci sera alors comprise entre 0 et 255 . Une fois vos variables declarees, il faut encore que vous puissiez les  exploiter: soit les modifier, soit les afficher.
Pour attribuer une valeur a une variable, la sequence est la suivante :
variable=valeur;
De meme, pour attribuer a une variable la valeur d'une autre variable,on utilise la syntaxe suivante:
variable1=variable2;
Vous pouvez ensuite effectuer les differentes operations de base sur vos variables: les multiplier,les additionner ...
variable1=varible2*3; va mettre dans la variable1 le contenu de la variable2 multiplie par 3.
Enfin, pour afficher une variable( eventuellement integree a une chaine de caracteres...), on utilise la fonction printf():
int printf(chaine,parametre);
Supposons que je veuille afficher la chaine Hello,j'utiliserais la sequence suivante:
printf("Hello");
Pour y integrer des variables, on utilise le signe %suivie de type de variable a afficher puis apres la chaine, on met une virgule et la variable en question ce qui donne si la variable est de type int:
printf("Valeur de la variable = %i .",variable);
Les types de variables sont:char (%c),int (%i),float(%f),double (%d),long (%l) quant aux chaines de caracteres, il faut declarer un tableau de variables.
La declaration s'effectue alors ainsi: char chaine[12]; qui va vous emettre un tableau de 12 caracteres... Vous pouvez acceder ensuite a chaque caractere independemment par chaine[i] ou i est le caractere auquel vous desirez acceder Attention,l'indice du premier caractere est 0,celui du second 1 etc... jusqu'a 11 pour l'indice du douzieme caractere.Supposons que notre variable vaille 2035, nous obtenons l'affichage suivant: Valeur de la variable = 2035 . Par ailleurs, il peut etre interessant de mettre en forme l'affichage de nos chaines de caracteres;ceci se fait au moyen de caracteres particuliers precedes de \ inseres directement dans la chaine de caracteres:Par exemple, le n sert a effectuer un saut de ligne et un retour chariot,le a emet un bip sur le haut-parleur,le t marque une tabulation horizontale ...
Regardez donc les exemples fournis avec ce zine:exemple2.c,exemple3.c .Vous aurez remarquez les lignes commencant par /* et finissant par */, ce sont des lignes de commentaires:le compilateur n'en tient pas compte lorsqu'il compile votre programme;cela permet de mieux se retrouver dans un gros listing.
Dans le dernier exemple, nous executons plusieurs fois la meme fonctions ce qui nous contraint a taper de nombreuses fois la meme ligne et augmente de plus la taille de notre programme inutilement. Nous allons donc voir les structures conditionnelles. Si vous avez lu la partie sur les algorythmes,ca ira vite a expliquer:le principe est d'effectuer une operation, d'incrementer une variable et de tester la valeur de cette variable . La structure la plus connue est if(condition) then instructions end. Voici un exemple rapide: supposons que l'on recherhe le premier caractere espace dans une chaine de 8 caracteres:
cela donnerait :

if(chaine[0]= =' ') trouve();
if(chaine[1]= =' ') trouve();
...
if(chaine[6]= =' ') trouve();
if(chaine[7]= =' ') trouve();
pastrouve();
C'est une facon de proceder cependant, la taille du fichier reste importante, et c'est assez astreignant a taper.Voyons une forme plus optimisee: i est ici une variable de type unsigned char.
i=0
processus:
if(char[i]==' ')
trouve();
else pastrouve();
i=i+i;
if(i<=7)
goto processus;
Nous avons ici une instruction de saut : goto processus; elle signifie que lorsqu'elle est executee, le programme continue a la suite de la ligne processus: . Je vais un peu mieux expliquer la structure if(condition). Si vous n'avez qu'une instruction a effectuer dans le cas ou la condition est verifiee, alors la syntaxe est:
if(condition) instruction;
Cependant vous pouvez avoir plus d'une instruction a exectuer si cette condition est verifiee auquel cas, vous devrez utiliser la syntaxe :
if(condition){instruction_1;instruction_2;...instruction_n;}
Mais un autre cas de figure peut se presenter:lorsque selon la condition, vous souhaitez executer differentes instructions.Cela donne:
if(condition) instruction_1;
else instruction;
instructions_suivantes;
Dans ce cas de figure,le programme va tester la condition,si elle est vrai, il va executer l'instruction 1 ,puis les instructions suivantes;si la condition est fausse,il va executer l'instruction 2 puis les instructions suivantes. Dans ce cas, vous pouvez aussi utiliser des accolades pour des suites d'instructions.Ces formes de d'instructions conditionnelles sont les plus basiques qui soient;j'introduirais plus tard d'autres formes plus efficaces au niveau du code...
Nous avons vu comment afficher des variables ou comment les modifier ... mais l'utilisateur doit avoir la possibilite de specifier ses propres valeurs lors des calculs.Pour l'inviter a entrer le contenu d'une variable,on utilise la fonction scanf.Supposons que nous donnions a l'utilisateur la possibilite de multiplier pi par un nombre de son choix,nous allons lui demander d'entrer un entier de type float avec lequel le programme travaillera apres... Cela donnerait:
float valeur;
scanf("%f",&valeur);
printf("Le resultat est %f",(3.14159*valeur));
Le symbole & precedant valeur dans la fonction scanf est important dans la mesure ou &valeur ne concerne pas le contenu de valeur mais l'adresse memoire de la variable valeur.En fait scanf attribue a l'emplacement memoire de valeur une donnee de type float...Il n'y a qu'un cas ou il ne faut pas mettre le &, c'est quand on demande a l'utilisateur de saisir une chaine de caractere:
char chaine[10];
scanf("%s",chaine);
Nous avons vu comment entrer des donnes,les modifier.Je vais tacher d'expliquer un autre mode d'adressage:l'adressage memoire direct par les pointeurs.Nous avons vu que scanf lors de l'entree de donnees les attribuer a un emplacement memoire par le biais du symbole &.Un pointeur correspond en fait a l'adresse memoire d'une variable.On declare un pointeur en meme temps que les donnes mais en rajoutant le signe * devant son nom: int *pointeur; pointeur va alors contenir non pas un entier mais l'adresse d'un entier. Exemple:
int entier; Declaration d'une variable de type int
int *pointeur; Déclaration d'un pointeur sur une donnée de type int
entier = 12; Adressage direct : Entier contient 12
pointeur = &entier ; Attribution à pointeur de l'adresse mémoire de la variable entier
*pointeur = 45 ; Attribution à l'emplacement mémoire référencé par pointeur de la valeur 45 . Comme pointeur contient l'adresse de la variable entier, celle- ci contient donc la valeur 45 .
*pointeur = 45 ; Ces deux expressions sont donc équivalentes .
entier = 45 ;
 On peut donc afficher la valeur de entier soit par
printf("%i",entier);
ou par
printf("%i",*pointeur);

Pour entrer la valeur de entier par scanf, on pourra soit utiliser :
scanf("%i",&entier);
soit
scanf("%i",pointeur);

Il est necessaire de bien maitriser le principe des pointeurs car ils servent dans la gestion des chaines de caracteres. La plupart des fonctions de gestion des chaines de caracteres sont placees dans le fichier stream.h.Une des plus importantes est probablement strcmp() qui compare 2 chaines de caracteres et renvoit un valeur selon les differences On l'utilise de cette maniere:
comp=strcmp(*chaine1,*chaine2);
comp sera nul si les 2 chaines sont egales,positif si la chaine1 est superieur chaine2,negatif si la chaine1 est inferieure a la chaine2.La comparaison s'ffectue caractere par caractere.Pour comparer "albert" et "alfred", la fonction strcmp compare d'abord la premiere lettre de chaque mot puis la seconde ... Ici,la chaine "albert" est inferieure a la chaine "alfred" car "b" est inferieur a "f".Pour 2 chaines de longueurs differentes,par exemple "mais" et "maison", la chaine "mais" est alors inferieure.Enfin,pour une majuscule et une minuscule, c'est toujours la majuscule qui est superieure a la minuscule .Quant aux chiffres,ils sont inferieures au majuscules mais superieurs aux minuscules. Nous avons vu que un programme se composait principalement d'appel a des fonctions deja definies: main() pour la fonction principale ou alors strcmp(), printf(),scanf() ...On ne trouve pas forcement de fonction deja definie pour operation que nous souhaitons effectuer:il faut alors la realiser a partir de ses propres ensembles d'instructions. Cette fonction peut alors renvoyer une valeur, admettre des parametres. Une fonction se definit alors de cette maniere:

<type de valeur renvoyee> fonction(<parametres>)
{
ensemble des instructions...
}
Ainsi si votre fonction doit retourner comme valeur un entier et ne recevoir aucun parametre, vous la definirez comme suit:
int fonction(void)
{
int i;
instructions
return(i);
}
Voici une bonne introduction au C... Je vous laisse potasser ca pour le moment.
 
<<<<<5- Piratage d'un site>>>>>

   Le site que nous prendrons comme exemple sera hacker.com. La première chose à faire, avant de ce mettre à cette tâche ardue, est de vérifier que l'on a le "matériel nécessaire", ce qui revient à dire:
-Telnet
- DOS et les tracert, ping, etc...
- Un crackpass (puissant)
- WS_PINGPR (de préférence)
- Une connaissance sous Linux ou Unix (ou même aucune)
- L'url du site à pirater (ça parait bénin, mais... )
   Pour commencer il faut obtenir le maximum d'infos sur le site et les répertorier sur un carnet ou sur une feuille: elles sont nombreuses.
Avoir l'url du site, son adresse IP et TCP: pour avoir ces infos aller sous dos, taper (les ">" ne devant pas être écrit):
> tracert www.hacker.com
ENTREE
- Vous n'avez pas l'adresse TCP du site, vu qu'il n'en a pas. L'adresse IP est: 209.195.130.87.
- Les infos sur les utilisateurs (grâce à WS_PINGPR):
Administrative Contact, Technical Contact, Zone Contact:Beckett, Jodi  (JB11383)  jodi@NAUTICOM.NET
412-449-4600 (FAX) 412-449-4659

Billing Contact:Beckett, Jodi  (JB11383)  jodi@NAUTICOM.NET
412-449-4600 (FAX) 412-449-4659
- Ensuite essayez (ce n'est pas le cas pour ce site), essayez sur le navigateur: ftp://www.nomdusite.com ou ftp://ftp.nomdusite.com. ensuite vous cherchez la rubrique password, si l'accès aux ftp par ce chemin n'est pas protégé (rare). cette rubrique password vous donnera les logins (pas les pass) pour les utilisateurs, sinon par défaut sortez votre crackpass... mais dans quelles conditions doit dont mettre un nom d'utilisateur et un password, et où? On verra ça un peu après.
- Puis accéder aux autres adresses IP qui sont les plus proches du site. En faisant un tracert, l'adresse juste au dessus du site, vous donne l'adresse du routeur du site (en général, sinon scannez le réseau). Vous prenez son adresse IP ou l'adresse locale (Local Host), vous prenez Telnet et vous rentrez l'adresse IP, port SNMP. Vous voilà connecté au router par telnet. On vous demandera le nom d'utilisateur et son password.

Voilà! ca c'est pour le démarrage! Ensuite... Vous allez sous DOS et vous faîtes (les ">" ne devant pas être écrit):
> ftp
> open
> www.hacker.com
On vous demandera  un nom d'user. Vous pouvez rentrer en anonymous si le serveur le permet, et télécharger les pages, mais ce ne sera pas du hack, je vous dis comment faire:
vous rentrez comme nom d'user: anonymous, ensuite vous tapez n'importe quel password et vous tapez: ls
Donc vous regardez les infos obtenus avec WS_PINGPR et vous avez plusieurs noms qui vous sont donnés: Beckett et Jodi.
Vous essayez les 2 noms d'utilisateurs et vous remarquez que "Jodi" répond! Très bien! vous venez de faire la moitié: vous avez trouvez un nom d'user, il vous faut maintenant le password... Inutile de vous casser la tête! Si la personne est prudente vous n'avez aucune chance de le trouver. Sortez votre meilleur Crackpass et essayez. Par défaut rabattez-vous sur le(s) routeurs par telnet. Bonne chance!

Voilà! Cet  E-mag est bel et bien fini! Je pense en sortir encore d'autres, mais il faudra attendre un peu! Pour tout commentaires vous pouvez écrire à : clad_strife@hotmail.com