{"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\/et\/blog\/bitva-koderov-ya-protiv-togo-parnya-s-vnc","title":{"rendered":"Kooderite lahing: mina vs see poiss VNC-ga","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Uues <noindex><a rel=\"nofollow\" href=\"https:\/\/martinrue.com\/\">selles blogis<\/a><\/noindex> on avaldatud palju programmeerijate lugusid. Mulle meeldib meenutada oma vanu lollusi. Noh, siin on veel \u00fcks selline lugu.<\/p>\n<p>Hakkasin arvutitest, eriti programmeerimisest huvituma umbes 11-aastaselt. Keskkooli alguses veetsin<b>ilotka<\/b>oma vaba aega enamasti C64 juures, kus kirjutasin Basicus, ja seej\u00e4rel l\u00f5ikasin halbade koodide tasse v\u00e4lja k\u00e4\u00e4ridega. <noindex><a rel=\"nofollow\" href=\"https:\/\/martinrue.com\/give-yourself-more-playtime\/\">Ma ei naljuta, k\u00e4\u00e4ridega.<\/a><\/noindex>.<\/p>\n<p>P\u00e4rast kooli (umbes 16-aastaselt) l\u00e4hevad Briti lapsed tavaliselt kolled\u017eisse, kus valivad \u00f5ppimiseks kolm-neli ainet enne \u00fclikooli astumist. Arvestades, et armastasin kodus beezharjaga karpi ja diktofonit, otsustasin, et arvutiteaduse \u00f5ppimine kolled\u017eis on \u00f5ige valik.<\/p>\n<p>Kursus meeldis mulle rohkem, kui ootasin; seal kohtusin esmakordselt Pascaliga ja Delphiga.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nTundide vahel said \u00f5pilased t\u00f6\u00f6tada iga vabalt oleva masina juures arvutisaalis. Kujutage ette: suur tuba, mis mahutab kuskil sada inimest, laudadega, mille peal on masinad - nagu need, kus monitor on s\u00fcsteemiplokil. Kogu aeg m\u00fchahh, hiiremurdud tatsuvad laudades, mitte hetkekski ei peatu. \u00d5hus on imelik l\u00f5hn, otsekui 50-100 noorukit, kes eralduvad hormoonidest, vahetavad pidevalt vahel ja jahutavad sadu Pentium III kiipe.<\/p>\n<p>Hoolimata terviseriskidest meeldis mulle arvuti taga istuda, kui mulle vaba minut anti.<\/p>\n<p>Toas oli admin, kes oli keskealine madala kasvuga mees, keda valiti sellesse rolli sooviga muutuda pahaks diktaatoriks. Noh, see on pehmelt \u00f6eldud, poiss armastas oma t\u00f6\u00f6d t\u00f5eliselt. Talle anti \u00fclesanne hoida korda, et keegi ei kasutaks \u00f5pikute masinat millegi sobimatuna.<\/p>\n<p>Ja siiani \u00fctleb mu intuitsioon, et admini tasu s\u00f5ltus otseselt \u00fcli\u00f5pilaste hulgast, keda ta k\u00e4idi k\u00e4est kinni ja eksitusest v\u00e4lja saatis. Olen praktiliselt kindel, et see poiss maksis oma h\u00fcpoteegi enne t\u00e4htaega tagasi.<\/p>\n<p>Ta istus arvutisaali kauges nurgas nurgalauas. Ja v\u00f5is kindlalt oletada, et tema viljakad monitorid on leidnud viisi, kuidas paljuneda muljetavaldavalt l\u00fchikese rasedusperioodiga \u2014 neid oli nii palju. J\u00e4i vaid oletada, kas ta t\u00f5eliselt suudab neid k\u00f5iki j\u00e4lgida. Loomulikult naljan, kas ma mainisin, et ta v\u00f5ttis oma t\u00f6\u00f6 v\u00e4ga t\u00f5siselt?<\/p>\n<p>Sel ajal t\u00f6\u00f6tas arvutiv\u00f5rk Windows 2000 juhtimise all. Peagi avastasin, et iga s\u00fcsteemi sisenemise ajal k\u00e4ivitub skript, mis k\u00e4ivitab VNC serveri administraatori kontolt, et v\u00f5imaldada kaugjuurdep\u00e4\u00e4su t\u00f6\u00f6lauale. Iga kord, kui see t\u00fc\u00fcp soovis teid j\u00e4lgida, t\u00e4iesti discreetly \u00fchendas ta otse teie arvutiga ja j\u00e4lgis. See oli kohutav, ja kui n\u00fc\u00fcd m\u00f5elda, siis t\u00f5en\u00e4oliselt ka ebaseaduslik.<\/p>\n<p>Hakkasin kirjutama C-s ja isegi natuke C++-s, p\u00e4rast seda, kui olin oma hambad Baisikule ja C64-le teritanud. Sel ajal olin ma v\u00e4ga huvitatud D-keelest, mis parandas m\u00f5ningaid C++ puudusi, nagu ma tol ajal arvasin.<\/p>\n<p>K\u00e4isin tavaliselt arvutisaalis, et lugeda midagi uut D-st v\u00f5i eksperimenteerida Digital Mars D kompilaatoriga. M\u00f5nikord, kui m\u00f5tted D suurest tulevikust k\u00f5rvale j\u00e4id, kirjutasin C-s koodi teiste Win32 programmide h\u00e4kkimiseks nende akende deskriptorite kaudu.<\/p>\n<p>Vanadel headel aegadel Win32 programmeerimisel oli akna deskriptorite leidmine k\u00f5ige lihtsam meetod teiste programmide h\u00e4kkimiseks. On ilmne, et k\u00f5igil Windowsi graafilise liidese programmides oli aken, isegi kui see ei olnud ekraanil n\u00e4htav. Kirjutades programmi, et ekstrakteerida teise protsessi deskriptorit (essentsiaalselt viidet sellele), sai saata sellele s\u00f5numeid. See v\u00f5imaldas teostada m\u00f5ningaid p\u00f5hitoiminguid, nagu programmi akna peitmine\/kuvamine, aga ka t\u00f5eliselt \u00e4gedaid asju, n\u00e4iteks sundida protsess laadima juhuslikku DLL-i oma m\u00e4lu alasse ja alustama koodi t\u00e4itmist. DLL-i s\u00fcstimise j\u00e4rel algas t\u00f5eliselt huvitav osa.<\/p>\n<p>Esimene poolteist kuud ei seganud see detektiiv mind eriti, ta \u00fchines minu masina VNC-serveriga ainult \u00fche v\u00f5i kahe korra. Kuid \u00fcks konkreetne seanss t\u00f5en\u00e4oliselt \u00e4ratas temas huvi. Kirjutasin mingit koodi C keeles, et peita Minesweeperi aknaid (need suletud ei olnud), et oleks klassis kergem m\u00e4ngida, ja siis m\u00e4rkasin, et VNC valge ikoon s\u00fcsteemisalves muutus mustaks. See t\u00e4hendas, et ta j\u00e4lgis mind n\u00fc\u00fcd.<\/p>\n<p>J\u00e4tkasin koodi kirjutamist nagu alati, p\u00fc\u00fcdes teda ignoreerida. Sel ajal hakkas masin t\u00f5eliselt pidurdama, \u00fcritades edastada maksimaalset v\u00e4ljundifrekventsi \u00fche tuhandest monitorist, mis toas nurgas seisis. Windows peaaegu ei reageerinud, ja kui mu kannatus l\u00f5puks katkesi, logisin v\u00e4lja ja l\u00f5petasin selleks p\u00e4evaks.<\/p>\n<p>J\u00e4rgmiste k\u00fclastuste ajal arvutisaalis n\u00e4itas Kolombo peaaegu iga kord elavat huvi selle vastu, mida ma tegin. Umbes neljanda korra j\u00e4rel otsustasin, et midagi on vaja ette v\u00f5tta.<\/p>\n<p>V\u00f5in tunnistada, et m\u00f5istlik ja ratsionaalne inimene oleks v\u00f5inud selle probleemi otse tema v\u00f5i tema \u00fclemusega \u00fcles tuua. Siiski j\u00e4in ma alati kiusatusele alla ja veensin end kiiresti, et valin t\u00e4iesti teise strateegia.<\/p>\n<p>\u2014 Sa ei saa midagi teha ilma selle VNC-serverita! \u2014 \u00fctlesin ma endale rahulikult ja kindlalt mitu korda.<\/p>\n<p>VNC tuli h\u00e4vitada.<\/p>\n<p>Hakkasin arvutisaali sisenema suurte tudengigruppide abil ja istusin nii kaugele nurga juurest monitoridest nagu v\u00f5imalik. M\u00f5ni aeg see t\u00f6\u00f6tas ja andis mulle natuke aega ideede kontrollimiseks.<\/p>\n<p>Minu esimene katse, ma arvan, et n\u00f5ustute, oli \u00fcsna n\u00f5rk. Kl\u00f5psates hiire parema nupuga VNC ikoonil s\u00fcsteemisalves, n\u00e4gin men\u00fc\u00fcd, kus olid maagilised t\u00e4hed E-X-I-T. Kahjuks olid t\u00e4hed kirjutatud hallis kontuurtekstis. Administraator oli eemaldanud men\u00fc\u00fcpunkti 'V\u00e4lja' r\u00fchmapoliitika redaktoriga. Proovisin protsessi Task Managerist l\u00f5petada, kuid loomulikult oli see minu jaoks n\u00e4htamatu, kuna t\u00f6\u00f6tas teise, privileeerituma konto all. Midagi ei \u00f5nnestunud.<\/p>\n<p>M\u00e4letasin, et VNC-server t\u00f6\u00f6tab TCP 5900 sadamal. Minu j\u00e4rgmine plaan oli saata sellele sadamale rikutud pakette, et see kokku jooksma panna.<\/p>\n<p>M\u00f5ned p\u00e4evad olen protokolli l\u00e4bi t\u00f6\u00f6tanud, saates porti 5900 erinevaid \u00f5igesti struktureeritud s\u00f5numeid ja lootnud, et see puruneb. L\u00f5puks ei t\u00f6\u00f6tanud see ka.<\/p>\n<p>Hakkasin juba m\u00f5tlema, et ei saa sellest asjast lahti, kui \u00e4kki tuli mulle m\u00f5te: seal peab olema aken! Pean selle avama. V\u00f5ib-olla seal on kena nupp \"K\u00e4ivita\", millele leian suurep\u00e4rase kasutuse!<\/p>\n<p>K\u00e4ivitasingi oma peaaegu t\u00e4iusliku C-koodi, et leida teise protsessi peamise akna descriptor - ja t\u00f5epoolest leidsin VNC. Tundsin end uhkelt, kui s\u00f5rmed tr\u00fckkisid <code>WM_SHOWWINDOW<\/code>. Proovige arvata, mida ma enda ees n\u00e4gin?<\/p>\n<p>Midagi!<\/p>\n<p>N\u00fc\u00fcd hakkas mind huvitama... seal oli aken, aga see ignoreeris mu s\u00f5numeid. Kontrollisin oma koodi kaks korda, et veenduda selle toimimises. Testisin seda mitmete teiste protsesside peal ja see t\u00f6\u00f6tas suurep\u00e4raselt. Proovisin saata VNC aknasse teisi s\u00f5numeid, kuid ikka ei midagi.<\/p>\n<p>Ja siis tuli mul j\u00e4lle m\u00f5te!<\/p>\n<p>T\u00e4nu v\u00e4ga paksule <noindex><a rel=\"nofollow\" href=\"https:\/\/www.amazon.co.uk\/Programming-Windows%C2%AE-Microsoft-Charles-Petzold\/dp\/157231995X\">raamatust<\/a><\/noindex> Charles Petzoldile olen \u00f5ppinud, kuidas Win32 protsessid s\u00fcsteemis t\u00f6\u00f6tavad. Igal Win32 rakendusel on aken ja \"s\u00f5numij\u00e4rjekord\". Kasutaja interaktsiooniga seotud s\u00f5numid, samuti Windowsi enda saadetud s\u00f5numid, j\u00f5uavad j\u00e4rjekorda, ja ise rakendus otsustab, kuidas neid t\u00f6\u00f6delda.<\/p>\n<p>See iseenesest ei ole liiga huvitav. Kuid kui sain aru, et piisavalt suur t\u00f6\u00f6tlemata s\u00f5numij\u00e4rg annab heuristika interferentsiks k\u00fclmunud protsessile Aken Protsessihalduri poolt, hakkasin puhtast serotoniinist higistama.<\/p>\n<p>Kaotamata sekunditki, l\u00e4ksin tagasi oma C-koodi juurde, valmistudes saatma VNC peamise aknasse veel \u00fche s\u00f5numi <code>WM_SHOWWINDOW<\/code>. Ts\u00fcklis. Igavesti. Niisiis, hulk s\u00f5numeid <code>WM_SHOWWINDOW<\/code>, mida ma n\u00fc\u00fcd teadsin, VNC p\u00fc\u00fcab t\u00e4ielikult ignoreerida... omaette riskides.<\/p>\n<p>Kompileerisin ja k\u00e4ivitasin oma elu k\u00f5ige vabaima 4 KB koodi. Umbes kolme sekundi p\u00e4rast teatas Windows, et protsess <code>vncserver.exe<\/code> ei vasta ja tegi ettepaneku, millest ma lihtsalt ei saanud keelduda:<\/p>\n<blockquote><p><i><b>Kas soovite selle protsessi l\u00f5petada?<\/b><\/i><\/p><\/blockquote>\n<p>\nKuradi jah!<\/p>\n<p>Olgu, tunnistan, et selle p\u00e4eva \u00fclej\u00e4\u00e4nud osa olin \u00e4\u00e4rmiselt rahul iseendaga.<\/p>\n<p>P\u00e4rast mitmeid tunde, mille ma kulutasin oma uue superv\u00f5ime seedimisele, otsustasin, kuidas seda kasutada. Lihtsalt seansi l\u00f5petamine otse tema silme all oleks olnud liiga lihtne. Mul oli parem idee - t\u00e4ielikult kaduda.<\/p>\n<p>P\u00e4rast <noindex><a rel=\"nofollow\" href=\"https:\/\/martinrue.com\/zzuy-a-lesson-in-perseverance\">programmeerimise soketite lahingu ristimine<\/a><\/noindex> Sain aru, et saan kirjutada koodi, mis teeb kahte asja. Esiteks h\u00f5ivab see hiljuti vabaks saadetud TCP-porti 5900, mille l\u00f5hkus rumal VNC-serveri protsess. Seej\u00e4rel loob see uue TCP-\u00fchenduse m\u00e4\u00e4ratud masina VNC-serveriga. Kood hakkab lihtsalt edastama k\u00f5iki andmeid kahe soketi vahel, ja Colombo arvab, et ta \u00fchendub minuga, samal ajal kui ta \u00fchendub hoopis teise VNC-serveriga.<\/p>\n<p>Minu kood toimib kui salajane sild minu ja m\u00f5ne teise \u00f5nnetu hinge vahel, kelle ma valin. See oli suurep\u00e4rane.<\/p>\n<p>Hakkasin kohe kirjutama oma vale VNC-silda. Colombo \u00fchendus minuga toimus mitu korda, kuid ma j\u00e4tkasin programmeerimist tema silme all. Ma j\u00f5udsin j\u00e4reldusele, et tal pole minu tegemistest aimugi, kuigi ma kirjutasin ilmselgeid asju, nagu portide numbrid ja sellised kommentaarid nagu <code>\/\/ \u041f\u0440\u043e\u0449\u0430\u0439, \u0436\u0443\u0442\u043a\u0438\u0439 \u0448\u043f\u0438\u043e\u043d VNC<\/code>.<\/p>\n<p>M\u00f5ne p\u00e4eva p\u00e4rast ei suutnud ma koodi \u00f5igesti t\u00f6\u00f6le panna. Mis veel hullem, t\u00f6\u00f6tasin pidevalt musta VNC-m\u00e4rgina s\u00fcsteemisalves. Kui see oli \u00fchendatud, ei saanud ma porti vabastada, et oma koodi testida.<\/p>\n<p>Kui oleksin siis teadnud <code>netcat<\/code>!<\/p>\n<p>L\u00f5puks ei pidanud n\u00e4rvid vastu, ma olin ikkagi kannatamatu 17-aastane t\u00fc\u00fcp. J\u00e4lgides, kuidas valge VNC-serveri ikoon muutub mustaks, l\u00e4ksin n\u00e4rvi, avasin algse koodi, mis t\u00e4itis s\u00f5numij\u00e4rjekorra, ja k\u00e4ivitasin selle tema silme all. Ootasin isegi paar sekundit, enne kui vajutasin <code>L\u00f5peta protsess<\/code>, lihtsalt veendumiseks, et ta seda n\u00e4eb.<\/p>\n<p>Kui selle nupu vajutamine veel ei veennud mind t\u00e4ielikult, et see oli seda v\u00e4\u00e4rt, siis tema h\u00fcpe oma monitorite turvapiirilt minuni, et kiiresti l\u00e4heneda ja mind toast v\u00e4lja saata, oli kindlasti seda v\u00e4\u00e4rt.<\/p>\n<p>L\u00f5puks keelati mul v\u00f5rku p\u00e4\u00e4seda kaheks n\u00e4dalaks. Tundus \u00f5iglane karistus, m\u00f5tlesin ma. Umbes kolme n\u00e4dala p\u00e4rast kadus VNC-server laadimisskriptidest ja ei ilmunud enam kusagile. Ma ei saanud kunagi teada, kas minu \u00fclesanne m\u00e4ngis selles mingit rolli v\u00f5i mitte, kuid see purustas mu plaani rikkaks saada, m\u00fc\u00fces oma VNC relva \u00fcli\u00f5pilastele, kes k\u00f5ndisid \u00fclikoolide arvutiklassides \u00fcle kogu riigi.<br \/>\n<br \/>Allikas: <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.1.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\/et\/blog\/bitva-koderov-ya-protiv-togo-parnya-s-vnc\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\/et\/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\udd47Kooderite lahing: mina versus see t\u00fc\u00fcp VNC-ga | ProHoster","description":"Selles blogis on avaldatud palju programmeerimise lugusid. Mulle meeldib meenutada oma vanu rumalusi.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/bitva-koderov-ya-protiv-togo-parnya-s-vnc","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\/et\/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\/et\/wp-json\/wp\/v2\/posts\/40151","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=40151"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/40151\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=40151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=40151"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=40151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}