{"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\/lv\/blog\/bitva-koderov-ya-protiv-togo-parnya-s-vnc","title":{"rendered":"Koderu c\u012b\u0146a: es pret to puisi ar VNC","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>No <noindex><a rel=\"nofollow\" href=\"https:\/\/martinrue.com\/\">\u0161aj\u0101 emu\u0101r\u0101<\/a><\/noindex> ir public\u0113ti daudzi programm\u0113t\u0101ju st\u0101sti. Man pat\u012bk atcer\u0113ties savas vec\u0101s mu\u013c\u0137\u012bbas. Nu, \u0161eit ir v\u0113l viena t\u0101da st\u0101sta.<\/p>\n<p>Es pirmo reizi ieinteres\u0113jos datoros, it \u012bpa\u0161i programm\u0113\u0161an\u0101, kad man bija ap 11 gadiem. Pirmaj\u0101 vidusskolas gad\u0101<b>o<\/b>liel\u0101ko da\u013cu br\u012bv\u0101 laika es pavad\u012bju ar savu C64, rakstot kodu B\u0101z\u0113 un v\u0113l\u0101k ar \u0161\u0137\u0113r\u0113m izgrie\u017eot sliktu kodu. <noindex><a rel=\"nofollow\" href=\"https:\/\/martinrue.com\/give-yourself-more-playtime\/\">Es nerun\u0101ju pa jokam, ar \u0161\u0137\u0113r\u0113m.<\/a><\/noindex>.<\/p>\n<p>P\u0113c skolas (apm\u0113ram 16 gadu vecum\u0101) britu b\u0113rni parasti dodas uz koled\u017eu, kur izv\u0113las tr\u012bs l\u012bdz \u010detrus priek\u0161metus pirms uz\u0146em\u0161anas universit\u0101t\u0113. \u0145emot v\u0113r\u0101 manu m\u012blest\u012bbu pret bezkr\u0101sain\u0101 kastes un magnetofona m\u0101j\u0101s, es nol\u0113mu, ka stud\u0113t \"Datorzin\u0101tnes\" koled\u017e\u0101 ir pareiz\u0101 izv\u0113le.<\/p>\n<p>Kurss patika man vair\u0101k, nek\u0101 es gaid\u012bju; tur es pirmo reizi iepazinos ar Paskalu un Delfi.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nStarplaikos starp nodarb\u012bb\u0101m studentiem bija iesp\u0113ja str\u0101d\u0101t pie jebkura br\u012bv\u0101 datora datoru z\u0101l\u0113. Iedom\u0101jieties: milz\u012bga telpa, kas paredz\u0113ta aptuveni simtam cilv\u0113ku, ar rind\u0101m galdu, pie kuriem ir datori - t\u0101di, kur monitora atrodas uz sist\u0113mas blokiem. Past\u0101v\u012bgs ventilatoru \u0161\u0146\u0101k\u0161ana, peles bumbi\u0146as bumbule pa galdiem, nep\u0101rtraucoties nevien\u0101 br\u012bd\u012b. Gais\u0101 d\u012bvaina smar\u017ea, it k\u0101 50-100 hormon\u0101lu pusaud\u017eu periodiski p\u0101rmai\u0146us atdzes\u0113 simtiem Pentium III \u010dipu.<\/p>\n<p>Neskatoties uz vesel\u012bbas riskiem, man patika pas\u0113d\u0113t pie datora, kad izdev\u0101s br\u012bva min\u016bte.<\/p>\n<p>Telp\u0101 de\u017eur\u0113ja admins, vid\u0113ja auguma v\u012brietis, kuru izv\u0113l\u0113j\u0101s \u0161ai lomai t\u0101d\u0113\u013c, ka vi\u0146am bija neapdom\u012bga v\u0113l\u0113\u0161an\u0101s k\u013c\u016bt par \u013cauno diktatoru. Es t\u0101 dom\u0101ju. De\u017eur\u0113t ir v\u0101j\u0161 teikums, puisis tie\u0161\u0101m m\u012bl\u0113ja savu darbu. Vi\u0146am bija uzdots uzraudz\u012bt k\u0101rt\u012bbu, lai neviens nelietotu m\u0101c\u012bbu datoru kaut kam neviet\u0101.<\/p>\n<p>Un l\u012bdz \u0161odienai man intuit\u012bvi \u0161\u0137iet, ka admina pr\u0113mija tie\u0161i atkar\u012bga no studentu skaita, kurus vi\u0146\u0161 pie\u0137ers un izs\u016bt\u012bs no datoru z\u0101les. Esmu praktiski p\u0101rliecin\u0101ts, ka \u0161is puisis \u0101tr\u0101k atmaks\u0101ja savu hipot\u0113ku.<\/p>\n<p>Vi\u0146\u0161 s\u0113d\u0113ja t\u0101l\u0101kaj\u0101 st\u016br\u012b datora z\u0101l\u0113 pie st\u016bra galda. Un var\u0113ja dro\u0161i pie\u0146emt, ka vi\u0146a augl\u012bgie monitori ir atradu\u0161i veidu vairoties ar apbr\u012bnojami \u012bsu gr\u016btniec\u012bbas periodu \u2014 tik daudz vi\u0146u bija. Palika vien\u012bgi min\u0113t, vai vi\u0146\u0161 tie\u0161\u0101m sp\u0113j sekot tiem visiem. Protams, es jokoju\u2026 es ta\u010du piemin\u0113ju, ka vi\u0146\u0161 \u013coti nopietni izturas pret darbu?<\/p>\n<p>Taj\u0101 laik\u0101 datora t\u012bkls str\u0101d\u0101ja ar Windows 2000. Dr\u012bz es atkl\u0101ju, ka katru reizi piesakoties sist\u0113m\u0101, palai\u017eas skripts, kur\u0101 ir nor\u0101d\u012bts VNC servera palai\u0161ana ar administratora kontu att\u0101lin\u0101tai piek\u013cuvei darbvirsmai. Katra reize, kad \u0161is \u010dalis v\u0113l\u0113j\u0101s sekot jums, vi\u0146\u0161 piesl\u0113dz\u0101s tie\u0161i j\u016bsu datoram un v\u0113roja. Tas bija \u0161ausm\u012bgi un, dom\u0101jot par to tagad, visticam\u0101k, pat nelikum\u012bgi.<\/p>\n<p>Asinot zobus uz Basic un C64, tagad es rakst\u012bju C un pat nedaudz C++. Taj\u0101 laik\u0101 es v\u0113l biju \u013coti aizr\u0101vies ar D valodu, kas, manupr\u0101t, laboja da\u017eas C++ nepiln\u012bbas.<\/p>\n<p>Es parasti apmekl\u0113ju datora z\u0101li, lai izlas\u012btu kaut ko jaunu par D vai sp\u0113l\u0113tos ar Digital Mars D kompilatoru. Da\u017ereiz atsl\u0113dzoties no dom\u0101m par lielo D n\u0101kotni, es rakst\u012bju kodu C, lai lauztu citas Win32 programmas, izmantojot to logu aprakst\u012bt\u0101jus.<\/p>\n<p>Senajos laikos programm\u0113\u0161an\u0101 Win32 loga aprakst\u012bt\u0101ja mekl\u0113\u0161ana bija vissimpl\u0101kais veids, k\u0101 lauzt citas programmas. Ac\u012bmredzot vis\u0101m programm\u0101m ar grafisko saskarni Windows bija logs, pat ja tas nebija redzams ekr\u0101n\u0101. Uzrakstot programmu, lai ieg\u016btu cita procesa aprakst\u012bt\u0101ju (princip\u0101, atsauci uz to), j\u016bs var\u0113j\u0101t s\u016bt\u012bt tam zi\u0146as. Tas \u013c\u0101va veikt da\u017eas pamata oper\u0101cijas, piem\u0113ram, sl\u0113pt\/r\u0101d\u012bt programmas logu, k\u0101 ar\u012b patie\u0161\u0101m for\u0161as lietas, piem\u0113ram, likt procesam iel\u0101d\u0113t nejau\u0161u DLL sav\u0101 atmi\u0146as telp\u0101 un s\u0101kt izpild\u012bt kodu. P\u0113c DLL injekcijas s\u0101k\u0101s viss interesant\u0101kais.<\/p>\n<p>Pirmaj\u0101s pusotraj\u0101s m\u0113ne\u0161os \u0161is detekt\u012bvs mani \u012bpa\u0161i netrauc\u0113ja, vi\u0146\u0161 piesl\u0113dz\u0101s VNC serverim man\u0101 dator\u0101 tikai vienu vai divas reizes. Bet viens konkr\u0113ts seans, iesp\u0113jams, pamodin\u0101ja vi\u0146\u0101 interesi. Es rakst\u012bju k\u0101du kodu C valod\u0101, lai sl\u0113ptu Minesweeper logus (ner\u0101dot tos), lai b\u016btu viegl\u0101k sp\u0113l\u0113t klas\u0113, un tad paman\u012bju, ka baltais VNC ikona sist\u0113m\u0101 ir p\u0101rv\u0113rtusies meln\u0101. Tas noz\u012bm\u0113ja, ka vi\u0146\u0161 tagad mani nov\u0113ro.<\/p>\n<p>Es turpin\u0101ju kod\u0113t k\u0101 parasti, cen\u0161oties vi\u0146am nepiev\u0113rst uzman\u012bbu. Tikm\u0113r dators s\u0101ka konkr\u0113ti pal\u0113nin\u0101ties, cen\u0161oties nodot maksim\u0101lo kadru skaitu uz vienu no neskait\u0101majiem monitoriem istabas st\u016br\u012b. Windows gandr\u012bz vairs nerea\u0123\u0113ja, kad mana paciet\u012bba beidz\u0101s, es izn\u0101cu no sist\u0113mas un pabeidzu \u0161odienas darbus.<\/p>\n<p>N\u0101kamajos apmekl\u0113jumos datoru z\u0101l\u0113 Kolumbo gandr\u012bz katru reizi izr\u0101d\u012bja dz\u012bv\u012bgu interesi par to, ko es daru. Apm\u0113ram p\u0113c ceturt\u0101 apmekl\u0113juma es nol\u0113mu: ar to kaut kas j\u0101dara.<\/p>\n<p>Atz\u012bstu, ka sapr\u0101t\u012bgs, racion\u0101ls cilv\u0113ks var\u0113ja vienk\u0101r\u0161i uzdot \u0161o jaut\u0101jumu tie\u0161i vi\u0146am vai vi\u0146a vad\u012bt\u0101jam. Tom\u0113r es vienm\u0113r biju pak\u013c\u0101vies k\u0101rdin\u0101jumam un \u0101tri p\u0101rliecin\u0101ju sevi izv\u0113l\u0113ties piln\u012bgi citu strat\u0113\u0123iju.<\/p>\n<p>\u2014 Tu neko nesp\u0113si izdar\u012bt bez \u0161\u012b VNC servera! \u2014 mier\u012bgi un noteikti teicu sev vair\u0101kas reizes.<\/p>\n<p>Vajadz\u0113ja nogalin\u0101t VNC.<\/p>\n<p>Es s\u0101ku ien\u0101kt datoru z\u0101l\u0113 ar liel\u0101m studentu grup\u0101m un s\u0113d\u0113t p\u0113c iesp\u0113jas t\u0101l\u0101k no st\u016bra ar monitora. K\u0101du laiku tas str\u0101d\u0101ja un deva man nedaudz laika ideju p\u0101rbaudei.<\/p>\n<p>Mana pirm\u0101 m\u0113\u0123in\u0101jums, es dom\u0101ju, j\u016bs piekrit\u012bsiet, bija diezgan v\u0101ja. Uzklik\u0161\u0137inot ar peles labo pogu uz VNC ikonas sist\u0113m\u0101, es redz\u0113ju izv\u0113lni ar burtiem E-X-I-T. Diem\u017e\u0113l burti bija uzrakst\u012bti pel\u0113k\u0101 kont\u016bru tekst\u0101. Administrators bija atsl\u0113dzis izv\u0113lni 'Iziet' caur grupas politikas redaktoru. Es m\u0113\u0123in\u0101ju nogalin\u0101t procesu no Uzdevumu p\u0101rvaldnieka, bet, protams, tas man bija neredzams, jo darboj\u0101s zem citas, privil\u0113\u0123\u0113t\u0101kas konta. Nekas nesan\u0101ca.<\/p>\n<p>VNC serveris darbojas uz TCP porta 5900, es atcer\u0113jos. Mans n\u0101kamais pl\u0101ns bija nos\u016bt\u012bt uz \u0161o portu boj\u0101tas paketes, lai to saktu.<\/p>\n<p>Vismaz da\u017eas dienas es analiz\u0113ju protokolu, s\u016btot uz portu 5900 da\u017e\u0101das pareizi struktur\u0113tas versijas, cerot, ka tas saboj\u0101sies. Galu gal\u0101, tas ar\u012b neizdev\u0101s.<\/p>\n<p>Es jau biju s\u0101cis dom\u0101t, ka nevar\u0113\u0161u atbr\u012bvoties no \u0161\u012bs lietas, kad p\u0113k\u0161\u0146i mani izgaismoja: tur ta\u010du j\u0101b\u016bt logam! J\u0101, tas j\u0101par\u0101da. Varb\u016bt taj\u0101 b\u016bs laba, sul\u012bga pogu \"Izsl\u0113gt\", ko es var\u0113tu izmantot!<\/p>\n<p>Es palai\u017eos savu gandr\u012bz piln\u012bgi izstr\u0101d\u0101to C kodu, lai atrastu cita procesa galven\u0101 loga identific\u0113t\u0101ju \u2014 un tie\u0161\u0101m atradu VNC. Es jutos pacil\u0101ts, kad pirksti ierakst\u012bja <code>WM_SHOWWINDOW<\/code>. Uzminiet, ko es redz\u0113ju priek\u0161\u0101 sev?<\/p>\n<p>Neko!<\/p>\n<p>Tagad man palika interesanti\u2026 tam bija logs, bet tas ignor\u0113ja manus zi\u0146ojumus. Es divreiz p\u0101rbaud\u012bju savu kodu, lai p\u0101rliecin\u0101tos, ka tas darbojas. Es to p\u0101rbaud\u012bju ar da\u017eiem citiem procesiem, un tas str\u0101d\u0101ja lieliski. Es m\u0113\u0123in\u0101ju s\u016bt\u012bt VNC logam citus zi\u0146ojumus, un joproj\u0101m nekas.<\/p>\n<p>Un tad mani atkal izgaismoja!<\/p>\n<p>Paldies \u013coti resnajam <noindex><a rel=\"nofollow\" href=\"https:\/\/www.amazon.co.uk\/Programming-Windows%C2%AE-Microsoft-Charles-Petzold\/dp\/157231995X\">gr\u0101mat\u0101<\/a><\/noindex> \u010c\u0101rlzam Petzoldam es r\u016bp\u012bgi izp\u0113t\u012bju, k\u0101 Win32 procesi darbojas iek\u0161\u0113jos sist\u0113m\u0101. Katram Win32 lietojumprogrammai ir loga un \"zi\u0146ojumu rinda\". Lietot\u0101ja mijiedarb\u012bbas izsauktie zi\u0146ojumi, k\u0101 ar\u012b zi\u0146ojumi, ko s\u016bta pati Windows, non\u0101k rind\u0101, un pati lietojumprogramma izlemj, k\u0101 tos apstr\u0101d\u0101t.<\/p>\n<p>Tas pats par sevi nav \u012bpa\u0161i interesanti. Bet, kad es sapratu, ka pietiekami liela neapstr\u0101d\u0101tu zi\u0146ojumu rinda kalpo k\u0101 heuristika, lai iejauktos sasalu\u0161\u0101 proces\u0101 Windows Process Manager, es apd\u0101vin\u0101ju visu ar serotonu.<\/p>\n<p>Nezaud\u0113jot nevienu sekundi, es atgriezos pie sava C koda, gatavojoties nos\u016bt\u012bt v\u0113l vienu zi\u0146ojumu galvenaj\u0101 VNC log\u0101 <code>WM_SHOWWINDOW<\/code>. Cikl\u0101. M\u016b\u017e\u012bb\u0101. T\u0101 k\u0101 daudzi zi\u0146ojumi <code>WM_SHOWWINDOW<\/code>, par kuriem es tagad zin\u0101ju, VNC cent\u012bsies piln\u012bb\u0101 ignor\u0113t\u2026 uz saviem riska.<\/p>\n<p>Es sakompil\u0113ju un palaidu 4 KB visbr\u012bv\u0101k\u0101 koda man\u0101 dz\u012bv\u0113. Aptuveni p\u0113c tr\u012bs sekund\u0113m Windows pazi\u0146oja, ka process <code>vncserver.exe<\/code> neatbild, un izteica pied\u0101v\u0101jumu, no kura es vienk\u0101r\u0161i nevar\u0113ju atteikties:<\/p>\n<blockquote><p><i><b>Vai v\u0113laties pabeigt \u0161o procesu?<\/b><\/i><\/p><\/blockquote>\n<p>\nPird\u012b, J\u0100!<\/p>\n<p>Atz\u012b\u0161os, ka atliku\u0161o dienu es biju p\u0101r\u0101k apmierin\u0101ts ar sevi.<\/p>\n<p>P\u0113c vair\u0101ku stundu p\u0101rdom\u0101m par savu jauno supersp\u0113ku, es nol\u0113mu, k\u0101 to izmantot. Vienk\u0101r\u0161i nogalin\u0101t sesiju vi\u0146a acu priek\u0161\u0101 bija p\u0101r\u0101k vienk\u0101r\u0161i. Man bija lab\u0101ka ideja \u2014 piln\u012bb\u0101 izzust.<\/p>\n<p>P\u0113c <noindex><a rel=\"nofollow\" href=\"https:\/\/martinrue.com\/zzuy-a-lesson-in-perseverance\">c\u012b\u0146\u0101 ar programm\u0113\u0161anas soketiem<\/a><\/noindex> es sapratu, ka varu uzrakst\u012bt kodu, kas dar\u012bs divas lietas. Pirmk\u0101rt, tas aiz\u0146ems nesen atbr\u012bvoto TCP portu 5900, ko iepriek\u0161 aiz\u0146\u0113ma neizgl\u012btota VNC servera procesa d\u0113\u013c. P\u0113c tam tas izveidos jaunu TCP savienojumu ar nor\u0101d\u012bt\u0101 datora VNC serveri. Kods vienk\u0101r\u0161i p\u0101rs\u016bt\u012bs visus datus starp diviem soketiem, un Kolumbo dom\u0101s, ka piesl\u0113dzas man, kam\u0113r paties\u012bb\u0101 piesl\u0113gsies piln\u012bgi citam VNC serverim.<\/p>\n<p>Mans kods darbosies k\u0101 slepens tilts starp mani un k\u0101du citu nabaga dv\u0113seli p\u0113c manas izv\u0113les. Tas bija lieliski.<\/p>\n<p>Es uzreiz s\u0101ku rakst\u012bt savu viltojo\u0161o VNC tiltu. Kolumbo vair\u0101kas reizes piesl\u0113dz\u0101s man, bet es turpin\u0101ju programm\u0113t vi\u0146a acu priek\u0161\u0101. Es non\u0101cu pie secin\u0101juma, ka vi\u0146am nav ne jausmas par manu r\u012bc\u012bbu, lai gan es rakst\u012bju ac\u012bmredzamas lietas, piem\u0113ram, portu numurus un koment\u0101rus, piem\u0113ram, <code>\/\/ \u041f\u0440\u043e\u0449\u0430\u0439, \u0436\u0443\u0442\u043a\u0438\u0439 \u0448\u043f\u0438\u043e\u043d VNC<\/code>.<\/p>\n<p>P\u0113c p\u0101ris dien\u0101m es nesp\u0113ju pan\u0101kt, lai kods darbotos pareizi. V\u0113l slikt\u0101k, es praktiski nep\u0101rtraukti str\u0101d\u0101ju ar melno VNC symbolu uz sist\u0113mas inform\u0101cijas joslas. Kam\u0113r tas bija piesl\u0113gts, es nevar\u0113ju atbr\u012bvot portu, lai p\u0101rbaud\u012btu savu kodu.<\/p>\n<p>Ja es tobr\u012bd b\u016btu zin\u0101jis par <code>netcat<\/code>!<\/p>\n<p>Galu gal\u0101 nervi neiztur\u0113ja, es tom\u0113r biju nepaciet\u012bgs 17 gadus vecs puisis. Atkal v\u0113rojot, k\u0101 baltais VNC servera simbols k\u013c\u016bst melns, es apnikumu pilns atv\u0113ru s\u0101kotn\u0113jo kodu, kas aizpild\u012bja zi\u0146ojumu rindu, un palaidu vi\u0146a acu priek\u0161\u0101. Es pat uzgaid\u012bju p\u0101ris sekundes pirms nospie\u0161anas <code>End Process<\/code>, vienk\u0101r\u0161i lai p\u0101rliecin\u0101tos, ka vi\u0146\u0161 to redz\u0113ja.<\/p>\n<p>Ja nospie\u017eot \u0161o pogu v\u0113l nebija piln\u012bb\u0101 p\u0101rliecin\u0101jusi mani, ka tas bija t\u0101 v\u0113rts, tad vi\u0146a l\u0113ciens no saviem monitoriem, lai \u0101tri pieietu pie manis un izvad\u012btu mani no istabas, noteikti bija t\u0101 v\u0113rts.<\/p>\n<p>Galu gal\u0101 man tika aizliegts piek\u013c\u016bt t\u012bklam uz div\u0101m ned\u0113\u013c\u0101m. Es dom\u0101ju, ka tas ir taisn\u012bgs sods. Aptuveni p\u0113c trim ned\u0113\u013c\u0101m VNC serveris pazuda no start\u0113\u0161anas skriptiem un vairs nekur ner\u0101d\u012bj\u0101s. Es nenoskaidroju, vai mans incidents sp\u0113l\u0113ja k\u0101du lomu taj\u0101, bet tas piln\u012bb\u0101 sagr\u0101va manu pl\u0101nu par pasakainu bag\u0101t\u012bbu, p\u0101rdodot savu VNC ier\u012bci apspiestiem studentiem vis\u0101 valsts kolled\u017e\u0101s.<br \/>\n<br \/>Avots: <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.5 - 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\/lv\/blog\/bitva-koderov-ya-protiv-togo-parnya-s-vnc\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"lv_LV\" \/>\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\/lv\/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\udd47Koderu c\u012b\u0146a: es pret to \u010dali ar VNC | ProHoster","description":"\u0160aj\u0101 emu\u0101r\u0101 ir public\u0113ts ne mazums programm\u0113t\u0101ju st\u0101stu. Man pat\u012bk atcer\u0113ties savas vec\u0101s mu\u013c\u0137\u012bbas.","canonical_url":"https:\/\/prohoster.info\/lv\/blog\/bitva-koderov-ya-protiv-togo-parnya-s-vnc","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"lv_LV","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\/lv\/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\/lv\/wp-json\/wp\/v2\/posts\/40151","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/comments?post=40151"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/40151\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/media?parent=40151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/categories?post=40151"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/tags?post=40151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}