{"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\/hr\/blog\/bitva-koderov-ya-protiv-togo-parnya-s-vnc","title":{"rendered":"Bitka programera: ja protiv tog tipa s VNC-om","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>U <noindex><a rel=\"nofollow\" href=\"https:\/\/martinrue.com\/\">ovom blogu<\/a><\/noindex> objavljeno je mno\u0161tvo programerskih pri\u010da, a ja se volim sje\u0107ati svojih starih gluposti. Evo jo\u0161 jedne takve pri\u010de.<\/p>\n<p>Prvi put sam se zainteresirao za ra\u010dunala, posebno programiranje, kada sam imao oko 11 godina. U prvom razredu srednje \u0161kole b<b>o<\/b>ve\u0107inu svog slobodnog vremena sam provodio s C64 i pisao u Basicu, a zatim sam koristiti \u0161kare za rezanje lo\u0161eg koda. <noindex><a rel=\"nofollow\" href=\"https:\/\/martinrue.com\/give-yourself-more-playtime\/\">\u0160alim se, \u0161kare su.<\/a><\/noindex>.<\/p>\n<p>Nakon \u0161kole (u dobi od oko 16 godina) britanska djeca obi\u010dno idu u koled\u017e, gdje biraju tri do \u010detiri predmeta za studij prije nego \u0161to krenu na sveu\u010dili\u0161te. S obzirom na svoju ljubav prema be\u017eoj kutiji i kazetofonu kod ku\u0107e, odlu\u010dio sam da je studij \"informatike\" na koled\u017eu ispravni odabir.<\/p>\n<p>Kurs mi se svidio vi\u0161e nego \u0161to sam o\u010dekivao; tamo sam prvi put upoznao Pascal i Delphi.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nTijekom pauza izme\u0111u predavanja, studenti su mogli raditi na bilo kojem slobodnom ra\u010dunalu u kompjutorskoj u\u010dionici. Zamislite: ogroman prostor, sa stotinjak mjesta, s redovima stolova prepunih ra\u010dunala \u2014 kao \u0161to su ona gdje je monitor postavljen na ku\u0107i\u0161te. Kontinuirano zujanje ventilatora, kuglice mi\u0161eva grgu\u0107u po stolovima bez prestanka. U zraku je bio \u010dudan miris, kao da se 50-100 tinejd\u017eera, zasi\u0107enih hormonima, povremeno izmjenjuju radi hla\u0111enja stotina Pentium III \u010dipova.<\/p>\n<p>Unato\u010d zdravstvenim rizicima, volio sam sjediti za ra\u010dunalom kada je bila slobodna minuta.<\/p>\n<p>U prostoru je bio administrator, nizak \u010dovjek srednjih godina, kojeg su odabrali za ovu ulogu zbog neugasivog nastojanja da postane zli diktator. Tako mislim. Djelovao je kao da su njegove ovlasti bile slabe, zapravo je volio svoj posao. Njegova zada\u0107a bila je nadzirati red, kako nitko ne bi koristio obrazovne ra\u010dunare za ne\u0161to neprimjereno.<\/p>\n<p>Sve do danas moja intuicija mi govori da je okru\u017eenje administratora direktno ovisilo o broju studenata koje je uhvatio na djelu i izveo iz u\u010dionice. Gotovo sam siguran da je taj de\u010dko prijevremeno otplatio svoju hipoteku.<\/p>\n<p>Sjedi u udaljenom kutu ra\u010dunalne dvorane za kutnim stolom. I moglo se s povjerenjem pretpostaviti da su njegovi plodni monitore prona\u0161li na\u010din razmno\u017eavanja s impresivno kratkim trudno\u0107om \u2014 toliko ih je bilo. Ostalo je samo naga\u0111ati prati li on stvarno sve njih. Naravno, \u0161alim se... jesam li spomenuo da se vrlo ozbiljno odnosio prema radu?<\/p>\n<p>Tada je ra\u010dunalna mre\u017ea radila pod kontrolom Windows 2000. Ubrzo sam otkrio da se pri svakom prijavljivanju pokre\u0107e skripta u kojoj je zadano pokretanje VNC servera s administratorskim ra\u010dunom za daljinski pristup radnoj povr\u0161ini. Svaki put kada je taj tip \u017eelio nadgledati vas, povezivao se izravno s va\u0161im strojem i promatrao. Bilo je to zastra\u0161uju\u0107e, a ako sada razmislimo, vjerojatno i ilegalno.<\/p>\n<p>Nakon \u0161to sam se usavr\u0161io u BASIC-u i C64, sada sam pisao u C-u, a \u010dak i malo u C++. U to vrijeme sam se tako\u0111er vrlo zainteresirao za jezik D, koji je ispravljao neke nedostatke C++-a, kako mi se tada \u010dinilo.<\/p>\n<p>Obi\u010dno sam navra\u0107ao u ra\u010dunalnu dvoranu kako bih pro\u010ditao ne\u0161to novo o D-u ili se igrao s Digital Mars D kompajlerom. Ponekad, skrenuv\u0161i misli od sjajne budu\u0107nosti D-a, pisao sam kod u C-u za hakiranje drugih Win32 programa putem njihovih deskriptora prozora.<\/p>\n<p>U stara dobra vremena programiranja na Win32, pronala\u017eenje deskriptora prozora bilo je najjednostavnija metoda za hakiranje drugih programa. O\u010digledno je da su svi programi s grafi\u010dkim su\u010deljem u Windows imali prozor, \u010dak i ako nije bio prikazan na ekranu. Napisav\u0161i program za izvla\u010denje deskriptora drugog procesa (u osnovi, veze na njega), mogli ste mu slati poruke. To je omogu\u0107ilo izvo\u0111enje nekih osnovnih operacija, kao \u0161to je sakrivanje\/prikazivanje prozora programa, a tako\u0111er i stvarno cool stvari, poput tjeranja procesa da u\u010dita proizvoljnu DLL u svoj prostor memorije i po\u010dne izvr\u0161avati kod. Nakon umetanja DLL-a po\u010dela su najzanimljivija doga\u0111anja.<\/p>\n<p>U prva mjeseca i pol ovaj detektiv me nije posebno uznemiravao, povezao se s VNC poslu\u017eiteljem na mom ra\u010dunalu samo jedan ili dva puta. No, jedna konkretna sesija vjerojatno je probudila njegov interes. Pisao sam neki kod u C-u za skrivanje prozora Minesweepera (ne zatvaraju\u0107i ih), kako bi mi bilo lak\u0161e igrati u u\u010dionici, i tada sam primijetio da je bijela ikona VNC-a u sistemskom podru\u010dju postala crna. To je zna\u010dilo da me sada promatra.<\/p>\n<p>Nastavio sam kodirati kao i obi\u010dno, nastoje\u0107i ne obra\u0107ati pa\u017enju na njega. U me\u0111uvremenu, ra\u010dunalo je po\u010delo ozbiljno usporavati, poku\u0161avaju\u0107i prenijeti maksimalnu brzinu okvira na jedan od bezbroj monitora u kutu sobe. Windows gotovo da nije reagirao kad je moje strpljenje iscurilo, odjavio sam se i zavr\u0161io za danas.<\/p>\n<p>Tijekom sljede\u0107ih posjeta ra\u010dunalnoj dvorani, Columbo je gotovo svaki put pokazivao \u017eiv interes za ono \u010dime se bavim. Otprilike nakon \u010detvrtog puta odlu\u010dio sam: s ovim se mora ne\u0161to u\u010diniti.<\/p>\n<p>Priznajem da je razuman, racionalan \u010dovjek mogao jednostavno iznijeti ovo pitanje direktno s njim ili njegovim nadredjenim. No, uvijek sam se predao isku\u0161enju i brzo sam uvjerio sebe da izaberem sasvim druga\u010diju strategiju.<\/p>\n<p>\u2014 Ne\u0107e\u0161 mo\u0107i u\u010diniti ni\u0161ta bez ovog VNC poslu\u017eitelja! \u2014 smireno sam odlu\u010dno rekao sebi nekoliko puta.<\/p>\n<p>Bilo je potrebno ubiti VNC.<\/p>\n<p>Po\u010deo sam ulaziti u ra\u010dunalnu dvoranu s velikim grupama studenata i sjediti \u0161to dalje od kuta s monitorima. Neko vrijeme to je djelovalo i dalo mi malo vremena za provjeru ideja.<\/p>\n<p>Moj prvi poku\u0161aj, mislim da \u0107ete se slo\u017eiti, bio je prili\u010dno slab. Desnim klikom na ikonu VNC-a u sistemskom podru\u010dju, vidio sam izbornik s \u010darobnim slovima E-X-I-T. Na\u017ealost, slova su bila napisana sivim obrubnim tekstom. Administrator je onemogu\u0107io stavku izbornika \"Izlaz\" putem ure\u0111iva\u010da grupne politike. Poku\u0161ao sam ubiti proces iz Upravitelja zadataka, ali, naravno, bio je nevidljiv za mene jer je radio pod drugim, privilegiranijim ra\u010dunom. Ni\u0161ta nije uspjelo.<\/p>\n<p>VNC poslu\u017eitelj vrti se na TCP portu 5900, sjetio sam se. Moj sljede\u0107i plan bio je poslati o\u0161te\u0107ene pakete na taj port kako bih ga sru\u0161io.<\/p>\n<p>Nekoliko dana sam prou\u010davao protokol, \u0161alju\u0107i razne oblike pravilno strukturiranog sme\u0107a na port 5900, nadaju\u0107i se da \u0107e se uspjeti slomiti. Na kraju, ni to nije uspelo.<\/p>\n<p>Ve\u0107 sam po\u010deo sumnjati da \u0107u se ikad rije\u0161iti ovog problema kada me odjednom kroz glavu pro\u0111e: mora da postoji prozor! Trebam ga prikazati. Mo\u017eda \u0107e imati dobar so\u010dan gumb 'Isklju\u010diti' koji \u0107u mo\u0107i dobro iskoristiti!<\/p>\n<p>Pokrenuo sam svoj prakti\u010dki savr\u0161en C kod za pronala\u017eenje identifikatora glavnog prozora drugog procesa \u2014 i stvarno prona\u0161ao VNC. Osje\u0107ao sam se odu\u0161evljeno kada su mi prsti upisali <code>WM_SHOWWINDOW<\/code>. Poku\u0161ajte pogoditi \u0161to sam vidio ispred sebe?<\/p>\n<p>Ni\u0161ta!<\/p>\n<p>Sada me po\u010delo zanimati\u2026 imao je prozor, ali je ignorirao moje poruke. Provjerio sam svoj kod dvaput da budem siguran da radi. Testirao sam ga na nekim drugim procesima i radio je fantasti\u010dno. Poku\u0161ao sam poslati razne poruke u VNC prozor, ali opet ni\u0161ta.<\/p>\n<p>I tu me opet obasjalo!<\/p>\n<p>Zahvaljuju\u0107i veoma debeloj <noindex><a rel=\"nofollow\" href=\"https:\/\/www.amazon.co.uk\/Programming-Windows%C2%AE-Microsoft-Charles-Petzold\/dp\/157231995X\">knjizi<\/a><\/noindex> Charlesa Petzolda, temeljito sam prou\u010davao kako Win32 procesi rade unutar sustava. Svaka Win32 aplikacija ima prozor, kao i 'red poruka'. Poruke, uzrokovane interakcijom s korisnikom, kao i poruke koje \u0161alje sama Windows, dolaze u red, a sama aplikacija odlu\u010duje kako ih obraditi.<\/p>\n<p>Nije previ\u0161e zanimljivo samo po sebi. No, kada sam shvatio da dovoljno velik neobra\u0111eni red poruka mo\u017ee poslu\u017eiti kao heuristika za intervenciju u visoku potro\u0161nju procesora od strane menad\u017eera Window Process Manager, bio sam preplavljen \u010distim serotonin.<\/p>\n<p>Ne gube\u0107i ni sekunde, vratio sam se svom C kodu, spreman poslati jo\u0161 jednu poruku glavnom prozoru VNC <code>WM_SHOWWINDOW<\/code>. U ciklusu. Vje\u010dnom. Dakle, mnogo poruka <code>WM_SHOWWINDOW<\/code>, za koje sam sada znao da \u0107e VNC potpuno ignorirati\u2026 na vlastitu odgovornost.<\/p>\n<p>Kompilirao sam i pokrenuo 4 KB najslobodoumnog koda u svom \u017eivotu. Nakon otprilike tri sekunde, Windows je javio da proces <code>vncserver.exe<\/code> ne reagira, i dao mi prijedlog kojem jednostavno nisam mogao odoljeti:<\/p>\n<blockquote><p><i><b>\u017delite li zavr\u0161iti ovaj proces?<\/b><\/i><\/p><\/blockquote>\n<p>\nProkletstvo, DA!<\/p>\n<p>Dopustite da priznam da sam ostatak dana bio neizmjerno zadovoljan sobom.<\/p>\n<p>Nakon nekoliko sati provedenih u razmi\u0161ljanju o svojoj novoj supermo\u0107i, odlu\u010dio sam kako \u0107u je iskoristiti. Samo ubiti sesiju pred njim bilo bi previ\u0161e lako. Imao sam bolju ideju \u2013 potpuno nestati.<\/p>\n<p>Nakon <noindex><a rel=\"nofollow\" href=\"https:\/\/martinrue.com\/zzuy-a-lesson-in-perseverance\">borbenog kr\u0161tenja s programiranjem soketa<\/a><\/noindex> Shvatio sam da mogu napisati kod koji \u0107e raditi dvije stvari. Prvo, zauzet \u0107e nedavno oslobo\u0111enu TCP portu 5900, koju je ranije zauzimao neznalica u VNC poslu\u017eitelju. Zatim \u0107e kreirati novu TCP konekciju s VNC poslu\u017eiteljem odabrane ma\u0161ine. Kod \u0107e jednostavno proksirati sve podatke izme\u0111u dva soketa, a Kolumbo \u0107e misliti da se povezuje sa mnom, dok \u0107e se zapravo povezivati s potpuno druga\u010dijim VNC poslu\u017eiteljem.<\/p>\n<p>Moj kod \u0107e djelovati kao tajni most izme\u0111u mene i neke druge nesretne du\u0161e po mom izboru. To je bilo divno.<\/p>\n<p>Odmah sam po\u010deo pisati svoj la\u017eni VNC most. Kolumbo se nekoliko puta povezivao sa mnom, ali ja sam nastavio programirati pred njegovim o\u010dima. Do\u0161ao sam do zaklju\u010dka da nema pojma o mojim radnjama, iako sam pisao o\u010dite stvari poput brojeva portova i komentara poput <code>\/\/ \u041f\u0440\u043e\u0449\u0430\u0439, \u0436\u0443\u0442\u043a\u0438\u0439 \u0448\u043f\u0438\u043e\u043d VNC<\/code>.<\/p>\n<p>Nakon nekoliko dana nisam mogao natjerati kod da ispravno radi. \u0160to je jo\u0161 gore, gotovo sam neprekidno radio s crnom ikonom VNC-a u sistemskoj paleti. Dok je bio povezan, nisam mogao osloboditi port kako bih provjerio svoj kod.<\/p>\n<p>Da sam tada znao o <code>netcat<\/code>!<\/p>\n<p>Na kraju, \u017eivci nisu izdr\u017eali, ionako sam bio nestrpljivi 17-godi\u0161njak. Ponovno gledaju\u0107i kako bijela ikona VNC poslu\u017eitelja postaje crna, pobijedio me je bijes, otvorio sam po\u010detni kod koji je popunjavao red poruka i pokrenuo ga pred njegovim o\u010dima. \u010cak sam pri\u010dekao nekoliko sekundi prije nego \u0161to sam pritisnuo <code>End Process<\/code>, samo da budem siguran da je to vidio.<\/p>\n<p>Ako pritisak ovog dugmeta jo\u0161 nije potpuno uvjerio da je to vrijedilo, njegov skok zbog svoje \u010dvrsto\u0107e monitora, da brzo do\u0111e do mene i izvu\u010de me iz prostorije, definitivno je bio vrijedan toga.<\/p>\n<p>Na kraju su mi zabranili pristup mre\u017ei na dva tjedna. Smatrao sam to pravednom kaznom. Oko tri tjedna kasnije, VNC server nestao je iz pokreta\u010dkih skripti i vi\u0161e se nije pojavljivao. Nisam saznao je li moj incident igrao neku ulogu u tome ili ne, ali potpuno je uni\u0161tio moj plan o fantazijskom bogatstvu prodajom svog VNC oru\u017eja potla\u010denim studentima u ra\u010dunalnim dvoranama diljem zemlje.<br \/>\n<br \/>Izvor: <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.4 - 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\/hr\/blog\/bitva-koderov-ya-protiv-togo-parnya-s-vnc\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"hr_HR\" \/>\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\/hr\/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\udd47Bitka programera: ja protiv de\u010dka s VNC | ProHoster","description":"Na ovom blogu objavljeno je mnogo programerskih anegdota. Volim se prisje\u0107ati svojih starih gluposti.","canonical_url":"https:\/\/prohoster.info\/hr\/blog\/bitva-koderov-ya-protiv-togo-parnya-s-vnc","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hr_HR","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\/hr\/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\/hr\/wp-json\/wp\/v2\/posts\/40151","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/comments?post=40151"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/40151\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media?parent=40151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/categories?post=40151"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/tags?post=40151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}