------------ ...oooOOO MAGSTRIPES HACKING OOOooo... m0sfet - n0WAy: an HiPANARTC0RE HIP'97 Release ------------ iNTRo ~~~~~ HIP'97. 09/08/97 22:40 Suite a un workshop (DrFonk, JFF, etc...) article a ecrire en une demi heure sur les cartes magnetiques pour n0WAy sPECiAL iSSUe. C'est parti on y va, on va faire ce qu'on peut ! Vite, a la tente (vite vite pere foura, a la vigie, tournons la clepsydre). Comment efficacement copier une carte magnetique ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Ahah ! Bon, tout d'abord, il faut savoir a quel type de carte on a affaire. Generalement, les cartes a une piste (iso 2) sont les plus simples a copier. Ce sont des cartes a "unites" comme par exemple les cartes de photocopieuses. Pour savoir si une carte a 1, 2 ou 3 pistes magnetique encodees, il suffit de mettre un peu de limaille de fer sur la piste magnetique, tapoter la carte afin de virer les plus gros elements metalliques contenus dans la limaille de fer, et le resultat sera consitue de 1, 2 ou 3 bandes (discontinues) de limaille de fer. Sur les tickets de metro de Paris il etait meme possible de voir les "bits" contenus sur le ticket grace a cette methode. 1-Lecture de cartes Soit vous achetez un lecteur (www.magtek.com), soit do-it-yourself. Le principe est assez simple: le signal est issu d'un track (1,2,3), aquis grace a une tete magnetique (de preference de bonne qualite, une tete audio mono etant largement suffisante). Puis ce signal est amene a l'entree d'un ampli op, qui va... l'amplifier :) Puis, le signal va etre decode en 2 signaux principaux: la ligne d'horloge (Ck, pour Clock Line), et la ligne de data. Il est important de comprendre cette notion d'horloge. C'est grace a ce systeme que vous pourrez soit passer la carte comme un bourin, soit beaucoup plus lentement dans le lecteur, et vous aurez les memes data en sortie (bon faut pas pousser meme dans les orties en passant la carte a mach2 dans le pauvre lecteur ISO2 a 100 balles !). Bon, pour les plans, je ne me fatigue pas trop: www.chez.com/mosfet ou (mieux) http://c5.hakker.com/magstripes Connectique ~~~~~~~~~~~ Les connexions generalement issues du lecteur sont les suivantes: Issu du lecteur de cartes, nous avons 5 fils. rouge: +5v noir: 0v jaune: DATA marron: CS vert: horloge Le rouge et le noir servent simplement a alimenter le lecteur (5V). 4 batteries de 1.2 volts suffisent. Nous pouvons egalement utiliser le port joystick du PC qui est alimente en 5V. Le fil marron sert a verifier la presence et la validite de vitesse de lecture de la carte. Il doit rester a son etat haut jusqu'a la fin de la lecture. Le fil jaune renvoie les donnees presentes sur la carte (etat haut, etat bas). Le fil vert (horloge) correspond aux signaux generes par l'horloge interne du lecteur. Bon, d'accord, mais comment je sort de ma carte le data ? Ben y'a des programmes, allez je vous en file un, code comme un gros sale en Turbo Pascal. ------------------------------------------------------------------------------ {HIP'97 release - m0sfet 10/08/97} Program Lecteur_de_carte; Uses Crt; var i:integer; f:text; nom:string; Const port_joystick=$201; Procedure Attend_debut; {attend l'inserion d'une carte (etat du CS) } Begin Repeat Until (Port[port_joystick] and 32)=0; End; Function donnees_ok:boolean; Begin donnees_ok:=((Port[port_joystick] and 32)=0); End; Procedure Attend_synchro; {calage debut} Begin Repeat Until (Port[port_joystick] and 16)=0; End; Procedure Attend_synchro_fin; {calage fin} Begin Repeat Until (Port[port_joystick] and 16)=16; End; Function donnees:byte; {choppe le DATA} Begin If (Port[port_joystick] and 64)=0 Then donnees:=0 Else donnees:=1; End; Begin Clrscr; Write('File name: '); readln(nom); assign(f,nom); rewrite(f); Writeln('Insert card in the card reader...'); Attend_debut; writeln('card ok'); i:=0; {While donnees_ok Do} repeat Begin Attend_synchro; Write(donnees); Write(f,donnees); {ecrit dans f l'etat du bit present a ce point} inc(i); {sur la piste ISO2} Attend_synchro_fin; End; until keypressed; close(f); End. {BUG ! (non, vous ne pourrez pas etre root du lecteur !!!!) } {le prog attend la synchro finale, revient dans la boucle, mais lorque la synchro finale est lue, le CS n'a pas eu le temps de remonter, donc le programme tourne en boucle... :( } ----------------------------------------------------------------------------- Voila, ah tiens, tant que j'y pense, voila des exemples de pistes: Carte de photocopieuse (233 bits) 111111111111111111111001000110010000000010011111100000000000000000000000000000 000000000000000011100011111111111111111111111111100100011001000000001001111110 00000000000000000000000000000000000000000000111000111111111111111111111111111 Carte de retrait de la poste (250 bits) Norme ISO2 111111111111111111100101010101001011110000110111101100111100011011101010101111 011110011000011010011101111111110111101110100101100011111111000110000110111100 110110111001010011100110111111011111101111011110111100000011000111111111111111 11111111111111111 Carte de parking (485 bits) 1111111111111111111111001010000011011111111111100101000001101111111111111111111 111111111111111111111111111100101011110111101111111101111011110111101111011110 111101111011110011110111111110111101111011110111101111011110111100110001100111 101111011110111101111011110000000101011111111110010101111011110111111110111101 111011110111101111011110111101111001111011111111011110111101111011110111101111 011110011000110011110111101111011110111101111000000010101111111111111111111111 1111111111111111 2-Copie de cartes Ah ah, la on fait moins les malins, parce que la vous allez en baver ! Bon, le but c'est une copie analogique de la carte. Mais la nEURALiEn vous a explique ! Bon, j'ajoute quelques informations vitales au sujet du materiel a employer: Pour la lecture: ~~~~~~~~~~~~~~~~ tete de magnetophone a k7: ok. tete de magnetophone a bande: ok (style Revox) tete de lecteur magnetique a haute coercivite (ca pete hein l'expression !): ok (200 % ok) bloc optique de lecteur cdrom: non, t'est con ! Pour l'enregistrement: ~~~~~~~~~~~~~~~~~~~~~~ On va pas tergiverser 107 ans, il n'y a que les tetes "DATA" qui fonctionnent. Ok, on va un peu plus loin. Les tetes data sont des tetes d'enregistrement a haute coercivite, c'est a dire qu'elles emettent un champ magnetique bien plus puissant que les tetes d'enregistrement standard (k7 par ex.). Pourkoi ils font chier avec ces tetes introuvables ? Ben c'est simple: c'est pour eviter la demagnetisation intempestive de vos cartes magnetiques ! S'il faut un champ magnetique beaucoup plus fort pour l'ecriture, alors il faut un champ magnetique pour la corrompre ! Enfin, y'a une autre methode: il est possible (enfin envisageable) d'utiliser des tetes standard, uniquement si vous modifiez le support d'enregistrement: il faut faire une fausse carte en carton avec une ou des pistes issues de cassettes audio et collees sur le support. Precautions a prendre: ~~~~~~~~~~~~~~~~~~~~~~ Avant de passer la carte au fer a repasser (le copieur), il est imperatif de demagnetiser la carte qui va etre copiee (avec un bon vieil aimant bien puissant touve dans le grenier a meme c'est nickel). Pour verifier que la demagnetisation s'est effectuee, verifiez la presence de signal ou non en sortie d'ampli op avec un casque. Furthermore ~~~~~~~~~~~ Ce soir je n'ai pas le temps, mais je vous promet un prochain article qui traitera l'analyse du signal des pistes en vue d'encoder de nouvelles cartes (f0ne card r0x). Les cartes de fone polonaises sont composees uniquement d'un support magnetique, le pin n'est pas demande, et France Telecom pose des lecteurs de cartes magnetiques sur les nouvelles cabs :)) Conclusion Have fun. Un peu tire par les cheuveux l'article, mais c'est au ~~~~~~~~~~ moins une introduction ! Greetz Threat - Sick Boy - dOC|SEDOv - rAWIz - h0tcode - cleb - mikasoft - raw_powah! ~~~~~~ vanHauser, mINDM => u're cool ! neophypte, zeotroop, motion (always stoned!), sjadoh. And EVERYONE HERE AT HIP ! Bon allez, je porte l'article, puis % mv m0sfet /dev/sac_de_couchage