duminică, 19 octombrie 2008

Despre Yahoo


In primul rand vreau sa-mi cer scuze pentru inevitabilele greseli de ortografie deoarece sunt multe subiectepe care vreau sa le acopar in acest articol si nu am timp sa mai si verific ce am scris deja.
Urmatorul articol este rezultatul a vreo doua saptamani de cautari, teste, munca si nervi si va acopericateva aspecte ale Yahoo’ului cred eu destul de interesante pe care poate ca unii dintre voi le cunoasteti deja,scopul fiind sa clarifice cateva “mituri” despre Yahoo si sa raspunda la unele din intrebarile pe care poate vile-ati pus vreodata.
PARTEA I. Algoritmul de codare “yahoo64″
Acest algoritm este folosit de Yahoo oriunde trebuie transformat un sir de caractere neprintabile intr-unsir de caractere printabil.Se numeste “codare” si nu “criptare” deoarece nu ofera absolut nici o protectie pentru sirul de caractere decodat. Fara a intra in aspecte criptografice trebuie metionat ca yahoo64 este foarte asemanator cu base64insa are un charset extins.Charsetul yahoo64 este urmatorul “ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._”
yahoo64 are cateva caracteristici distincte care trebuie mentionate:> toate caracterele din stringul codat fac parte din charsetul de mai sus> lungimea stringului este multiplu de 4> in functie de lungimea stringului initial, la sfarsitul stringului criptat ultimele caractere pot fi “-”sau “–”.
Pentru mai multe detalii studiati cele doua functii php(pentru codare si decodare) de la sfarsitul acestuiarticol.
PARTEA II. Analiza tokenului Yahoo
Din cate am observat pana acum tokenul Yahoo este o insumare a userului si parolei de Yahoo, unic pentrufiecare username in parte dar care se modifica (doar partial) la schimbarea parolei.In esenta posesia acest token exprima ca posesorul este fie userul fie o entitate care are permisiuneauserului de a actiona in numele acestuia pe serverele Yahoo.
Un user isi poate obtine acest token prin accesarea linkului urmator:
Cod:
https://login.yahoo.com/config/pwtoken_get?src=ymsgr&login=[USERNAME]&passwd=[PASSWORD]
unde [USERNAME] si [PASSWORD] sunt o combinatie username/parola Yahoo VALIDE.
Utilitatea acestui token este ca poate oferi oricand un COOKIE valid de Yahoo.
Cod:
https://login.yahoo.com/config/pwtoken_login?src=ymsgr&token=[TOKEN]
Un exemplu de raspuns la un reqest catre “https://login.yahoo.com/config/pwtoken_get” poate fi acesta:
Cod:
0ymsgr=AGG6e0diD9m.3D4YlFPVcdBT1wFXKSBWP0Hl.gyQKd.qec8-partnerid=KSBWP0Hl.gyQKd.qec8-
“ymsgr” este tokenul despre care am vorbit mai devreme si dupa cum se observa “partnerid” face parte din acesttoken (la sfarsit). Acest “partnerid” este unic pentru fiecare utilizator in parte si nu se modifica la schimbareaparolei, iar lungimea acestuia variaza in functie de lungimea username’ului.
Dupa cum se poate observa lungimea tokenului este de 48 si se termina cu un “-” deci este evindent codatcu yahoo64. Dupa decodare obtinem urmatorul sir de caractere (unde fiecare 2 caractere reprezinta valoareahexadecimala a unui singur caracter din tokenul decodat):
Cod:
00 61 BA 7B 47 62 0F D9 BE DC 3E 18 94 53 D5 71D0 53 D7 01 57 29 20 56 3F 41 E5 FA 0C 90 29 DF AA 79 CF
La toate tokenurile pe care le-am vazut pana acum primul caracter este intotdeauna “0×00″Urmatoarele 4 caractere reprezinta timestampul (numarul de secunde care au trecut din 1-1-1970) la care userula fost creeat sau cand parola a fost schimbata, doar ca timestampul este inversat deci pentru exemplul de maisus timestampul va fi 0×477BBA61 (decimal 1199290977) adica “Wed, 2 Jan 2008 16:22:57 GMT”
Daca decodam “partnerid” vom obtine urmatorul string:
Cod:
29 20 56 3F 41 E5 FA 0C 90 29 DF AA 79 CF
care dupa cum sa observa sunt ultimele 14 caractere de la sfarsitul tokenului.
Daca din token eliminam primul caracter (00) timestampul (61 BA 7B 47) si parnerid’ul decodat vom ramane cu
Cod:
62 0F D9 BE DC 3E 18 94 53 D5 71 D0 53 D7 01 57
Acest string rezultat are o lungime de 16 caractere ceea ce duce la concluzia ca este un hash MD5 (md5() produceun hash de 128 de biti adica 16 caractere intre 0×00 si 0xFF, a nu se confunda cu md5_hex() care produce unstring de 32 de caractere reprezentand valorile hexadecimale ale celor 16 caractere produse de md5() )
La schimbarea parolei se modifica doar timestampul si acest hash MD5 ceea ce ma face sa cred ca din stringulinitial (care produce hashul) face parte fie timestampul fie parola fie ambele.
Trebuie sa mentionez pentru cei care vor face teste ca acest token trebuie pastrat SECRET deoarece dupa cumam spus si mai sus cunoasterea tokenului poate duce la compromiterea contului (parola NU trebuie sa fie cunoscutapentru a obtine un set de cookiuri)
PARTEA III. Yahoo! Messenger “Remember my ID & password”
Incepand cu versiunea 7.x.x.x Yahoo! Messnger NU mai memoreaza parola atunci cand optiunea “Remember my ID& password” este bifata. In schimb este memorat tokenul despre care am vorbit mai sus deoarece dupa cum o sa aratmai tarziu tokenul este suficient pentru logarea cu succes la serviciul messenger.
Pentru memorare tokenul este criptat si stocat in registrii windows in cheia
Cod:
HKEY_CURRENT_USER\Software\Yahoo\Pager\ETS
Userul este de asemenea salvat deoarece este necesar pentru decriptare
Cod:
HKEY_CURRENT_USER\Software\Yahoo\Pager\Yahoo! User ID
Nu voi da un exemplu de astfel de string deoarece desi algoritmul de criptare imi este deocamdata necunoscut poatefi totusi decriptat si extras un token folosind functii din “YahooMessenger.exe”.
Analiza pe care am facut-o unui string ETS este destul de sumara: tokenul este criptat folosind o cheie formatadin “MBCS sucks”+USERNAME. Stringul rezultat fiind apoi codat cu yahoo64 si stocat in registrii la cheia ETS.
Pentru crackeri decriptarea se face in “YahooMessenger.exe” (8.1.0.421) la offsetul 0×004862AA unde functialocala de la offsetul 0×006FCEC0 primeste urmatorii 9 parametrii1. Stringul ETS2. Lungimea stringului ETS3. Pointer catre tokenul decriptat4. Pointer catre lungimea tokenului5. Cheia de decriptare “MBCS sucks[USERNAME]”6. Lungimea cheii de decriptare7. 0×008. 0×009. 0×00
PARTEA IV. Autentificarea YMSGR v15
In continuare voi presupune ca sunteti deja familiarizati cu protocolul Yahoo! Messenger(formarea pachetelor siparametrii unui pachet)
Este de mentionat ca din motive de compatibilitate YMSGR15 accepta si logarea clasica user/password dar mult maiimportant este ca Yahoo! Messnger foloseste si logarea cu COOKIE.
Pentru o logare cu succes Yahoo! Messnger face urmatorii pasi:
-Daca optiunea “Remember my ID & password” este bifata decripteaza stringul ETS si obtine un token, daca nuva folosi userul si parola introduse pentru a face un request la “https://login.yahoo.com/config/pwtoken_get”pentru a obtine tokenul
-Dupa conectarea la unul din serverele yahoo trimite un pachet VERIFY (0×4C)
-Daca primeste un raspuns valid VERIFY de la server incepe procedura de autentificare
-Trimite un pachet AUTH (0×57) cu parametrii:“1″ - USERNAME
-Primeste un pachet AUTHRESP (0×54) din care extrage valoarea parametrului “94″ (CHALLENGE)
-Avand un token valid al userului va face un request catre “https://login.yahoo.com/config/pwtoken_login”pentru a obtine valorile “Y” si “T” ale cookieului precum si valorea “crumb” (CRUMB)
-Creeaza un string (STRING307) astfel yahoo64(md5(CRUMB+CHALLENGE))
-Trimite un pachet AUTHRESP (0×54) cu parametrii:“277″ - parametrul Y“278″ - parametrul T“307″ - STRING307“0″ - USERNAME“2″ - USRNAME“2″ - “1″“1″ - USERNAME“244″ - un numar random (ex. “2097087″)“98″ - “us”“135″ - versiunea clientului (ex. “8.1.0.421″)“148″ - “-120″
-Daca totul e in regula userul este autentificat iar serverul trimite buddy listul si alte informatii cum armailuri noi, add buddy request etc.
PARTEA V. Analiza si explicatia cookiurilor Yahoo
Odata cu autentificarea la un serviciu Yahoo userul primeste cookiurile “Y” si “T” deci analiza mea a fostconcentrata doar asupra acestor 2 cookiuri.Cookieul Y poate fi configurat sa expire dupa o valoare intre 15 minute si 24 de ore dar cookieul T expira deobicei la inchiderea browserului sau la logout. Pentru serviciile cu securitate scazuta cum ar fi pagina “My Yahoo”cookiul Y este suficient dar pentru cele mai importante cum ar fi mail,calendar etc.. cookieul T este obligatoriu.Dupa cum probabil ati observat un cookie Yahoo este format din perechi “parametru=valoare”. In continuare voianaliza parametrii care formeaza fiecare cookie si voi incercat sa prezent o explicatie pentru prezenta sau scopul lor.
-Cookieul Y:
Exemplu:
Cod:
Y=v=1&n=9mioklmar8tku&l=glagla/o&p=m2509oh012000000&r=in&lg=en-US&intl=us&np=1
Contine usernameul,un ID unic si cateva informatii demografice. De obicei acesta ramane neschimbat pentruun anumit user modificandu-se doar ID’ul unic (la schimbarea parolei) si informatiile demografice (la schimbareaadresei, limba utilizata, etc…)
Dupa cum se observa este format din parametrii v,n,l,p,r,lg,intl si np dar nu toti sunt necesari pentruautentificarea cu succes al unui user.
Parametrul “n” este un ID unic intern al utilizatorului (se modifica doar la schimbarea parolei) care estecomparat cu o valoare interna yahoo la anumite requesturi pentru obtinerea de informatii sau pentru expirareaautomata a tuturor cookiurilor vechi odata cu schimbarea parolei.
Parametrul “l” este usernameul codat cu un algoritm simplu de substitutie unde fiecare caracter din user are uncorespondent intr-un alt string dupa cum urmeaza:
Cod:
PLAINTXT=klmnopqrstuvwxyz0123457896abcdefghij._ENCODED=abcdefghijklmnopqrstuvxyzw0123456789._
Astfel pentru cookiul de mai sus username’ul este “qvkqvk”
Parametrul “p” contine diverse informatii despre utilizator cum ar fi sex, data nasterii, tara, etc.
Restul parametrilor contin de asemenea diverse informatii despre limba, anumite setari, etc.
-Cookieul T:
Exemplu:
Cod:
T=z=Cr7eHBCxQfHBJkF/Bqb4dnUMzIwBjVPNDQzNDFOME8-&a=QAE&sk=DAAk3Lb2EiyEEM&ks=EAA3i37q0zwFhuCnF6cflaKHg–~A&d=c2wBTkRVM0FUSTRNek0wTXpZNU56Zy0BYQFRQUUBenoBQ3I3ZUhCZ1dBAXRpcAFzNkpUZEM-
Contine un timestamp si o semnatura digitala simetrica. Acesta se modifica la modificarea timpului(oricate cookiurigenerate intr-o singura secunda sunt identice)
Este format din parametrii z,a,sk,ks si d dar pentru autentificare la serviciile web sunt necesari doarparametrii sk,ks si d. Pentru autentificare Yahoo! Messenger “z” este insa obligatoriu.
Parametrul “z” exista pentru compatibilitate cu servicii mai vechi dar este de asemenea in stransa legatura cuvaloarea CRUMB obtinuta pentru autentificarea Yahoo! Messenger. Acesta este un string criptat cu yahoo64 dardecodarea acestuia nu prezinta nici o informatie evidenta)
Parametrul “a” (de obicei are valoarea “QAE”) contine diverse flaguri pentru expirare si protectia minorilor.
Parametrul “sk” reprezinta sesiunea (session key) si este calculat din username, ID unic si timestamp precumsi dintr-un string cunoscut doar pe serverele Yahoo (Yahoo shared secret)
Parametrul “ks” reprezinta (din observatiile mele) un hash al parolei utilizatorului sau un alt string careinlocuieste parola deoarece lipsa acestui este urmata de obligatia introducerii parolei(pe serverele web Yahoo).Daca ignoram primele 3 caractere care nu se schimba (”DAA”) si ultimele 2 caractere care de asemenea nu seschimba (”~A”) obtinem un string codat yahoo64 reprezentand cel mai probabil un hash MD5 (stringul decodat are16 caractere) cel mai probabil de asemenea generat folosind un shared secret.
Parametrul “d” contine sesiunea utilizatorului si cateva informatii pentru compatibilitate.Acesta este un string codat yahoo64. Dupa decodarea valorii “d” din exemplul de mai sus obtinem urmatorul string:(unde [SEP] este caracterul hexadecimal 0×01)
Cod:
sl[SEP]NDU3ATI4MzM0MzY5Nzg-[SEP]a[SEP]QAE[SEP]zz[SEP]Cr7eHBgWA[SEP]tip[SEP]s6JTdC
Se poate observa ca acest string este de asemenea o insiruire de perechi “parametru=valoare” astfel:
Cod:
sl=NDU3ATI4MzM0MzY5Nzg-&a=QAE&zz=Cr7eHBgWA&tip=s6JTdC
Valoarea parametrului “sl” este de asemenea un string criptat yahoo64:
Cod:
457[SEP]2833436978 (sau 457=2833436978)
Acest numar este unic pentru fiecare username si nu se modifica la schimbarea parolei
Parametrul “a” este acelasi cu parametrul “a” din cookiul “T”
Parametrul “zz” reprezinta in esenta un contor de timp. Valorile pe care le poate lua un caracter facand parte dincharsetul yahoo64 cu singura diferenta ca “_” este inlocuit de “/”.Cea mai buna analogie pe care o pot face incercand sa explic acest parametru este aceea cu un kilometraj de masina,Adica fiecare caracter(de la stanga la dreapta) poate fi asemanata cu o rotita cu valorile din charset. atunci candprimul caracter termina o rotatie completa prin toate pozitiile, al doilea caracter creste cu o pozitie continuandin aclasi mod pana la al 6-lea caracter. Stiind ca primul caracter creste cu o pozitie pe secunda se poate aflatimestampul la care un anumit cookie a fost generat. (cand userul s-a logat serviciul respectiv)
Parametrul “tip” este acelasi pentru toti utilizatorii Yahoo dar se schimba periodic (nu stiu intervalul exact)
Cam atat cu acest articol si felicitari pentru cei care au avut rabdarea sa-l citeasca pana la capat.Astept pareri sau adaugiri cu privire la aceste subiecte.
Algoritmul de codare yahoo64:
Cod:
>2];$dest.=$yahoo64[((ord($source[$i])<<4)&0×30)>>4)];$dest.=$yahoo64[((ord($source[$i+1])<<2)&0×3c)>>6)];$dest.=$yahoo64[ord($source[$i+2])&0×3F];}switch(strlen($source)-$limit){case 1:{$dest.=$yahoo64[ord($source[$i])>>2];$dest.=$yahoo64[(ord($source[$i])<<4)&0×30];$dest.=’–’;}>>2];$dest.=$yahoo64[((ord($source[$i])<<4)&0×30)>>4)];$dest.=$yahoo64[((ord($source[$i+1])<<2)&0×3c)];$dest.=’-';} i="0;$i<64;$i++)" yahoo64="”ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._”;$len="strlen($source);if($source[$len-1]="="’-')" plus="2;" plus="1;">0) { $len-=4; };
$dest=”";for($i=0;$i<$len;$i+=4){$chr1=Index($yahoo64,$source[$i]);$chr2=Index($yahoo64,$source[$i+1]);$chr3=Index($yahoo64,$source[$i+2]);$chr4=Index($yahoo64,$source[$i+3]);$dest.=chr(($chr1<<2)($chr2>>4));$dest.=chr((($chr2&0xF)<<4)($chr3>>2));$dest.=chr((($chr3&0×3)<<6)($chr4&0×3f));}switch($plus){case chr1="Index($yahoo64,$source[$i]);$chr2="Index($yahoo64,$source[$i+1]);$dest.="chr(($chr1<<2)($chr2">>4));} break;
case 2:{$chr1=Index($yahoo64,$source[$i]);$chr2=Index($yahoo64,$source[$i+1]);$chr3=Index($yahoo64,$source[$i+2]);$dest.=chr(($chr1<<2)($chr2>>4));$dest.=chr((($chr2&0xF)<<4)($chr3>>2));} break;}return($dest);}
//usage example
$string=”any string”;print(”Original string=$string
\n”);
$encoded=yahoo64_encode($string);print(”Encoded string=$encoded
\n”);
$decoded=yahoo64_decode($encoded);print(”Decoded string=$decoded
\n”);?>

Despre tilulilu


In fine, asta e o opinie pertinenta din punct de vedere al originalitatii si continutului site-ului dar ca design e ok. E dragut, simplist, chiar foarte simplu de utilizat, ca implementare nu cred ca si’au tocit prea mult neuronii baietii cu bani (cica dau 4000Euro / luna sa sustina lulatrula online) si au refuzat chiar 100 de mii de Euro sau chiar mai mult ca oferte iar ei sustin ca scot bani din reclame… btavo lor sa’i scoata dar din ce fel de reclame ?
Banuiesc ca trebe sa faca reclame la prezervative, papusi gonflabile, lubrefianti, si alte asemenea accesorii pentru “manuela” ca la cata substantza feminina e pe trilulilu o sa se transforme in PorliLola …
Am vazut ca au si muzica, oare pentru ce ? ca personal nu am ascultat never ceva audio pe alt site decat daca’mi inunda urechila de la intrare, da’ clik nu obisnuiesc. Ce sa ascult ? Muzica ? pai vere, de aia e pe huburi, tone, terra-tone de MP3 de n’or sa aiba trilulistii bani sa cumpere hdd’uri sa le puna pe toate cat e hau de adanc… cate se pot lua de pe retelele p2p (adica de pe huburi) nu am par in cap si nisip in fata blocului!
Continutul video sincer nu ma intereseaza, ce e pe truliluli gasesc pe YouTube, MetaCafe, de zeci de mii de ori mai mult!
Vreti o idee originala ? … ma gandeam sa fac rost de 100 de mii de Euro si 10 oameni sa o impelemntam in 3 luni, dar nu am cu cine sa ma inteleg nimeni nu intelege conceptul asa ca m’am decis s’o vand cu 1 Mil de $, sare cineva cu oferta ? … a nu stiti despre ce e vorba ? … conteaza ? ai bani, ? vrei sa faci mai mult ? … painea o mananci dupa ce ai dat banii hehe sa fim noi sanatosi ca timpul trece triullilu mere ca triluliul si uite asa traiesc si ei traim si noi, fiecare cu ale lui

Fericirea

Fericirea….. Ce este fericirea? De ce sa fiu fericita? Este o intrebare care ma chinuie de vreo 2 ani. Si asta seara am gasit raspunsurile:

Sa ma bucur. Sa plâng. Sa plec.Sa dorm. Sa beau. Sa ma întorc.Sa gândesc. Sa m?nânc. Sa cunosc.Sa fiu bun. Sa studiez. Sa urinez.Sa iubesc. Sa ma trezesc. Sa fiu iubit.Sa dansez. Sa mângâi. Sa d?ruiesc.Sa admir. Sa simt. Sa primesc.Sa c?l?toresc. Sa lenevesc. Sa gre?esc.Sa citesc. Sa râgâi. Sa uit.Sa ascult. Sa m? plimb. Sa meditez.Sa vorbesc. Sa v?d. Sa mi?c.Sa cânt. Sa tip. Sa exist.Sa traiesc Sa traiesc Sa traiesc… … …Totul e important. Nu neglijati nimic. În fond, nimic nu e mai important ca viata. Iar viata este trait cu adevarat daca esti FERICIT.

NovaTim si politetea

Astazi la Nova Tim (parte dintr-un lant de marketuri de cartier). Desi voiam doar un pachet de tigari, ma asez la coada in spatele a 2 persoane. Apare un tip grabit care sa vrea 10 pachete de tigari sa se impinga in fata. Vanzatoarea se stramba si ii arunca in scarba restul alaturi de cartusul de Marlboro rosu, dupa ce serveste persoanele din fata mea. Il las in pace, u ma grabesc asa de tare.
O babuta cu 2 cosuri pline de ceapa, branza si alte nimicuri care se cumpara de la piata daca le vrei proaspete, langa mine. Isi planteaza unul dintre cosuri pe masa, sub nasul vanzatoarei. Ii atrag atentia ca mai eram si eu la rand, ea da sa se scuze, ca nu intentiona neaparat sa-mi ia locul, dar ca vanzatoarea ii facuse semn.
Spun ok, cer un pachet de Lucky Lights, dar sare ca arsa vanzatoarea mea iubita: “Cum poti sa-i vorbesti unei persoane mai mare ca tine asa? Asteapta!” -”O persoana cu un cap mai mica decat mine, dar cu vreo 50 de ani mai in varsta, care se baga in fata”, imi spun in gandul meu. Se apuca sa-i scanezele si ma lasa sa astept.
Simt cum toata ura fata de vanzatoarele proaste mi se urca la cap, Imi vine sa o injur, imi vine sa-i spun ca nu-mi plac persoanele nesimtite si proaste, imi vine sa-i spun ca nu o duce capul destul incat sa inteleaga politetea, imi vine sa o intreb daca seful stie cum se comporta angajatele, dar nu-mi iese din gura decat un:
“OK, mersi mult de amabilitate, o sa cumpar din alta parte.”
Si ma mai intreba lumea de ce urasc vanzatoarele… de ce incerc sa platesc doar cu cardul, de ce imi plac procesele automate si as comanda totul de pe net sau de ce refuz pur si simplu sa cumpar de la anumite magazine. Ca sa nu-mi fac nervi, de aia.

Dumnezeu ma spameaza

Mi-a dat azi mail dumnezeu sa-mi spuna ca sunt limitat. Imi venea sa-l bag in ma-sa cu tot cu adresa lui de mail nasoala. De fapt ce m-a enervat e ca a fost indecis: ba politicos, ba nesimtit, ba vorbea despre el la persoana a 3-a, ba la intai. In plus, nici nu s-a limitat la un singur email - mi-a dat doua!
Poftim, sa (va) radeti si voi
Acum traiti deja ultimii ani ai Apocalipsei, iar Judecata de Apoi este foarte aproape. Umanitatea mai are o sansa inainte de trecerea in noua Era. Fii unul dintre cei alesi! Semne si avertizari au fost date pretutindeni si Fiul Meu este printre voi, pe Pamant. E greu sa IL recunoasteti daca incercati sa-L cuprindeti cu mintea voastra limitata, insa o inima deschisa IL va simti imediat.
Urmarea sfaturilor Sale e ultima sansa spre Mantuire, Iubire, Prietenie si Compasiune, iar adevaratele Lui mesaje sunt in cartea “Autobiografie” semnata Messia Iisus Hristos! Citeste cartea si accepta sansa pentru a deveni in sfarsit Omul lui Dumnezeu!
Te binecuvantez si veghez asupra ta!
Amin!

De ce nu spun barbatii “te iubesc”?

De ce nu spun barbatii “te iubesc”?
17 Octombrie 2008 6:13
E simplu, a’ dracului de simplu. Pentru ca sunt prea fraieri incat sa riste sa “pice” de fraieri in prima faza, mai apoi pentru ca sunt prea fraieri sa recunoasca (ce? eu indragostit?!? daca-mi scade scurtimea penisului?), iar in cele din urma pentru ca sunt prea fraieri incat sa renunte la comoditate.
In prima faza barbatii sunt mai sensibili si mai femei decat femeile. Nu vor sa sufere si nu vor sa recunoasca ca ar putea suferi. Si asta doar pentru ca sunt egoisti. Chiar daca s-au indragostit de persoana “potrivita”, chiar daca nu - nu o sa recunoasca in primele 2 luni (ei spera ca vraja se reupe in timpul asta) nici sa-i pici cu ceara pe parul de pe cur.
Chiar daca vraja se simte impartasita in primele 2 zile sau in primele 2 luni, semnele subtile nu tin. Barbatii nu inteleg decat prostescul-sec “te iubesc”. Partea proasta e ca nici dupa ce-l aud nu pot recunoaste reciprocitatea. Logica de aici bate toate ideile femeiesti. Nici noi ca barbati nu intelegem.
Culmea e ca nici dupa luni si luni de zile (ani sau ce or fi) barbatii nu vor spune doritul “te iubesc” (ma rog, curvele masculine il vor spune inca din prima seara). S-au obisnuit cu “te iubesc-ul” femeilor si vor replica “si eu” - mai mult din jena. Nu pentru ca nu l-ar simti, ci doar pentru simplul fapt ca le e jena ca nu l-au spus ei primii… in prima seara.
Si cica femeile sunt complicate. La dracu! Noi suntem. Chiar daca tot ce vrem se rezuma la blow-job, sex in toate pauzele de lucru, bere si fotbal. Damn.