{"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 versus see VNC-t\u00fc\u00fcp","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>V <noindex><a rel=\"nofollow\" href=\"https:\/\/martinrue.com\/\">selles blogis<\/a><\/noindex> on olnud palju programmeerijate lugusid. Mulle meeldib meenutada oma vanu lollusi. Siin on veel \u00fcks selline lugu.<\/p>\n<p>Hakkasin arvutitest, eriti programmeerimisest, huvituma umbes 11-aastaselt. Keskkooli alguses veetisin<b>o<\/b>oma vabast ajast enamiku C64 k\u00fclge ja kirjutasin Basicus, seej\u00e4rel l\u00f5ikasin k\u00e4\u00e4ridega halba koodi. <noindex><a rel=\"nofollow\" href=\"https:\/\/martinrue.com\/give-yourself-more-playtime\/\">Ma ei nalja, k\u00e4\u00e4ridega.<\/a><\/noindex>.<\/p>\n<p>P\u00e4rast kooli (umbes 16-aastaselt) l\u00e4hevad briti lapsed tavaliselt kolled\u017eisse, kus valitakse kolme-nelja aine vahel, enne \u00fclikooli minekut. Arvestades minu armastust beezist karbist ja magnetofonist kodus, otsustasin, et arvutiteaduse \u00f5ppimine kolled\u017eis on \u00f5ige valik.<\/p>\n<p>Kursus meeldis mulle rohkem, kui ma oodata oskasin; seal tutvusin esmakordselt Pascal ja Delphi.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nTunnipauside ajal said \u00fcli\u00f5pilased t\u00f6\u00f6tada igasuguste vabade masinate juures arvutiklassis. Kujutage ette: suur ruum, kus on umbes sada kohta, ridade kaupa laudu, mille peal on masinad \u2014 nagu need, kus monitor on s\u00fcsteemiboksi peal. Pidev ventilaatorite sumisemine, hiiremuhvid gurgeldavad laudade peal, mitte hetkekski peatudes. \u00d5hus on kummaline l\u00f5hn, justkui 50-100 teismelise hormoonide allikad vahelduvad, et jahutada sadu Pentium III kiipe.<\/p>\n<p>Olenemata terviseriskidest, meeldis mulle arvuti taga istuda, kui vaba hetk tekkis.<\/p>\n<p>Ruumi valvas administraator, kes oli keskealine, madal mees, kelle valiti sellele kohale tema v\u00e4\u00e4ritu sooviga saada kuri diktaator. Ma arvan nii. Valvamine on ilmselt vale s\u00f5na, poisile t\u00f5eliselt meeldis oma t\u00f6\u00f6. Talle oli usaldatud j\u00e4lgida korda, et keegi ei kasutaks \u00f5pikute arvutit sobimatuks otstarbeks.<\/p>\n<p>Ja on siiani alateadvus \u00fctleb mulle, et administraatori preemia s\u00f5ltus otseselt \u00f5pilaste arvust, keda ta k\u00e4est kinni p\u00fc\u00fcdis ja arvutisaalist v\u00e4lja saatis. Olen praktiliselt kindel, et see t\u00fc\u00fcp maksis oma h\u00fcpoteegi enne t\u00e4htaega tagasi.<\/p>\n<p>Ta istus arvutisaali kauges nurgas nurgalauas. Ja v\u00f5is kindlalt \u00f6elda, et tema viljakad monitorid olid leidnud viisi paljuneda muljetavaldavalt l\u00fchikese raseduse perioodiga - neid oli nii palju. J\u00e4i vaid aimata, kas ta t\u00f5eliselt suudab k\u00f5iki neid j\u00e4lgida. Loomulikult, ma naljatan... kas ma ei maininud, et ta v\u00f5ttis oma t\u00f6\u00f6d v\u00e4ga t\u00f5siselt?<\/p>\n<p>Sel ajal t\u00f6\u00f6tas arvutiv\u00f5rk Windows 2000 all. Varsti avastasin, et igal sisselogimisel k\u00e4ivitub skript, mis k\u00e4ivitab VNC-serveri administraatori kontolt kaugjuurdep\u00e4\u00e4suks t\u00f6\u00f6lauale. Iga kord, kui see t\u00fc\u00fcp soovis teid j\u00e4lgida, \u00fchines ta otse teie masinaga ja vaatas. See oli hirmutav ja kui n\u00fc\u00fcd m\u00f5elda, t\u00f5en\u00e4oliselt ka ebaseaduslik.<\/p>\n<p>Hakkasin hambad \u00e4ra Baisikute ja C64 peale, n\u00fc\u00fcd kirjutasin ma C-s ja isegi natuke C++-s. Toona olin ma v\u00e4ga huvitatud D-keelest, mis lahendas m\u00f5ned C++ puudused, nagu mulle tookord tundus.<\/p>\n<p>Ma k\u00e4isin tavaliselt arvutitootmisse, et lugeda midagi uut D-st v\u00f5i m\u00e4ngida Digital Mars D kompilaatoriga. Vahepeal, m\u00f5eldes D suursugusele tulevikule, kirjutasin ma C-koodi teiste Win32 programmide h\u00e4kkimiseks nende akende descriptorite kaudu.<\/p>\n<p>Vanadel headel aegadel Win32 programmeerimisel oli akna descriptorite otsimine k\u00f5ige lihtsam meetod teiste programmide h\u00e4kkimiseks. On ilmne, et k\u00f5ikidel Windowsi graafilise liidese programmide akendest oli aken, isegi kui see ei olnud ekraanil n\u00e4htav. Kirjutades programmi, et teise protsessi descriptorit t\u00f5mmata (sisuliselt lingi sellele), v\u00f5isite talle s\u00f5numeid saata. See v\u00f5imaldas teha m\u00f5ned algsed toimingud, nagu programmi akna peitmine\/kuvamine, samuti t\u00f5eliselt lahedaid asju, nagu sundida protsessi laadima juhuslikku DLL-i enda m\u00e4luruumi ja k\u00e4ivitama koodi. P\u00e4rast DLL-i s\u00fcstimist algas t\u00f5eliselt p\u00f5nev osa.<\/p>\n<p>Esimese pooleteise kuu jooksul ei h\u00e4irinud see detektiiv mind eriti, ta \u00fchendus minu masina VNC-serveriga toimus vaid \u00fcks v\u00f5i kaks korda. Kuid \u00fcks konkreetne seanss n\u00e4gi v\u00e4lja nagu oleks \u00e4ratanud temas huvi. Kirjutasin mingit C-koodi Minesweepersi akende peitmiseks (neid sulgemata), et klassis m\u00e4ngimist lihtsustada, ja m\u00e4rkasin siis, et VNC valge ikoon s\u00fcsteemisalves muutus mustaks. See t\u00e4hendas, et ta j\u00e4lgis mind n\u00fc\u00fcd.<\/p>\n<p>J\u00e4tkasin koodimist nagu tavaliselt, p\u00fc\u00fcdes temast mitte t\u00e4helepanu p\u00f6\u00f6rata. Samal ajal hakkas masin t\u00f5eliselt aeglustuma, p\u00fc\u00fcdes edastada maksimaalset kaadrisagedust \u00fchele paljusid monitore toa nurgas. Windows peaaegu ei reageerinud, ja kui mu kannatus rauges, logisin v\u00e4lja ja l\u00f5petasin selleks p\u00e4evaks.<\/p>\n<p>J\u00e4rgmiste k\u00fclastuste ajal arvutisaalis n\u00e4itas Kolombo peaaegu igal korral elavat huvi selle vastu, millega ma tegelesin. Umbes p\u00e4rast neljandat korda otsustasin: millegagi tuleb midagi teha.<\/p>\n<p>Ma arvan, et m\u00f5istlik ja ratsionaalne inimene oleks v\u00f5inud selle k\u00fcsimuse otse tema v\u00f5i tema \u00fclemuse poole esitada. Siiski olen ma alati tahtnud valida t\u00e4iesti teistsuguse strateegia.<\/p>\n<p>\u2014 Sa ei saa seda VNC-serverit ilma teha! \u2014 \u00fctlesin endale m\u00f5ned korrad rahulikult ja kindlalt.<\/p>\n<p>VNC tuli h\u00e4vitada.<\/p>\n<p>Alustasin arvutisaali sisenemist suurte \u00fcli\u00f5pilasgruppidega ja p\u00fc\u00fcdsin istuda nii kaugele monitoride nurga eest kui v\u00f5imalik. M\u00f5nda aega toimis see ja andis mulle veidi aega ideede kontrollimiseks.<\/p>\n<p>Minu esimene katse, ma arvan, et te n\u00f5ustute, oli \u00fcsna n\u00f5rk. Paremkl\u00f5psades VNC ikoonil s\u00fcsteemisalves, n\u00e4gin ma men\u00fc\u00fcd maagiliste t\u00e4htedega E-X-I-T. Kahjuks olid t\u00e4hed kirjutatud halli kontuuriga. Administraator oli v\u00e4lja l\u00fclitanud 'V\u00e4lja' men\u00fc\u00fcpunkte r\u00fchmapoliitika redaktori kaudu. Proovisin protsessi T\u00f6\u00f6\u00fclesannete haldurist l\u00f5petada, kuid loomulikult ei olnud see minu jaoks n\u00e4htav, kuna see t\u00f6\u00f6tas teise, k\u00f5rgendatud privileegidega konto all. Midagi ei tulnud v\u00e4lja.<\/p>\n<p>VNC-server t\u00f6\u00f6tab TCP 5900 sadamal, meenutasin. Minu j\u00e4rgmine plaan oli saata sellele sadamale kahjustatud pakette, et seda hanguda.<\/p>\n<p>M\u00f5ned p\u00e4evad veetsin protokolli uurides, saates sadamale 5900 erinevaid korralikult struktureeritud jama ja lootes, et ta puruneb. L\u00f5puks ei t\u00f6\u00f6tanud see ka.<\/p>\n<p>Olin juba hakanud m\u00f5tlema, et ma ei suuda sellest asjast lahti saada, kui \u00e4kki tuli mulle meelde: seal peab olema aken! Pean selle kuvama. V\u00f5ib-olla on seal ilus ja mahlane nupp 'L\u00fclita v\u00e4lja', millele leian suurep\u00e4rase kasutuse!<\/p>\n<p>K\u00e4ivitasin oma peaaegu t\u00e4iusliku C-koodi, et leida teise protsessi peamise akna identifikaator - ja t\u00f5epoolest leidsin VNC. Tundsin end inspireerituna, kui s\u00f5rmed l\u00f5id <code>WM_SHOWWINDOW<\/code>. Proovige \u00e4ra arvata, mida ma enda ees n\u00e4gin?<\/p>\n<p>Midagi!<\/p>\n<p>N\u00fc\u00fcd hakkas mind huvitama... tal oli aken, kuid see ignoreeris minu s\u00f5numeid. Kontrollisin kaks korda oma koodi, et veenduda, et see t\u00f6\u00f6tab. Testisin seda mitmete teiste protsesside peal ja see t\u00f6\u00f6tas suurep\u00e4raselt. Proovisin saata VNC aknale muid s\u00f5numeid, ja ikka mitte midagi.<\/p>\n<p>Ja ja j\u00e4lle sain suure \u00fclevaate!<\/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\">a book<\/a><\/noindex> Charles Petzoldile uurisin p\u00f5hjalikult, kuidas Win32 protsessid s\u00fcsteemis t\u00f6\u00f6tavad. Igal Win32 rakendusel on aken ja \"s\u00f5numij\u00e4rjekord\". S\u00f5numid, mis tulenevad kasutaja interaktsioonist, samuti Windowsi saatnud s\u00f5numid, j\u00f5uavad j\u00e4rjekorda, ja rakendus otsustab, kuidas neid t\u00f6\u00f6delda.<\/p>\n<p>See ei olnud iseenesest liiga huvitav. Kuid kui ma m\u00f5istsin, et piisavalt suur t\u00f6\u00f6deldud s\u00f5numij\u00e4rjekord on heuristika, et sekkuda hangunud protsessi, sain ma puhtalt serotoniinist higiseks.<\/p>\n<p>Kaotamata sekundi, naasin tagasi oma C koodi juurde, valmistudes saatma VNC peamisele aknale veel \u00fche s\u00f5numi <code>WM_SHOWWINDOW<\/code>. Ts\u00fcklis. L\u00f5putus. Nii et palju s\u00f5numeid <code>WM_SHOWWINDOW<\/code>, mida VNC, nagu ma n\u00fc\u00fcd teadsin, p\u00fc\u00fcab t\u00e4ielikult ignoreerida\u2026 oma riski ja ohtu.<\/p>\n<p>Kompileerisin ja k\u00e4ivitasin oma elu k\u00f5ige vabameelsema 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>Lubage, et pean tunnistama, et \u00fclej\u00e4\u00e4nud p\u00e4eva olin ma erakordselt enda \u00fcle uhke.<\/p>\n<p>P\u00e4rast m\u00f5ningaid tunde, mis kulusid minu uue superj\u00f5u seedimiseks, otsustasin, kuidas ma seda kasutan. Lihtsalt seansi l\u00f5petamine otse tema silme ees oleks olnud liiga lihtne. Mul oli parem idee \u2013 t\u00e4ielikult kaduda.<\/p>\n<p>P\u00e4rast <noindex><a rel=\"nofollow\" href=\"https:\/\/martinrue.com\/zzuy-a-lesson-in-perseverance\">programmeerimise socket\u2019ite lahingu ristimine<\/a><\/noindex> sain aru, et suudan kirjutada koodi, mis teeb kahte asja. Esiteks haarab see hiljuti vabaks saanud TCP-pordi 5900, mida oli varem kasutanud teadmatult VNC-serveri protsess. Seej\u00e4rel loob see uue TCP-\u00fchenduse m\u00e4\u00e4ratud masina VNC-serveriga. Kood lihtsalt suunab k\u00f5ik andmed kahe socketi vahel ja Columbo arvab, et \u00fchendub minuga, samas kui tegelikult \u00fchendub ta t\u00e4iesti teise VNC-serveriga.<\/p>\n<p>Minu kood toimib nagu salajane sild minu ja m\u00f5ne teise vaese hinge vahel, kelle ma valin. See oli suurep\u00e4rane.<\/p>\n<p>Hakkasin kohe kirjutama oma vale VNC silda. Colombo \u00fchendas minuga mitu korda, kuid ma j\u00e4tkasin kodeerimist tema silme ees. J\u00f5udsin j\u00e4reldusele, et tal pole minu tegudest mingit aimu, kuigi kirjutasin iseenesestm\u00f5istetavaid asju, nagu portide numbrid ja 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 veelgi hullem, t\u00f6\u00f6tasin pidevalt musta VNC ikooniga s\u00fcsteemisalves. Kui ta oli \u00fchendatud, ei saanud ma porti vabastada, et oma koodi kontrollida.<\/p>\n<p>Kui ma oleks toona teadnud <code>netcat<\/code>!<\/p>\n<p>L\u00f5puks ei pidanud n\u00e4rvid vastu, olin ikkagi k\u00e4rsitud 17-aastane noormees. Vaadates j\u00e4lle, kuidas VNC serveri valge ikoon muutus mustaks, kaotasin rahu, avasin algse koodi, mis t\u00e4itis s\u00f5numite j\u00e4rjekorra, ja k\u00e4ivitasin selle tema silme all. Ootasime isegi paar sekundit, enne kui vajutasin <code>End Process<\/code>, et veenduda, et ta seda n\u00e4eb.<\/p>\n<p>Kui selle nupu vajutamine ei olnud mind veel t\u00e4ielikult veennud, et see oli seda v\u00e4\u00e4rt, siis tema h\u00fcppe t\u00f5ttu oma monitorite tugevuselt, et kiiresti minu juurde tulla ja mind toast v\u00e4lja saata, oli kindlasti seda v\u00e4\u00e4rt.<\/p>\n<p>L\u00f5puks keelati mul juurdep\u00e4\u00e4s v\u00f5rgule kaheks n\u00e4dalaks. See oli \u00f5iglane karistus, m\u00f5tlesin ma. Umbes kolme n\u00e4dala p\u00e4rast kadus VNC server k\u00e4ivituskriptidest ja ei ilmunud enam kusagil. Ma ei saanud kunagi teada, kas minu intsident m\u00e4ngis selles mingit rolli v\u00f5i mitte, kuid see h\u00e4vitas t\u00e4ielikult minu plaani rikastuda, m\u00fc\u00fces oma VNC relva \u00fclikoolide arvutiklassides h\u00e4das olevatele \u00fcli\u00f5pilastele \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.0.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.0.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 vs see t\u00fc\u00fcp VNC-ga | ProHoster","description":"Selles blogis on avaldatud mitmeid programmeerimise legende. Mulle meeldib meenutada oma vanu lollusi.","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}]}}