{"id":40151,"date":"2020-01-31T20:49:28","date_gmt":"2020-01-31T17:49:28","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/bitva-koderov-ya-protiv-togo-parnya-s-vnc"},"modified":"2020-01-31T20:49:28","modified_gmt":"2020-01-31T17:49:28","slug":"bitva-koderov-ya-protiv-togo-parnya-s-vnc","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/bitva-koderov-ya-protiv-togo-parnya-s-vnc","title":{"rendered":"B\u0103t\u0103lia coderilor: eu \u00eempotriva acelui tip cu VNC","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>\u00cen <noindex><a rel=\"nofollow\" href=\"https:\/\/martinrue.com\/\">acest blog<\/a><\/noindex> au fost publicate multe pove\u0219ti despre programatori. \u00cemi place s\u0103 \u00eemi amintesc de vechile mele prostii. Ei bine, iat\u0103 o alt\u0103 astfel de poveste.<\/p>\n<p>M-am interesat pentru prima dat\u0103 de computere, \u00een special de programare, c\u00e2nd aveam aproximativ 11 ani. La \u00eenceputul liceului,<b>mare<\/b>cea mai mare parte a timpului liber m-am jucat cu C64-ul meu \u0219i am scris \u00een BASIC, apoi taie codul prost cu foarfeca. <noindex><a rel=\"nofollow\" href=\"https:\/\/martinrue.com\/give-yourself-more-playtime\/\">Nu glumesc, cu foarfeca<\/a><\/noindex>.<\/p>\n<p>Dup\u0103 \u0219coal\u0103 (la v\u00e2rsta de aproximativ 16 ani), copiii britanici merg de obicei la colegiu, unde aleg s\u0103 studieze trei-patru materii \u00eenainte de a merge la universitate. Av\u00e2nd \u00een vedere dragostea mea pentru cutia bej \u0219i caseta de acas\u0103, am decis c\u0103 a studia 'informatic\u0103' la colegiu era alegerea corect\u0103.<\/p>\n<p>Cursul mi-a pl\u0103cut mai mult dec\u00e2t m\u0103 a\u0219teptam; acolo am descoperit pentru prima dat\u0103 Pascal \u0219i Delphi.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n\u00cen pauzele dintre cursuri, studen\u021bii puteau lucra la orice ma\u0219in\u0103 liber\u0103 din sala de computere. Imagineaz\u0103-\u021bi: o camer\u0103 uria\u0219\u0103, destinat\u0103 undeva la o sut\u0103 de persoane, cu r\u00e2nduri de mese pline de ma\u0219ini \u2013 genul acela \u00een care monitorul st\u0103 pe unitatea central\u0103. Un zumzet constant al ventilatoarelor, bilele de mouse care trosnesc pe mese ne\u00eencetat. Aerul avea un miros ciudat, ca \u0219i cum 50-100 de adolescen\u021bi care eman\u0103 hormoni se schimbau periodic pentru a r\u0103ci sute de cipuri Pentium III.<\/p>\n<p>\u00cen ciuda riscurilor pentru s\u0103n\u0103tate, \u00eemi pl\u0103cea s\u0103 stau la computer c\u00e2nd aveam un minut liber.<\/p>\n<p>\u00cen camer\u0103 era un administrator de serviciu, un b\u0103rbat scund de v\u00e2rst\u0103 medie, ales pentru acest rol din cauza dorin\u021bei sale ne\u00eenfr\u00e2nate de a deveni un dictator r\u0103u. Asta cred. A fost o euforie sl\u0103bit\u0103 s\u0103 spun a\u0219a, tipul chiar iubea munca sa. I s-a \u00eencredin\u021bat responsabilitatea de a men\u021bine ordinea, astfel \u00eenc\u00e2t nimeni s\u0103 nu foloseasc\u0103 computerul pentru ceva nepotrivit.<\/p>\n<p>\u0218i p\u00e2n\u0103 \u00een ziua de azi, intui\u021bia \u00eemi spune c\u0103 premiul administratorului depindea direct de num\u0103rul de studen\u021bi pe care \u00eei prindea \u0219i \u00eei expulza din sala de computere. Sunt aproape sigur c\u0103 tipul \u0103sta \u0219i-a pl\u0103tit anticipat ipoteca.<\/p>\n<p>El se afla \u00een col\u021bul din spate al s\u0103lii de computere, la o mas\u0103 unghiular\u0103. \u0218i se putea spune cu certitudine c\u0103 monitoarele sale fertile au g\u0103sit o modalitate de a se reproduce cu un timp de gesta\u021bie impresionant de scurt \u2014 at\u00e2t de multe erau. R\u0103m\u00e2nea doar s\u0103 ne \u00eentreb\u0103m dac\u0103 reu\u0219ea s\u0103 le supravegheze pe toate. Desigur, glumesc... Am men\u021bionat c\u0103 el lua munca foarte \u00een serios?<\/p>\n<p>Pe atunci, re\u021beaua de computere func\u021biona sub Windows 2000. Cur\u00e2nd am descoperit c\u0103, de fiecare dat\u0103 c\u00e2nd m\u0103 conectam, se lansa un script care pornise serverul VNC din contul de admin pentru acces de la distan\u021b\u0103 la desktop. De fiecare dat\u0103 c\u00e2nd acel tip voia s\u0103 te supravegheze, se conecta direct la ma\u0219ina ta \u0219i observa. Era \u00eenfrico\u0219\u0103tor, iar dac\u0103 m\u0103 g\u00e2ndesc acum, probabil c\u0103 era ilegal.<\/p>\n<p>Dup\u0103 ce m-am familiarizat cu BASIC \u0219i C64, acum scriam \u00een C \u0219i chiar pu\u021bin \u00een C++. Atunci, m\u0103 fascinase foarte mult \u0219i limbajul D, care rezolva unele deficien\u021be ale C++, a\u0219a cum mi se p\u0103rea atunci.<\/p>\n<p>De obicei, intram \u00een sala de computere pentru a citi ceva nou despre D sau pentru a experimenta cu compilatorul Digital Mars D. Uneori, distr\u0103g\u00e2ndu-m\u0103 de g\u00e2nduri despre viitorul m\u0103re\u021b al lui D, scriam cod \u00een C pentru a hack-ui alte aplica\u021bii Win32 prin descriptorii feron\u021belor lor.<\/p>\n<p>\u00cen vremurile bune ale program\u0103rii pe Win32, c\u0103utarea descriptorului de fereastr\u0103 era cea mai simpl\u0103 metod\u0103 de a hack-ui alte programe. Este evident c\u0103 toate programele cu interfa\u021b\u0103 grafic\u0103 din Windows aveau o fereastr\u0103, chiar dac\u0103 nu era vizibil\u0103 pe ecran. Scriind un program pentru a extrage descriptorul unui alt proces (practic, un link c\u0103tre acesta), puteai s\u0103-i trimiti mesaje. Acest lucru permitea efectuarea unor opera\u021biuni de baz\u0103, cum ar fi ascunderea\/afi\u015farea feron\u021belor programului, dar \u0219i lucruri cu adev\u0103rat interesante, cum ar fi for\u021barea procesului s\u0103 \u00eencarce o DLL arbitrar\u0103 \u00een spa\u021biul s\u0103u de memorie \u0219i s\u0103 \u00eenceap\u0103 executarea codului. Dup\u0103 injectarea DLL, \u00eencepea partea cea mai interesant\u0103.<\/p>\n<p>\u00cen primele o lun\u0103 \u0219i jum\u0103tate, acest detectiv nu m-a deranjat prea mult, s-a conectat la serverul VNC de pe ma\u0219ina mea doar o dat\u0103 sau de dou\u0103 ori. Dar o sesiune anume a trezit probabil interesul lui. Scriam un cod \u00een C pentru a ascunde feroneriile jocului Minesweeper (f\u0103r\u0103 a le \u00eenchide), ca s\u0103-mi fie mai u\u0219or s\u0103 joc \u00een clas\u0103, \u0219i atunci am observat c\u0103 iconi\u021ba alb\u0103 VNC din tava sistemului a devenit neagr\u0103. Asta \u00eensemna c\u0103 acum m\u0103 observa.<\/p>\n<p>Am continuat s\u0103 codific ca de obicei, \u00eencerc\u00e2nd s\u0103 nu-i acord aten\u021bie. \u00centre timp, ma\u0219ina a \u00eenceput s\u0103 se \u00eencetineasc\u0103 considerabil, \u00eencerc\u00e2nd s\u0103 transmit\u0103 frecven\u021ba maxim\u0103 de cadre pe unul dintre numeroasele monitoare din col\u021bul camerei. Windows aproape c\u0103 a \u00eencetat s\u0103 mai r\u0103spund\u0103, iar c\u00e2nd mi-a pierdut r\u0103bdarea, am ie\u0219it din sistem \u0219i am terminat pentru ast\u0103zi.<\/p>\n<p>\u00cen timpul vizitelor urm\u0103toare \u00een sala de calculatoare, Columbo a manifestat aproape de fiecare dat\u0103 un interes viu pentru ce f\u0103ceam. Aproximativ dup\u0103 a patra oar\u0103, am decis c\u0103 trebuie s\u0103 fac ceva \u00een leg\u0103tur\u0103 cu asta.<\/p>\n<p>Accept c\u0103 o persoan\u0103 ra\u021bional\u0103 \u0219i \u00een\u021beleapt\u0103 ar fi putut pur \u0219i simplu s\u0103 abordeze aceast\u0103 problem\u0103 direct cu el sau cu superiorul s\u0103u. Totu\u0219i, am cedat mereu tenta\u021biei \u0219i m-am convins rapid s\u0103 aleg o strategie complet diferit\u0103.<\/p>\n<p>\u2014 Nu vei putea face nimic f\u0103r\u0103 acest server VNC! \u2014 mi-am spus cu calm \u0219i fermitate de mai multe ori.<\/p>\n<p>Trebuia s\u0103 elimin VNC.<\/p>\n<p>Am \u00eenceput s\u0103 intru \u00een sala de calculatoare cu grupuri mari de studen\u021bi \u0219i s\u0103 m\u0103 a\u0219ez c\u00e2t mai departe de col\u021bul cu monitoarele. O vreme a func\u021bionat \u0219i mi-a oferit pu\u021bin timp s\u0103 verific ideile.<\/p>\n<p>Prima mea \u00eencercare, cred c\u0103 vei fi de acord, a fost destul de slab\u0103. D\u00e2nd clic dreapta pe iconi\u021ba VNC din tava sistemului, am v\u0103zut un meniu cu literele magice E-X-I-T. Din p\u0103cate, literele erau scrise cu un font gri conturat. Administratorul dezactivase op\u021biunea \u201eIe\u0219ire\u201d prin editorul de politici de grup. Am \u00eencercat s\u0103 termin procesul din Task Manager, dar, desigur, acesta era invizibil pentru mine, deoarece rula sub un cont mai privilegiat. Nu am reu\u0219it nimic.<\/p>\n<p>Serverul VNC ruleaz\u0103 pe portul TCP 5900, mi-am amintit. Planul meu urm\u0103tor era s\u0103 trimit pachete corupte pe acest port pentru a-l bloca.<\/p>\n<p>Cel pu\u021bin c\u00e2teva zile am analizat protocolul, trimi\u021b\u00e2nd spre portul 5900 diferite forme de d\u0103r\u00e2mare structurat\u0103 corect, sper\u00e2nd c\u0103 va ceda. \u00cen cele din urm\u0103, nici asta nu a func\u021bionat.<\/p>\n<p>\u00cencepusem deja s\u0103 cred c\u0103 nu voi sc\u0103pa de aceast\u0103 chestie, c\u00e2nd dintr-o data mi-a venit \u00een minte: trebuie s\u0103 existe o fereastr\u0103! Trebuie s\u0103 o afi\u0219ez. Poate c\u0103 va avea un buton verde \u201eOprire\u201d, pe care a\u0219 putea s\u0103-l folosesc \u00eentr-un mod interesant!<\/p>\n<p>Am rulat codul meu aproape perfect \u00een C pentru a c\u0103uta descriptorul ferestrei principale a unui alt proces - \u0219i \u00eentr-adev\u0103r am g\u0103sit VNC. M-am sim\u021bit \u00eenvigorat c\u00e2nd degetele mele au tastat <code>WM_SHOWWINDOW<\/code>. \u00ce\u021bi po\u021bi imagina ce am v\u0103zut \u00een fa\u021ba mea?<\/p>\n<p>Nimic!<\/p>\n<p>Acum am \u00eenceput s\u0103 fiu curios... avea fereastr\u0103, dar ignora mesajele mele. Am verificat de dou\u0103 ori codul meu pentru a m\u0103 asigura c\u0103 func\u021bioneaz\u0103. L-am testat pe alte procese \u0219i a func\u021bionat perfect. Am \u00eencercat s\u0103 trimit alte mesaje la fereastra VNC \u0219i tot nimic.<\/p>\n<p>\u0218i atunci mi-a venit din nou o idee!<\/p>\n<p>Datorit\u0103 unei c\u0103r\u021bi foarte groase de <noindex><a rel=\"nofollow\" href=\"https:\/\/www.amazon.co.uk\/Programming-Windows%C2%AE-Microsoft-Charles-Petzold\/dp\/157231995X\">cartea<\/a><\/noindex> Charles Petzold, am studiat \u00eendeaproape cum func\u021bioneaz\u0103 procesele Win32 \u00een interiorul sistemului. Fiecare aplica\u021bie Win32 are o fereastr\u0103 \u0219i o \u201ecoad\u0103 de mesaje\u201d. Mesajele cauzate de interac\u021biunea utilizatorului, precum \u0219i mesajele trimise de Windows \u00eensu\u0219i, ajung \u00een coad\u0103, iar aplica\u021bia decide cum s\u0103 le proceseze.<\/p>\n<p>Nu prea interesant de sine st\u0103t\u0103tor. Dar c\u00e2nd am realizat c\u0103 o coad\u0103 de mesaje neprocesate suficient de mare serve\u0219te drept heuristica pentru interven\u021bia \u00een procesul blocat din partea Window Process Manager, m-am umplut de serotonin\u0103.<\/p>\n<p>F\u0103r\u0103 s\u0103 pierd nicio secund\u0103, m-am \u00eentors la codul meu \u00een C, preg\u0103tindu-m\u0103 s\u0103 trimit o alt\u0103 mesaje la fereastra principal\u0103 VNC <code>WM_SHOWWINDOW<\/code>. \u00centr-un ciclu. Etern. A\u0219a c\u0103, multe mesaje <code>WM_SHOWWINDOW<\/code>, pe care acum \u0219tiam c\u0103 VNC va \u00eencerca s\u0103 le ignore complet\u2026 pe riscul s\u0103u.<\/p>\n<p>Am compilat \u0219i am rulat 4 KB din cel mai liber cod pe care l-am scris vreodat\u0103. Aproximativ trei secunde mai t\u00e2rziu, Windows a raportat c\u0103 procesul <code>vncserver.exe<\/code> nu r\u0103spunde, \u0219i mi-a f\u0103cut o propunere pe care pur \u0219i simplu nu o puteam refuza:<\/p>\n<blockquote><p><i><b>Dori\u021bi s\u0103 \u00eencheia\u021bi acest proces?<\/b><\/i><\/p><\/blockquote>\n<p>\nS\u0103rmana de DA!<\/p>\n<p>Permite\u021bi-mi s\u0103 m\u0103rturisesc c\u0103 restul zilei am fost insuportabil de mul\u021bumit de mine.<\/p>\n<p>Dup\u0103 c\u00e2teva ore petrecute medit\u00e2nd la noua mea superputere, am decis cum o voi folosi. Pur \u0219i simplu s\u0103 \u00eenchei sesiunea chiar \u00een fa\u021ba lui ar fi fost prea simplu. Aveam o idee mai bun\u0103 \u2014 s\u0103 dispar complet.<\/p>\n<p>Dup\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/martinrue.com\/zzuy-a-lesson-in-perseverance\">botezul de lupt\u0103 cu programarea socket-urilor<\/a><\/noindex> Am realizat c\u0103 pot scrie un cod care va face dou\u0103 lucruri. Mai \u00eent\u00e2i, va ocupa un port TCP 5900 recent eliberat, anterior utilizat de un proces ignorant al serverului VNC. Apoi, va crea o nou\u0103 conexiune TCP cu serverul VNC al ma\u0219inii specificate. Codul va face pur \u0219i simplu un proxy pentru toate datele \u00eentre cele dou\u0103 socket-uri, iar Columbo va crede c\u0103 se conecteaz\u0103 la mine, \u00een timp ce, de fapt, se va conecta la un server VNC complet diferit.<\/p>\n<p>Codul meu va ac\u021biona ca un pod secret \u00eentre mine \u0219i o alt\u0103 s\u0103r\u0103cie, la alegerea mea. A fost minunat.<\/p>\n<p>Am \u00eenceput imediat s\u0103 scriu podul meu fals VNC. Columbo s-a conectat la mine de mai multe ori, dar eu continu\u0103m s\u0103 programez sub ochii lui. Am ajuns la concluzia c\u0103 nu avea nicio idee despre ac\u021biunile mele, chiar dac\u0103 scriam lucruri evidente, cum ar fi numerele porturilor \u0219i comentarii precum <code>\/\/ \u041f\u0440\u043e\u0449\u0430\u0439, \u0436\u0443\u0442\u043a\u0438\u0439 \u0448\u043f\u0438\u043e\u043d VNC<\/code>.<\/p>\n<p>Dup\u0103 c\u00e2teva zile, nu am reu\u0219it s\u0103 fac codul s\u0103 func\u021bioneze corect. Ce e \u0219i mai r\u0103u, am lucrat practic continuu cu pictograma neagr\u0103 VNC din bara de sistem. At\u00e2ta timp c\u00e2t era conectat, nu puteam elibera portul pentru a-mi verifica codul.<\/p>\n<p>Dac\u0103 a\u0219 fi \u0219tiut atunci despre <code>netcat<\/code>!<\/p>\n<p>\u00cen cele din urm\u0103, nervii nu au mai rezistat, oricum eram un b\u0103iat impulsiv de 17 ani. Observ\u00e2nd din nou cum pictograma alb\u0103 a serverului VNC devine neagr\u0103, m-am enervat, am deschis codul ini\u021bial care umplea coada de mesaje \u0219i l-am rulat sub ochii lui. Am a\u0219teptat chiar c\u00e2teva secunde \u00eenainte s\u0103 apas <code>End Process<\/code>, doar pentru a m\u0103 asigura c\u0103 el a v\u0103zut.<\/p>\n<p>Dac\u0103 ap\u0103sarea acestui buton nu m-a convins complet c\u0103 a meritat, atunci saltul lui din cauza rigidit\u0103\u021bii monitoarelor pentru a se apropia repede de mine \u0219i a m\u0103 escorta din camer\u0103, cu siguran\u021b\u0103 a meritat.<\/p>\n<p>\u00cen cele din urm\u0103, mi s-a interzis accesul la re\u021bea timp de dou\u0103 s\u0103pt\u0103m\u00e2ni. O pedeaps\u0103 just\u0103, mi-am zis. Aproximativ trei s\u0103pt\u0103m\u00e2ni mai t\u00e2rziu, serverul VNC a disp\u0103rut din scripturile de boot \u0219i nu a mai ap\u0103rut nic\u0103ieri. Nu am aflat niciodat\u0103 dac\u0103 incidentul meu a avut vreo relevan\u021b\u0103 \u00een acest sens sau nu, dar mi-a distrus complet planul de \u00eembog\u0103\u021bire rapid\u0103 prin v\u00e2nzarea armei mele VNC studen\u021bilor chinui\u021bi din s\u0103lile de calculatoare ale colegiilor din \u00eentreaga \u021bar\u0103.<br \/>\n<br \/>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/485756\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u044d\u0442\u043e\u043c \u0431\u043b\u043e\u0433\u0435 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043e \u043d\u0435\u043c\u0430\u043b\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0441\u043a\u0438\u0445 \u0431\u0430\u0435\u043a. \u041c\u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u0432\u0441\u043f\u043e\u043c\u0438\u043d\u0430\u0442\u044c \u043e \u0441\u0432\u043e\u0438\u0445 \u0441\u0442\u0430\u0440\u044b\u0445 \u0433\u043b\u0443\u043f\u043e\u0441\u0442\u044f\u0445. \u0427\u0442\u043e \u0436, \u0432\u043e\u0442 \u0435\u0449\u0451 \u043e\u0434\u043d\u0430 \u0442\u0430\u043a\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f. \u042f \u0432\u043f\u0435\u0440\u0432\u044b\u0435 \u0437\u0430\u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432\u0430\u043b\u0441\u044f \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430\u043c\u0438, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c, \u043a\u043e\u0433\u0434\u0430 \u043c\u043d\u0435 \u0431\u044b\u043b\u043e \u043e\u043a\u043e\u043b\u043e 11 \u043b\u0435\u0442. \u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u0441\u0440\u0435\u0434\u043d\u0435\u0439 \u0448\u043a\u043e\u043b\u044b \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u044f \u0432\u043e\u0437\u0438\u043b\u0441\u044f \u0441\u043e \u0441\u0432\u043e\u0438\u043c C64 \u0438 \u043f\u0438\u0441\u0430\u043b \u043d\u0430 \u0411\u0435\u0439\u0441\u0438\u043a\u0435, \u0430 \u043f\u043e\u0442\u043e\u043c \u0432\u044b\u0440\u0435\u0437\u0430\u043b \u043d\u043e\u0436\u043d\u0438\u0446\u0430\u043c\u0438 \u043f\u043b\u043e\u0445\u043e\u0439 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-40151","post","type-post","status-publish","format-standard","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u044d\u0442\u043e\u043c \u0431\u043b\u043e\u0433\u0435 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043e \u043d\u0435\u043c\u0430\u043b\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0441\u043a\u0438\u0445 \u0431\u0430\u0435\u043a. \u041c\u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u0432\u0441\u043f\u043e\u043c\u0438\u043d\u0430\u0442\u044c \u043e \u0441\u0432\u043e\u0438\u0445 \u0441\u0442\u0430\u0440\u044b\u0445 \u0433\u043b\u0443\u043f\u043e\u0441\u0442\u044f\u0445.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/ro\/blog\/bitva-koderov-ya-protiv-togo-parnya-s-vnc\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0411\u0438\u0442\u0432\u0430 \u043a\u043e\u0434\u0435\u0440\u043e\u0432: \u044f \u043f\u0440\u043e\u0442\u0438\u0432 \u0442\u043e\u0433\u043e \u043f\u0430\u0440\u043d\u044f \u0441 VNC | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u044d\u0442\u043e\u043c \u0431\u043b\u043e\u0433\u0435 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043e \u043d\u0435\u043c\u0430\u043b\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0441\u043a\u0438\u0445 \u0431\u0430\u0435\u043a. \u041c\u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u0432\u0441\u043f\u043e\u043c\u0438\u043d\u0430\u0442\u044c \u043e \u0441\u0432\u043e\u0438\u0445 \u0441\u0442\u0430\u0440\u044b\u0445 \u0433\u043b\u0443\u043f\u043e\u0441\u0442\u044f\u0445.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/bitva-koderov-ya-protiv-togo-parnya-s-vnc\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-01-31T17:49:28+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-01-31T17:49:28+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Lupta coderilor: eu contra tipului cu VNC | ProHoster","description":"\u00cen acest blog sunt publicate multe pove\u0219ti din lumea program\u0103rii. \u00cemi place s\u0103-mi amintesc de prostiile mele mai vechi.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/bitva-koderov-ya-protiv-togo-parnya-s-vnc","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0411\u0438\u0442\u0432\u0430 \u043a\u043e\u0434\u0435\u0440\u043e\u0432: \u044f \u043f\u0440\u043e\u0442\u0438\u0432 \u0442\u043e\u0433\u043e \u043f\u0430\u0440\u043d\u044f \u0441 VNC | ProHoster","og:description":"\u0412 \u044d\u0442\u043e\u043c \u0431\u043b\u043e\u0433\u0435 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043e \u043d\u0435\u043c\u0430\u043b\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0441\u043a\u0438\u0445 \u0431\u0430\u0435\u043a. \u041c\u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u0432\u0441\u043f\u043e\u043c\u0438\u043d\u0430\u0442\u044c \u043e \u0441\u0432\u043e\u0438\u0445 \u0441\u0442\u0430\u0440\u044b\u0445 \u0433\u043b\u0443\u043f\u043e\u0441\u0442\u044f\u0445.","og:url":"https:\/\/prohoster.info\/ro\/blog\/bitva-koderov-ya-protiv-togo-parnya-s-vnc","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-01-31T17:49:28+00:00","article:modified_time":"2020-01-31T17:49:28+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"40151","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 00:44:38","updated":"2022-09-29 08:39:09","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/40151","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=40151"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/40151\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=40151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=40151"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=40151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}