Sunteți pe pagina 1din 19

CUM SA DEVII HACKER

De ce acest document?
Ca editor al dicionarului de jargon i autor al altor cteva documente similare foarte cunoscute primesc des mesaje de la nceptori n reele care ntreab "Cum pot s nv s fiu un hacker?". n 1996 am observat c nu exist nici un fel de document care s raspund la aceast ntrebare, aa c am scris acest document. Muli hackeri l considera acum definitiv i presupun c asta nseamn c este. Totui, eu nu sunt o autoritate exclusiv n acest domeniu; dac nu ii place eti liber s scri propria versiune. Dac citeti un rezumat al acestui document versiunea complet o gseti la http://garaj.xhost.ro/hacker-howto/hacker-howto.ro.htm. Not: la sfritul acestui document gseti o list cu ntrebri frecvente. Citete aceast list de dou ori nainte de a pune orice ntrebare despre acest document. Acest document mai exist n urmtoarele traduceri : ArabicBulgarian, Catalan, Chinese (Simplified), Danish, Dutch, Farsi, Finnish, German, Hebrew, ItalianJapanese, Norwegian, Polish, Portuguese (Brazilian), Spanish, Turkish, i Swedish. Atenie pentru c acest document se schimb frecvent i poate s fie neactualizat. Imaginea cu cele cinci-puncte-n-nou-ptrate poart numele de glider. E un model simplu cu nite proprieti foarte interesante ntr-o simulare matematic numita : Life care a fascinat muli ani. Cred c este o bun emblem care prezint cum sunt hackerii : abstraci, misterioi, i totui o poart ctre o lume cu o logic aparte. Citete mai multe despre emblem aici .

Ce este un Hacker?
Dicionarul de jargon conine mai multe definii ale cuvantului hacker, cele mai multe fiind legate de obsesia pentru tehnic i de dorina de a rezolva probleme i a depi limite. Dac vrei s ti cum s devii un hacker doar dou definiii sunt relevante. Exist o comunitate, o cultur, format din programatori experti i magicieni n ceea ce privete reelele care i are originea n primele experimente ARPAnet. Membrii acestei culturi au creat termenul de hacker. Hackerii au construit internetul. Hackerii fac s funcioneze Usenet.

Hackerii menin World Wide Web funcional. Dac faci parte din aceast cultur, dac ai contribuit i ceilali tiu cine eti i te numesc hacker, atunci eti un hacker. Conceptul de hacker nu este limitat doar la tehnic. Exist oameni care aplic atitudinea unui hacker i n alte domenii cum ar fi electronica i muzica. Termenul poate fi asociat celui mai nalt nivel din orice tiin sau art. Hackerii programatori recunosc aceste spirite nzestrate i n alte persoane. Unele persoane spun c atitudinea unui hacker este independent de domeniu. n continuarea acestui document o s m concentrez pe deprinderile i atitudinea unui hacker programator, i pe tradiia celor care au impus denumirea de hacker. Mai exist un grup de oameni care se autodeclar hackeri, dar care nu sunt. Aceti oameni ( n special adolesceni ) nu fac altceva dect s atace calculatoare pe internet i s foloseasc ilegal sistemul telefonic. Hackerii adevrai numesc aceste persoane crackeri i nu vor s aib nici o legtur cu ei. Majoritatea hackerilor adevarai cred c crackerii sunt lenei, iresponsabili, i nu foarte inteligeni, i simplu fapt de a fi capabil s intri n anumite calculatoare nu te face s fi hacker la fel cum a fi capabil s porneti o main far chei nu te face un inginer auto. Din nefericire, muli jurnaliti i scriitori au fost pclii s foloseasc cuvntul hacker pentru a descrie crackeri; acest lucru i irit pe hackerii adevrai. Diferena esenial dintre un hacker i un cracker este urmtoarea : hackerii construiesc lucruri pe cnd crackerii nu fac altceva dect s distrug. Dac vrei s devii un hacker continu s citeti. Dac tot ce vrei e s fi un cracker atunci citete grupul de tiri alt.2600 i pregtete-te s faci cinci sau zece ani de nchisoare dup ce descoperi c nu eti aa inteligent cum crezi. i asta e tot ce voi spune despre crackeri.

Atitudinea unui Hacker


1. Lumea este plin de probleme fascinante care ateapt s fie rezolvate. 2. Nici o problem nu ar trebui s fie rezolvat de doua ori. 3. Evit plictiseala i munca neinteresant. 4. Libertatea este bun. 5. Atitudinea nu substituie competenele. Hackerii rezolva probleme i construiesc, ei cred n libertate i ajutorul reciproc dezinteresat. Pentru a fi acceptat ca un hacker, trebuie s te compori ca i cum ai avea aceast atitudine. i pentru a te comporta astfel trebuie s crezi cu adevrat n aceste valori. Dar dac te gndeti s imii atitudinea de hacker doar pentru a fi acceptat n comunitate atunci ai ineles greit. E foarte important s devii tipul de persoan care crede c aceste lucruri sunt importante pentru c te ajut s nvei i s rmi motivat. Ca toate celelalte arte care presupun

creativitate, cel mai eficient mod de a deveni un maestru este imitarea aciunilor unui maestru, nu doar intelectual ci i emoional. Sau, aa cum afirm acest poem Zen modern :

Pentru a urma calea: privete maestrul, urmeaz maestrul, mergi mpreun cu maestrul, privete prin ochii maestrului, fi tu maestrul.

To follow the path: look to the master, follow the master, walk with the master, see through the master, become the master.

Deci, pentru a deveni un hacker repet urmtoarele lucruri pn cnd reueti s crezi n ele:

1. Lumea este plin de probleme fascinante care ateapt s fie rezolvate.


A fi un hacker e foarte amuzant, un gen de amuzament care are nevoie de foarte mult efort. Efortul necesit motivaie. Atleii de succes i menim motivaia din dorina de a-i mpinge trupul ctre obiective din ce n ce mai ridicate. Asemntor, pentru a fi un hacker trebuie s te simi motivat s rezolvi probleme, s i mbunteti aptitudinile, i s i exercii inteligena. Dac nu eti genul de persoan care simte aceste lucruri natural, va trebui s devii o astfel de persoan pentru a deveni un hacker. Altfel, o s descoperi c energia pentru hacking e folosit n altfel de distracii precum sex, bani i aprobare social. ( Trebuie s i dezvoli i o ncredere n propria capacitate de a nva lucruri noi, ncrederea n faptul c chiar dac nu ti tot ce e necesar pentru a rezolva o problema, dac reueti s ntelegi o parte din ea i s nvei n continuare din acest punct vei ti suficient pentru a rezolva urmatoarea parte i tot aa, pn cnd termini. )

2. Nici o problem nu ar trebui rezolvat de dou ori.


Creierele creative sunt o resurs limitat. Nu ar trebui s fie irosite reinventnd roata mai ales tiind c sunt attea probleme interesante care ateapt s fie rezolvate. Pentru a te comporta ca un hacker, trebuie s nelegi c timpul celorlali este la fel de important ca i al tu, astfel ncat este o datorie moral s mpari informaiile, s rezolvi probleme a cror soluie s o faci disponibil oricui pentru ca ceilali hackeri s rezolve noi probleme i s nu fie nevoii s rezolve probleme deja rezolvate. Atenie pentru c "Nici o problem nu ar trebui rezolvat de dou ori" nu implic faptul c toate solutiile existente trebuie s fie considerate permanente, sau c exist o singur soluie pentru o anumit problem. Des nvm mult despre o problema pe care nu am tiut s o rezolvm

studiind o prim rezolvare. Este bine, i de multe ori chiar necesar, s decidem c putem s rezolvam problema mai bine. Nu sunt benefice barierele artificiale impuse tehnic, legal sau instituional ( programe cu surs nchis ) care mpiedic refolosirea unei soluii bune i forteaz oamenii s reinventeze roata. (Nu trebuie s crezi ca eti obligat s dai toat munca ta creativ, dei hackerii care fac acest lucru sunt mai respectai. E compatibil cu valorile hackerilor s vinzi destul astfel nct s ai ce mnca, platii chiria i cumpra calculatoare. Este acceptat s i foloseti deprinderile de hacker pentru a te mbogatii, atta timp ct nu uii de ceilali hackeri i de valorile de care discutam aici.)

3. Evit plictiseala i munca neinteresant.


Hackerii ( i persoanele creative n general ) nu ar trebui s fie niciodat plictisii sau s fac o munc repetitiv i neinteresant, pentru c atunci cnd acest lucru se ntmpl nu mai pot s rezolve probleme noi i interesante. Pierderea este dureroas pentru toi. Evit plictiseala i orice form de munc neinteresant. Pentru a te comporta ca un hacker trebuie s crezi n acest lucru suficient de mult nct s ncerci s automatizezi orice fel de munc plictisitoare, nu doar pentru tine ci i pentru ceilali ( n special ali hackeri ). (Nu exist nici o excepie la acest lucru. Hackerii vor face cteodat lucruri care par repetitive i plictisitoare unui observator ca un exerciiu de limpezire a gndurilor, sau pentru a forma o nou deprindere sau pentru o anumit experien care nu poate fi ncercat altfel. Dar aceasta este o alegere, nimeni care e capabil s gndeasc nu ar trebui s fie forat s fac o munc plictisitoare.)

4. Libertatea este bun.


Hackerii sunt natural independeni, nesupui autoritilor. Oricine poate s i dea ordine poate s te opreasc s rezolvi o problem de care eti fascinat, i sigur va gsi un motiv stupid pentru aceasta. Aa c atitudinea autoritar trebuie s fie respins n orice situaie. (Dar asta nu nseamn c trebuie s luptm mpotriva tuturor autoritilor. Copii trebuie s fie ghidai i criminalii nchii. Un hacker poate s accepte o anumit autoritate pentru a obine ceva, care este mai valoros dect timpul pe care l pierde urmnd ordinele. Dar aceasta este o situaie rar ntlnit i acceptat contient.) Autoritile se dezvolt bazndu-se pe secrete i cenzur. Acestea mpiedic schimbul liber i voluntar de informaie, autoritile prefer cooperarea pe care o pot controla. Deci pentru a te comporta ca un hacker trebuie s i dezvoli o repulsie instinctiv fa de cenzur, secrete i uzul forei. Trebuie s ai puterea s acionezi conform acestei credine.

5. Atitudinea nu substituie competenele.

Pentru a fi un hacker trebuie s i dezvoli aceast atitudine. Dar copierea unei atitudini nu te va face un hacker, aa cum nu te va face un atlet sau o vedet. Pentru a devenii un hacker ai nevoie de inteligen, practic, dedicare, i mult munc. Trebuie s nvei s nu ai ncredere n atitudine i s respeci competena de orice fel. Priceperea la lucruri dificile, pe care puini le pot nelege, care necesit concentrare i atenie, este cu att mai mult apreciat. Dac respeci competena, o s i plac s o dezvoli n tine i munca dificil va devenii un joc intens. Atitudinea este vital pentru a devenii un hacker.

Cunotine eseniale
1. nva s programezi. 2. Instaleaz i folosete un sistem din familia Unix. 3. nva s foloseti internetul i HTML. 4. Dac nu ti englez la un nivel acceptabil, nva. Atitudinea este foarte important dar cunotinele sunt i mai importante. Atitudinea nu substituie cunotinele, i exist un set de deprinderi pe care trebuie s le ai nainte ca cineva s se gndeasc s te numeasc hacker. Acest set de deprinderi se schimb lent pe masur ce trece timpul i tehnologia creeaz cunotine noi i le face pe cele vechi insuficiente. De exemplu iniial includea necesitatea de a ti s programezi n limbaj de asamblare, i doar recent a fost introdus i HTML. Dar acum include urmtoarele deprinderi :

1. nvat s programezi.
Acest lucru este esenial. Daca nu ti s programezi n nici un limbaj i recomand s ncepi cu Python. E foarte bine gndit, bine documentat, i destul de blnd cu nceptorii. Lsnd la o parte faptul c e un limbaj bun pentru nceptori, Python nu este o jucrie, este un limbaj foarte puternic i flexibil i care se preteaz a fi folosit la proiecte mari. Am scris o evaluare mai detaliat aici. Nite tutoriale foarte bune sunt disponibile pe pagina web www.python.org Java este un alt limbaj bun pentru a nva s programezi n el. Este ceva mai dificil dect Python dar produce un cod mai rapid. Este un limbaj care e foarte bine s fie tiut. Din nefericire ns implementarea oficial Sun este nc proprietar. Aceasta nu este o prea mare problem n ceea ce privete limbajul n sine pentru c exist alternative open-source de foarte bun calitate; problema real este dat de bibliotecile de funcii care sunt disponibile mpreun cu limbajul. Implementrile open-source sunt nc n spatele celor oficiale oferite de Sun. Aa c dac vrei s

nvei Java folosete o implementare open-source pentru a evita s devii dependent de codul proprietate Sun. Dar trebuie s fi contient c nu o s ajungi un hacker, nici mcar un programator dac ti unul sau dou limbaje de programare, trebuie s invei s gndeti problemele de programare la modul general, independent de limbaj. Pentru a fi un hacker adevrat trebuie s ajungi pn n punctul n care s reueti s nvei un limbaj nou n cteva zile fcnd asociaii cu ceea ce ti deja. Asta nseamn c trebuie s ti mai multe limbaje diferite. Dup ce depeti faza iniial i o s incepi s nelegi principalele concepte trebuie s nvei C, limbajul pe baza cruia a fost construit Unix. C++ are foarte multe elemente comune cu C, dac ti unul va fi uor s l nvei pe cellalt. Nici C, nici C++ nu sunt genul de limbaje pe care s le nvei prima data. O s observi c o s fi mult mai productiv in alte limbaje dect n C. C-ul este foarte eficient, i econom cu resursele calculatorului. Din nefericire C-ul are aceasta eficien deoarece managementul memoriei i a resurselor este lsat n seama programatorului. Tot codul acesta este complex i predispus la probleme ( bug-uri ) i va consuma foarte mult timp. Tinnd cont de ct de rapide sunt calculatoarele de astzi este mai bine s foloseti un limbaj care s economiseasc timpul programatorului i nu pe cel al calculatorului ( ex:Python ). Alte limbaje de importan deosebit pentru un hacker sunt Perl i LISP. Perl merit nvat n special din motive practice; este folosit foarte frecvent pentru pagini de web dinamice i pentru administrarea sistemului, astfel nct chiar dac nu o scri programe n Perl tot trebuie s ti s nelegi o surs. Muli oameni utilizeaz Perl aa cum sugerez eu s fie folosit Python, pentru a evita programarea n C atunci cand nu e nevoie de eficien. Va trebui s fi capabil s nelegi aceste programe. LISP merit nvat pentru sentimentul de mulumire pe care l ai atunci cand reueti s-l nelegi. Aceast experien te va face un programator mai bun pentru tot restul vieii, chiar dac nu o s foloseti LISP pentru a scrie programe. ( Poi s capei nite experien n LISP uor scriind i modificnd moduri de editare pentru Emacs, sau Script-Fu plugins pentru GIMP. ) Cel mai bine e s le nvei pe toate cinci : Pyhton, C/C++, Java, Perl si LISP. n afara faptului c sunt cele mai importante limbaje pentru hacking sunt i ipostaze ale diferitelor paradigme de programare, i fiecare te va educa n diferite moduri. Nu pot s dau instruciuni complete despre cum s nvei s programezi, e o munc dificil. Dar pot s i spun c nu te vor ajuta foarte mult carile i cursurile ( muli, poate cei mai muli hackeri sunt autodidaci ). Pot s nvei despre un limbaj din cari, dar modul de gndire care transform acele cunotiine ntr-o deprindere pot fi nvate numai prin exerciiu i programare. Ceea ce trebuie s faci e s (a) citeti programe i s scri programe. Peter Norving care este unul dintre cei mai buni hackeri de la Google i coautor al unor excelente cri despre inteligen artificial, a scris un eseu excelent numit Teach Yourself Programming in Ten Years. Reeta lui pentru succes n programare merit toat atenia.

A nva s programezi e ca i cum ai nva o nou limb. Cea mai bun modalitate e s citeti cteva texte scrise de experi n domeniu, s scrii nite chestii singur, s citeti mai mult, s mai scri, s citeti, s scri .... i s repei pn cnd dezvoli n scris genul de putere i economie pe care o vezi n modelele tale. Gsirea unor programe bune pentru analizat era o chestie dificil, pentru c erau puine disponibile sub form de cod surs pe care puteau experimenta hackerii. Acest lucru s-a schimbat dramatic; programe cu surs deschis ( open-source ), unelte pentru programare i sisteme de operare ( toate construite de hackeri ) sunt acum disponibile pentru oricine. Ceea ce ne apropie de urmtorul subiect .....

2. Instaleaz i folosete un sistem de operare din familia Unix.


O s presupun c ai un calculator personal sau ai acces la unul. ( Gndete-te un moment ce nseamn asta. Cultura hackerilor a aprut n timpul n care calculatoarele erau aa de scumpe nct nici o persoan fizic nu i permitea s i cumpere. ). Unul dintre cei mai importani pai pe care un nceptor l poate face pentru a ncepe s dobndeasc deprinderi de hacker este s fac rost de o copie de Linux sau BSD, s-l instaleze pe calculatorul personal i s nvee s-l foloseasc. Da, mai sunt i alte sisteme de operare n lume n afar de Unix. Dar sunt distribuite sub form binar, nu poi citi codul, nu-l poi modifica. A ncearca s nvei hacking pe un calculator cu Microsoft Windows sau orice alt sistem de operare cu surse nchise e ca i cum ai ncerca s dansezi mbrcat n gips. Sub Mac OS X este posibil, dar numai o parte din sistemul de operare are i surse, e posibil s te loveti de multe ziduri, i trebuie s fi atent s nu dezvoli prostul obicei de a depinde de codul proprietate Apple. Dac te concentrezi pe Unix poi nva foarte multe lucruri. Unix este sistemul de operare al internetului. Dei poi s nvei s foloseti internetul fr s ti Unix, nu poi s fi un hacker fr s nelegi Unix. Din acest motiv, cultura hackerilor este strns legat de Unix. ( Acest lucru nu a fost ntotdeauna adevrat, i civa hackeri nu sunt prea bucuroi, dar simbioza ntre Unix i internet este suficient de puternic nct nici Microsoft nu poate s intervin.) Aa c instaleaz un sistem din familia Unix ( i mie mi place Linux dar mai exist i alte ci ( i da, poi s ai i Linux i Windows pe acelai calculator )). Inva s-l folosesti. Experimenteaz cu el. Navigheaz pe internet cu el. Citete codul. Modific codul. O s ai la dispoziie unelte pentru programare : C, LISP, Python i Perl, mai mult dect pe orice sistem Microsoft, o s nvei mult mai repede dect i dai seama. Pentru mai multe informaii n legtur cu Unix vezi The Loginataka. Arunc o privire i pe The Art Of Unix Programming.

Pentru a obine o copie Linux, viziteaz Linux Online!; poi s descarci de acolo sau ( o idee mai bun ) gasete un grup local de utilizatori Linux care s te ajute cu instalarea. Din perspectiva unui nou utilizator toate distribuiile Linux sunt identice. Poi s gasesti informaii i resurse despre BSD Unix la www.bsd.org. Am scris o scurt introducere la adresa Basics of Unix and the Internet (Not : Nu recomand instalarea unui sistem Linux sau BSD singur, mai ales dac eti un nceptor. Pentru Linux gsete un grup de utilizatori i cere ajutor.)

3. nva s foloseti internetul i HTML.


Cele mai multe lucruri pe care cultura hackerilor le-a produs nu s-au bucurat de atenie public, fiind folosite n fabrici i universiti fr nici un impact direct asupra omenilor n general. Internetul este marea excepie, marea i strlucitoarea jucrie realizat de hackeri care a schimbat lumea. Din acest motiv ( i multe altele ) trebuie s nvei s ti s lucrezi pe internet. Asta nu nseamn doar s ti s foloseti un browser ( oricine poate s fac asta ), trebuie s nvei s scri HTML - limbajul Web-ului. Dac nu ti s programezi nvnd HTML o s i fie mai uor s nvei apoi un limbaj de programare. Aa c trebuie s i faci o pagin pe web. ncearc s foloseti standardul XHTML, care e mai aranjat dect clasicul HTML. ( Se gsesc uor tutoriale pe internet; aici e unul.) Dar simplu fapt de a avea o pagina e doar nceputul lungului drum spre a devenii un hacker. Internetul e plin de astfel de pagini. Majoritatea au un coninut inutil ( vezi The HTML Hell Page ). Ca s merite, pagina ta va trebui s aib coninut, s fie interesant/folositoare altor hackeri. i asta ne aduce la urmatorul subiect ....

4. Dac nu ti englez la un nivel acceptabil, nva.


Ca american i vorbitor nativ de limb englez am ezitat s sugerez acest lucru, l-am perceput ca o form de imperialism cultural. Dar civa vorbitori nativi de alt limb dect engleza m-au mpins s declar c engleza este limba comunitii hackerilor i c trebuie s o ti pentru a te integra. n jurul anului 1991 am nvat c muli hackeri care stiau engleza o foloseau n special n discuiile tehnice; mi s-a spus c engleza are un vocabular tehnic mult mai bogat dect orice alt limba i deci este un instrument mai bun pentru astfel de discuii. Din motive similare traducerile crilor tehnice din englez sunt deseori nesatisfctoare.

Linus Torvalds comenteaz tot codul pe care l scrie n englez ( aparent nici nu i-a pus vreodat problema dac ar trebui s fac altfel ). Engleza lui fluent a fost un factor important n abilitatea sa de a recruta o comunitate global de dezvoltatori Linux. Este un exemplu bun de urmat. Fiind un vorbitor nativ de englez nu garanteaz c tii suficient de mult pentru a fi un hacker. Dac scrisul este plin de dezacorduri i de greeli, muli hackeri ( inclusiv eu ) vor avea tendina s te ignore. Dei scrisul dezordonat nu nseamn neaprat i o gndire dezordonat am observat c exist totui o corelaie destul de puternic. Daca nu ti s scri bine, nva.

Statutul n comunitatea hackerilor


1. Scrie programe cu surse deschise ( open-source ) 2. Ajut la testarea i mbuntirea programelor open-source 3. Public informaii utile 4. Menine infrastructura funcional 5. Ajut comunitatea hackerilor Ca i celelalte culturi care nu se bazeaz pe economie, cultura hackerilor se bazeaz pe reputaie. Tu ncerci s rezolvi probleme interesante, dar ct de interesante sunt, i ct de bune sunt soluiile tale rmne s decid ceilali. Atunci cnd faci parte din jocul hackerilor scorul tu e dat n special de ceea ce gndesc ceilali ( din acest motiv nu te poi numi hacker pn n momentul cnd ceilali nu te numesc astfel ). Acest fapt este mascat de imaginea hackingului vzut ca o activitate solitar; i de un tabu din cultura hackerilor ( care a nceput s dispar din 1990 dar care este nc puternic ) mpotriva admiterii faptului c aprobarea celorlalti are un rol n motivaie. Cultura hackerilor este ceea ce antropologi numesc o cultur a darului. Obii reputaie i eti respectat, nu fiind frumos, nu avnd lucruri pe care ali oameni le vor, ci oferind - timp, creativitate, i rezultatul muncii tale. Sunt cinci lucruri pe care le poi face pentru a fi respectat de ceilali hackeri :

1. Scrie programe cu surse deschise ( open-source )


Primul lucru ( central i tradiional ) pe care l poi face e s scri programe pe care ceilali hackeri s le considere distractive i utile, i s oferi codul surs al acestor programe astfel nct toi s l poat folosi. (Iniial au fost numite gratis ( free ) dar termenul a introdus confuzie pentru c nu se tia exact ce nseamn gratis. Cei mai muli folosesc astzi termenul de open-source).

Cei mai respectai n cultura hackerilor sunt cei care au scris programe mari i capabile, care au satisfcut o nevoie general i care au fost oferite gratis mpreun cu sursele complete astfel nct oricine s le poat folosi i nva din ele. Dar lucrurile nu au fost mereu aa. Dei hackerii au privit dezvoltatorii open-source cu mult admiraie ca un element esenial al culturii, nainte de 1990 majoritatea hackerilor scriau programe cu sursele nchise. Aceast atitudine era nc activ n 1996 cnd am scris prima versiune a acestui document; lucrurile s-au schimbat ncepnd cu anul 1997. Astzi comunitatea hackerilor i comunitatea dezvoltatorilor open-source sunt dou denumiri care descriu acelai lucru dar e bine s tim c lucrurile nu au fost mereu aa.

2. Ajut la testarea i mbuntirea programelor open-source


i cei care gsesc erorile din programele open-source sunt foarte respectai. n aceast lume imperfect, inevitabil ajungem s ne petrecem cel mai mult timp de dezvoltare a programelor cutnd erori. Din acest motiv orice dezvoltator open-source care gndete i va spune c nite testeri buni ( care tiu cum s descrie simptomele clar, s localizeze problemele, s ignore micile probleme din primele apariii, i care pot s aplice nite funcii de diagnosticare ) sunt foarte valoroi. Chiar i unul singur poate s fac diferena ntre o cutare de erori care este stresant i una foarte uoar. Daca eti un nceptor, ncearc s gseti un program care este n dezvoltare i de care eti interesat i fi un bun tester. Are loc un avans natural de la a ajuta la testarea programelor, la a ajuta la eliminarea erorilor i a ajuta la scrierea lor. O s nvei foarte mult astfel i o s ai o relaie bun cu oameni care te vor ajuta mai trziu.

3. Public informaii utile


Un alt lucru bun e s colectezi i s filtrezi informaii utile i interesante n pagini web sau documente cu rspunsuri la ntrebri frecvente ( FAQ - Frequently Asked Questions ) pe care s le faci disponibile tuturor. Menintorii celor mai importante liste de ntrebri frecvente primesc la fel de mult respect ca i dezvoltatorii open-source.

4. Ajut la meninerea infrastructurii funcionale


Cultura hackerilor ( i a inginerilor care au dezvoltat internetul ) se bazeaz pe voluntariat. E foarte mult munc necesar care trebuie fcut pentru a menine lucrurile funcionale : administrare liste de mail, moderare grupuri de tiri, meninerea unor arhive mari de soft, dezvoltarea de RFC-uri i alte standarde tehnice. Oamenii care fac aceste lucruri sunt foarte respectai pentru c toat lumea tie c aceste munci sunt mari devoratoare de timp i nu sunt att de distractive ca programarea. Fcnd aceste lucruri persoanele respective i arat loialitatea.

5. Ajut comunitatea hackerilor


n final, poi s ajui la propagarea culturii hackerilor n sine ( prin de exemplu scrierea unui eseu despre cum s devii un hacker :-)). Nu vei putea s faci acest lucru dect dac vei fi cunoscut de ct mai muli oameni pentru unul din primele patru lucruri. Comunitatea hackerilor nu are lideri, dar are eroi, "btrni", istorici i purttori de cuvnt. Cnd ai fost implicat mai mult timp n comunitate se poate s ajungi ceva de genul sta. Atenie: hackerii nu au ncredere n ego-ul zgomotos al "btrnilor" aa c poate fi periculos s ai o astfel de faim. Nu trebuie s ncerci din toate puterile s te ridici la un astfel de nivel, trebuie s te poziionezi de aa natur nct s i cad n brae i atunci s fi modest.

Legtura Hacker/Tocilar(nerd)
Termenul nerd din englez nu are o traducere exact n romn. n limba englez termenul este mult mai nuanat dect definiia acceptata n limba romn. O astfel de persoan nu poate fi numit pur i simplu tocilar. Pentru mai multe informaii vedei pagina http://en.wikipedia.org/wiki/Nerd. n continuare n text o s folosesc termenul din romn, tocilar, dar cu sensul mult mai nuanat i apropiat de cel real. O discuie pe aceast tem poate fi lung - i ntr-o oarecare msur asemntoare cu cea despre cum s devii un hacker. Contrar miturilor, nu trebuie s fi un tocilar ca s fi un hacker. Ajut, i ntradevr majoritatea hackerilor sunt tocilari. Fiind mai puin sociabil te ajut s rmi concentrat asupra lucrurilor cu adevrat importante, precum gndirea i hackingul. Din acest motiv, muli hackeri au adoptat termenul de nerd(tocilar) i chiar i termenul mai dur geek ca o modalitate de a-i declara independena fa de ateptrile societii. Dac reueti s te concetrezi pe hacking suficient astfel nct s fi bun i s ai i o via social, totul e nregul. Astzi e mult mai uor s faci asta dect era n 1970 cnd eram un nceptor; societatea este mult mai prietenoas cu astfel de persoane azi. Exist un numr n cretere de persoane care realizeaz c hackerii sunt i nite persoane foarte sensibile i iubitoare. Dac eti atras de hacking pentru c nu ai o via social i asta e ok, cel puin nu o s ai probleme s te concentrezi. Poate o s ai o via mai trziu.

Puncte pentru stil

Pentru a fi un hacker trebuie s i formezi un mod de gndire specific. Sunt anumite lucruri pe care le poi face atunci cnd nu eti la un calculator care par s ajute. Nu exist un substituient pentru hacking ( nimic nu e ) dar muli hackeri apeleaz la astfel de activiti i se simt conectai ntr-un anumit fel cu hackingul.
y

y y

y y

nva bine limba materna. Dei exist un stereotip c programatorii nu pot scrie, un numr surprinztor de hackeri ( inclusiv unii dintre cei mai mplinii pe care i cunosc ) sunt foarte buni scriitori. Citete crti tiinifico-fantastice. Mergi la ntlnirile pe teme tiinifico-fantastice( sunt un loc bun unde poi ntlni ali hackeri ) nva o form de arte mariale. Genul de disciplin mental necesar pentru arte martiale este similar cu ceea ce fac hackerii. Cele mai populare forme ntre hackeri sunt Tae Kwon Do, diferite forme de Karate, Wing Chun, Aikido, sau Ju Jitsu. Cele mai populare sunt cele care pun accentul pe disciplina mental, relaxare contient, i control n defavoarea rezistenei i puterii fizice. Studiaz o disciplin de meditaie. Cea mai practicat n acest moment este Zen ( important, poate fi practicat fr necesitatea de a crede ntr-o noua religie sau renunarea la cea pe care o ai deja ). i altele pot funciona dar trebuie s fi atent s nu ncepi s crezi chestii aiurea. Dezvolti simul muzical. nva s apreciezi diferite genuri de muzica. nva s cni la un instrument muzical, sau doar s cni. Apreciaz jocurile de cuvinte.

Cu ct mai multe lucruri din cele enumerate faci deja, este mai probabil s fi un hacker natural. De ce aceste lucruri nu se poate explica, dar sunt conectate cu o serie de caracteristici ale emisferei drepte i emisferei stngi care sunt importante; hackerii trebuie s fie capabili s gndeasc logic dar i s poat s depeasc tiparele. Muncete la fel de intens cum te joci, joac-te la fel de intens precum munceti. Pentru hackerii adevrai graniele dintre "joc", "munc", "tiin" i "art" par s dispar i s se uneasca ntr-un singur concept. Deasemenea nu trebuie s fi mulumit cu un anumit set de cunotine. Dei majoritatea hackerilor se recomand ca programatori, este foarte probabil s fie competeni i n alte domenii : administrare de sistem, web design, i depanatori de componente. Un hacker care este administrator de sistem este probabil s fie foarte bun la programarea n limbaje de script i web design. Hackerii nu fac lucrurile pe jumtate : dac nva ceva nou au tendinta s devin foarte buni. n final, cteva lucrurile care nu trebuie fcute.
y y y y

Nu folosi un nick sau un ID grandios sau prostesc. Nu participa la jigniri( flame wars ) pe Usenet ( sau oriunde altundeva ). Nu te autointitula un vandal electronic( cyberpunk ) i nu bga pe nimeni n seam care se denumete astfel. Nu pune mesaje sau trimite mail-uri care sunt pline de erori

Nu vei primi dect mustrri pentru orice fel de astfel de abatere. Hackerii au memorie lung, poate dura ani de zile pentru a fi acceptat. Problema cu nick-urile merit s fie abordat mai pe larg. Ascunderea identitatii n spatele unui nume fals este o atitudine copilreasc specific crackerilor, warez d00dz, i altor forme de via inferioare. Hackerii nu fac asta; sunt mndrii de ceea ce fac i vor ca aciunilor lor s fie asociate cu numele lor real. Aa c dac ai un astfel de nick, renun la el. n cultura hackerilor nu va face altceva dect s te marcheze ca un ratat.

Alte resurse
Paul Graham a scris un eseu numit Great Hackers, i nc unul numit Undergraduation, n care se gasete mult nelepciune. Peter Seebach menine un excelent Hacker FAQ pentru manageri/angajatori care nu tiu cum s trateze un hacker. Exist un document numit How To Be A Programmer care este o excelent continuare la acesta. Conine sfaturi valoroase nu numai despre programare, dar i despre cum s te compori ntr-o echip de programatori. Am scris i A Brief History Of Hackerdom. Am scris un articol, The Cathedral and the Bazaar, care explic cum funcioneaz comunitatea Linux i comunitatea open-source. Am abordat subiectul i mai serios n cotinuarea numit Homesteading the Noosphere. Rick Moen a scris un document excelent despre how to run a Linux user group. Rick Moen i cu mine am colaborat la un alt articol numit How To Ask Smart Questions( Cum s pui ntrebri inteligente ). Acesta te va ajuta s caui ajutor ntr-un fel n care e destul de probabil s-l primeti. Dac ai nevoie de informaii despre cum merg calculatoarele personale, Unix i internetul citete The Unix and Internet Fundamentals HOWTO. Atunci cnd publici programe sau scri patch-uri pentru programe ncearc s urmezi regulile din Software Release Practice HOWTO. Dac i-a plcut poemul Zen sigur o s-i plac i Rootless Root: The Unix Koans of Master Foo.

ntrebri frecvente
Q: Cum pot s mi dau seama daca sunt deja un hacker? Q: O s m nvei cum s fiu un hacker? Q: Cnd pot s ncep? Q: Cnd trebuie s ncepi? Este prea trziu pentru mine s nv? Q: Ct o s dureze pn devin un hacker? Q: Sunt Visual Basic sau C# limbaje bune pentru nceptori? Q: O s m nvei cum s sparg un sistem, sau cum s sparg programe? Q: Cum aflu parola unui cont? Q: Cum pot s intru/citesc/monitorizez csua de mail a altcuiva? Q: Cum pot s fur drepturile de operator pe IRC? Q: Am fost atacat. M vei ajuta s rspund viitoarelor atacuri? Q: Am probleme cu programele mele pe Windows. Ma ajuti? Q: Unde pot s gsesc nite hackeri adevrai cu care s vorbesc? Q: Poti s mi recomanzi cteva crti utile? Q: Trebuie s tiu matematic ca s devin hacker? Q: Ce limbaj ar trebui s nv prima dat? Q: Ce fel de calculator am nevoie? Q: Vreau s contribui. Poi s m ajui s aleg o problem la care s lucrez? Q: Trebuie s ursc Microsoft? Q: Programele open-source pun programatorii n imposibilitatea de a catiga bani? Q: Cum ncep? Unde gsesc o versiune de Unix? Q: Cum tiu dac sunt deja un hacker? A: Pune-i urmtoarele ntrebri:
y y y

Vorbeti cod fluent? Te identifici cu scopul i valorile comunitii hackerilor ? Ai fost numit hacker de ctre un membru recunoscut al comunitii?

Dac poi rspunde da la toate cele trei ntrebri atunci eti deja un hacker. Dou nu sunt suficiente. Primul test vizeaz cunotinele. Probabil c ai rspuns da dac ai minimul descris mai sus. Treci fr probleme dac ai scris o cantitate apreciabil de cod pentru un proiect open-source. A doua ntrebare vizeaz atitudinea. Dac cele cinci principii ale hackerilor ti s-au prut obinuite, asemnndu-se mai mult cu modul cum trieti dect cu o poveste, te apropii de un raspuns afirmativ. Aceasta e prima jumtate, cealalt vrea s afle ct de mult de identifici cu proiectele pe termen lung ale comunitii.

Aici am enumerat cteva dintre aceste obiective : Conteaz pentru tine dac Linux devine mai bun i mai rspndit ? Te pasioneaz libertatea programelor ? Eti ostil monopolurilor ? Acionezi n credina c trebuie s vedem calculatoarele ca simple instrumente care fac lumea mai bogat i mai uman ? Dar trebuie s punctm un lucru aici. Comunitatea hackerilor are nite principii politice specifice, n special defensive, n special aprarea dreptului la libera exprimare. Comunitatea se lupt i cu legile de proprietate intelectual care ar face comunitatea open-source ilegal. Unele dintre aceste proiecte pe termen lung sunt reprezentate de organizaii precum Fundaia Frontierei Electronice ( Electronic Frontier Fundation ). Dar n spatele acestui lucru, cei mai muli hackeri vd n ncercarea de a sistematiza atitudinea lor un program politic explicit dubios; am nvat, pe calea ce grea, c aceste ncercri au efecte negative diviznd comunitatea. Daca cineva vrea s te recruteze pentru a participa la un protest n numele atitudinii hackerilor, atunci clar a neles greit. Raspunsul corect este probabil s Taci i arat-le codul. A treia ntrebare include o definiie recursiv. Am observat n seciunea numit Ce este un hacker ?c a fi un hacker ine foarte mult de apartenena la o anumita subcultur i reea social cu o anumit istorie. n trecut, hackerii erau un grup mult mai disipat dect sunt astzi. Dar importana unei reele sociale a crescut n ultimii 13 ani pe msur ce internetul a facut posibil meninerea uor a legturii cu ceilali hackeri. O mic schimbare de comportament este c n acest deceniu avem propriile tricouri. Sociologii care studiaz reele precum cea a hackerilor sub sigla general de "colegii invizibile" au observat c o caracteristic a reelelor de acest gen este c au aa numii pazitori ale porilor, membrii cheie cu autoritate social care pot s introduc noii membrii n comunitate. Pentru c termenul de "colegiu invizibil" care definete cultura hackerilor este un termen mult prea general i informal i rolul unui astfel de pzitor al portilor este informal. Dar ceea ce fiecare hacker ntelege este c nu orice hacker este un pzitor al porilor. Aceste persoane au o anumit vechime i un anumit numr de realizri nainte s primeasc acest titlu. Ct de mult este greu de precizat, dar fiecare hacker tie cnd vede o astfel de persoan. Q: O s m nvei cum s fiu un hacker? A: Din momentul n care am publicat prima dat aceast pagin am primit nenumrate cereri ( deseori cteva pe zi ) de la persoane care mi cereau s le nv tot ce trebuie s tie pentru a fi un hacker. Din nefericire, nu am timpul i energia s fac acest lucru; propriile mele proiecte, i munca n rolul partizan al comunitatii open-source mi ocupa 110% din timp. Chiar dac a fi avut acest timp la dispoziie, a fi un hacker nseamn a avea o anumit atitudine i un set mare de cunotiine pe care trebuie s le dobndeti singur. O s observi c chiar dac hackerii adevrai vor s te ajute nu o s te respecte dac i implori s i spun tot ce tiu. nva cteva lucruri mai nti. Arat c ncerci, c eti capabil s nvei singur. Apoi apeleaz la alti hackeri cu ntrebri precise. Dac i scri unui hacker nite ntrebri, sunt dou lucruri pe care trebuie s le ti. n primul

rnd am observat c persoanele care sunt lenee i neatente n scris sunt de cele mai mult ori neatente i lenee i n gndire, neavnd capacitatea de a devenii hackeri buni, aa c ai grij s scri corect, s foloseti gramatica i semnele de punctuaie, altfel vei fi ignorat. n al doilea rnd nu cere ca mesajul s fie trimis la o csu de mail diferit de cea de pe care ai trimis mesajul; am aflat c persoanele care fac acest lucru sunt deobicei hoi care folosesc conturi furate, i nu avem nici un interes n a rasplti sau ajuta hoi. Q: Cum pot s ncep ? A: Cea mai bun modalitate s incepi este s mergi la o intlnire a unui grup de utilizatori Linux ( LUG ). Poi s gaseti astfel de grupuri pe LDP General Linux Information Page; probabil c exist unul aproape de tine, asociat cu o universitate sau un colegiu. Membrii acestei comuniti i vor da o copie Linux i te vor ajuta s l instalezi i s ncepi s nvei. Q: Cnd trebuie s ncep? Este prea trziu pentru mine s nv? A: Orice varst la care eti motivat este bun. Muli oameni devin interesai ntre 15 i 20 de ani, dar cunosc excepii n ambele direcii. Q: Ct va dura s nv s devin un hacker? A: Asta depinde de ct de talentat eti i ct de mult eti dispus s munceti. Majoritatea oamenilor pot s nvee un volum respectabil de informaii n 18 luni pan la 2 ani, dac se concetreaz. Nu te gndi c se termin aici; dac eti un hacker adevrat o s i petreci restul vietii nvnd i perfecionndu-i cunotinele. Q: Sunt Visual Basic sau C# limbaje bune pentru nceptori? A: Dac pui aceast ntrebare n mod sigur te gndeti s nvei s fi un hacker folosind un sistem Microsoft Windows. Aceasta este o idee proast n sine. Cnd am comparat ncercarea de a nva s fi un hacker pe Windows cu a nva s dansezi mbrcat n gips, nu glumeam. Nu ncerca asta. E urt i nu va nceta s fie urt. Sunt probleme specifice cu Visual Basic i C#; n principal din cauza faptului c nu sunt portabile. Dei exist implementri open-source ale acestor limbaje, standardele implementate nu acoper dect o mic parte din interfaa de programare. n Windows majoritatea librriilor sunt proprietatea unui singur productor ( Microsoft ); daca nu eti extrem de atent la ce fel de faciliti foloseti, mult mai atent dect poate fi un nceptor o s ajungi s fi blocat, softul fiind portabil doar pe platformele pe care Microsoft decide s le suporte. Dac ncepi pe Unix, sunt disponibile limbaje mult mai bune. De exemplu, Python. Visual Basic este groaznic. Ca orice alt Basic este slab gndit i nu te nva dect obiceiuri proaste de programare. Nu m ruga s le explic n detaliu, aceast explicaie ar umple singur o carte. nva un limbaj bine realizat. Unul dintre aceste obiceiuri proaste este s devii dependent de librriile i uneltele de dezvoltare ale unui singur productor. n general orice limbaj care nu este suportat mcar sub una dintre platformele Linux sau BSD, i/sau mcar de trei productori diferii de sisteme de operare, este un limbaj slab n care s nvei. Q: O s m ajui s sparg un sistem, sau s m nvei cum s sparg programe? A: Nu. Orice persoan care pune o astfel de ntrebare dup ce a citit acest set de ntrebri frecvente este prea proast pentru a fi educat chiar dac a avea timpul necesar. Orice fel de

ntrebri pe email legate de acest subiect vor fi ignorate sau vor primi un rspuns brutal. Q: Cum pot s obin parola contului altei persoane? A: Acesta este cracking. Dispari idiotule. Q: Cum pot s sparg/citesc/monitorizez casua de mail a altcuiva ? A: Acesta este cracking. Pa. Q: Cum pot s fur drepturi de operator pe un canal de IRC? A: Acesta este cracking. Dispari. Q: Am fost crackuit. O s m ajui s m apar de atacuri viitoare ? A: Nu. De fiecare dat cnd am fost ntrebat acest lucru, ntrebarea venea de la o persoan care rula Microsoft Windows. Nu este posibil s securizezi Windows mpotriva atacurilor; codul i arhitectura au pur i simplu prea multe probleme, ceea ce face securizare Windows o misiune imposibila. Singura rezolvare este s treci la Linux sau la alt sistem de operare mai bun care s fie capabil de securitate. Q: Am probleme cu sistemul meu de operare Windows. M ajui ? A: Da. Deschide consola DOS i tasteaz "format c:". Orice problem ai ntlnit va nceta s mai existe n cteva minute. Q: Unde pot gsi nite hackeri cu care s vorbesc? A: Cel mai bun mod este s gseti un grup local de utilizatori Linux sau Unix i s mergi la ntlnirile lor ( poi s gseti cteva adrese de grupuri la LDP )\ (Obinuiam s spun c nu o s gseti nici un hacker adevrat pe IRC, dar am nceput s neleg c acest lucru se schimb. Aparent nite comuniti serioase de hackeri, ataate proiectelor precum GIMP i Perl, au canale pentru IRC acum ). Q: Poi s mi recomanzi cteva crti utile despre subiecte legate de hacking ? A: Menin o list Linux Reading List HOWTO care i poate fi util. Loginataka poate fi interesant. Pentru o introducere n Python vezi materiale introductive pe site-ul Python. Q: Trebuie s fiu bun la matematic pentru a deveni un hacker? A: Nu. Hackingul folosete foarte puin matematic formala i aritmentic. n particular nu o s-ti trebuiasc trigonometrie, calcul sau analiz ( excepia la acest lucru o face grafica 3D ). E bine s ti ceva logic i algebr boolean. Cunotiine de baz n teoria seturilor finite, combinatoric i teoria grafurilor se pot dovedi utile. E mult mai important s fi capabil s gandeti logic i s urmezi un lan de raionamente logice, aa cum fac matematicienii. Dei coninutul matematic nu te va ajuta foarte mult, vei avea nevoie de disciplina i inteligena matematic. Dac nu eti prea inteligent nu sunt prea multe sperane pentru tine ca hacker; dac i lipsete disciplina ar fi bine s o dezvoli. Cred c o bun modalitate de a afla dac ai ceea ce i trebuie e s gaseti o copie a carii lui Raymond Smullyan's What Is The Name Of This Book?. Logica pe care o promoveaz n carte este n spiritul hackerilor. Dac eti capabil s rezolvi problemele puse acolo e un semn bun; dac i place s le rezolvi e un semn i mai bun.

Q: Ce limbaj ar trebui s nv prima dat ? A: XHTML ( ultimul dialect de HTML ) dac nu l cunoti deja. Sunt foarte multe cari pe aceast tem, dar puine bune. Cea care mi place cel mai mult este HTML: The Definitive Guide. Dar HTML nu poate fi considerat un limbaj de programare. Cnd eti gata s ncepi s programezi, i recomand s ncepi cu Python. O s auzi foarte mult lume care recomand Perl, i Perl este nc mult mai popular dect Python, dar este mai dificil de nvat i ceva mai puin bine gndit. C este foarte important, dar este i mult mai dificil dect Python i Perl. Nu ncerca s-l nvei ca primul limbaj. Ca utilizator Windows nu trebuie s te axezi pe Visual Basic. O s te nvee obiceiuri proaste, i nu este portabil. Evit-l. Q: De ce fel de calculator am nevoie? A: n trecut calculatoarele erau destul de slabe nct impuneau limite artificiale hackerilor. Acest lucru nu mai este valabil ncepand cu mijlocul anului 1990; orice calculator mai bun dect un Intel 486DX50 va avea suficient putere pentru dezvoltare, grafic, i comunicaii internet, i cele mai mici discuri pe care le poi cumpra astzi ofer spatiu de stocare suficient. Cel mai important lucru n alegerea unui calculator este compatibilitatea Linux ( sau BSD dac decizi s urmezi acest drum). Acest lucru este valabil pentru majoritatea calculatoarelor noi. Singura parte problematica o reprezint modemurile; unele calculatoare au componente specifice Windows care nu vor funciona sub Linux. Raspunsuri la ntrebri frecvente legate de compatbilitate gasiti aici. Q: Vreau s contribui. Poi s m ajui s aleg o problem la care s lucrez? A: Nu, pentru c nu tiu care sunt talentele i interesele tale. Trebuie s fi automotivat, din aceast cauz proiectele alese de ali oameni aproape niciodat nu reuesc. ncearc astfel. Privete anunurile de proiecte pentru cteva zile la adresa Freshmeat. Cnd vezi unul care te face s zici "Super! A vrea s lucrez la acest proiect!", nscrie-te. Q: Trebuie s ursc Microsoft? A: Nu, nu trebuie. Nu pentru c nu ar merita, ci pentru c a existat o cultur a hackerilor cu mult nainte de Microsoft i va mai exista una i dup ce Microsoft va fi istorie. Energia pe care o consumi urnd Microsoft poate fi folosit mai util pentru a-i mbuntii capacitile. Scrie programe bune care s discrediteze Microsoft fr a-i polua karma. Q: Programele open-source pun programatorii n imposibilitatea de a ctiga bani? A: Acest lucru pare improbabil pentru moment, industria de programe open-source a creat locuri de munc noi. Dac a avea un program scris reprezint un ctig economic fa de faptul de a nu-l avea, programatorul va fi pltit indiferent dac programul va fi open-source dup ce este gata. i nu conteaz ct de multe programe gratis sunt scrise, mereu va exista cerere pentru noi aplicaii. Am scris mai multe despre acest subiect pe paginile Open Source

Q: Cum ncep ? Unde gsesc o veriune gratis de Unix? A: Dac ncerci s gaseti un prim proiect pe care s-l faci nu m ntreba pe mine. n schimb urmarete proiectele de pe Freshmeat unde e posibil s gseti ceva interesant la care s poti s contribui. Dac nu ai instalat un sistem Unix pe calculator nc, n aceast pagin gseti legturi ctre locuri unde s gseti cele mai populare versiuni de Unix. Pentru a fi un hacker i trebuie iniiativ i abilitatea de a te educa singur. Incepe acum ...... Tradus de Savu Andrei - 21 ianuarie 2006. Mai multe despre mine pe blog. Vrei sa vezi ceva interesant? Intra pe www.youmago.ro si o sa gasesti aproape orice iti imaginezi.

S-ar putea să vă placă și