{"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\/pt\/blog\/bitva-koderov-ya-protiv-togo-parnya-s-vnc","title":{"rendered":"A Batalha dos Codificadores: Eu contra o cara do VNC","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Em <noindex><a rel=\"nofollow\" href=\"https:\/\/martinrue.com\/\">neste blog<\/a><\/noindex> foram publicadas v\u00e1rias hist\u00f3rias de programadores. Eu gosto de lembrar das minhas antigas bobagens. Bem, aqui vai mais uma dessas hist\u00f3rias.<\/p>\n<p>Eu me interessei pela computa\u00e7\u00e3o, especialmente programa\u00e7\u00e3o, quando tinha cerca de 11 anos. No in\u00edcio do ensino fundamental,<b>maior<\/b>passava a maior parte do meu tempo livre brincando com meu C64 e programando em Basic, e depois cortava o c\u00f3digo ruim com tesouras. <noindex><a rel=\"nofollow\" href=\"https:\/\/martinrue.com\/give-yourself-more-playtime\/\">N\u00e3o estou brincando, com tesouras.<\/a><\/noindex>.<\/p>\n<p>Ap\u00f3s a escola (por volta dos 16 anos), crian\u00e7as brit\u00e2nicas geralmente v\u00e3o para o col\u00e9gio, onde escolhem tr\u00eas ou quatro disciplinas para estudar antes de ingressar na universidade. Considerando meu amor pela caixa bege e o gravador em casa, decidi que estudar 'ci\u00eancia da computa\u00e7\u00e3o' no col\u00e9gio seria a escolha certa.<\/p>\n<p>O curso me agradou mais do que eu esperava; foi l\u00e1 que conheci Pascal e Delphi pela primeira vez.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nDurante os intervalos, os alunos podiam usar qualquer computador dispon\u00edvel na sala de inform\u00e1tica. Imagine: uma sala enorme, projetada para cerca de cem pessoas, com filas de mesas cheias de m\u00e1quinas \u2014 como aquelas onde o monitor fica em cima da unidade central. O barulho constante das ventoinhas, as bolinhas dos mouses rolando nas mesas sem parar. O ar tinha um cheiro estranho, como se 50-100 adolescentes, que exalam horm\u00f4nios, fossem periodicamente substitu\u00eddos para esfriar uma centena de chips Pentium III.<\/p>\n<p>Apesar dos riscos \u00e0 sa\u00fade, eu gostava de sentar na frente do computador sempre que tinha um minuto livre.<\/p>\n<p>Na sala, havia um administrador, um homem de estatura m\u00e9dia, escolhido para esse papel devido \u00e0 sua incessante vontade de se tornar um ditador malvado. Eu suponho. Estava de plant\u00e3o \u2014 isso \u00e9 um eufemismo, o cara realmente adorava seu trabalho. Ele tinha a tarefa de manter a ordem, para que ningu\u00e9m usasse o computador acad\u00eamico para algo inapropriado.<\/p>\n<p>E at\u00e9 hoje, minha intui\u00e7\u00e3o me diz que o pr\u00eamio do administrador dependia diretamente do n\u00famero de alunos que ele pegava em flagrante e expulsava da sala de inform\u00e1tica. Estou praticamente certo de que esse cara pagou sua hipoteca antecipadamente.<\/p>\n<p>Ele estava sentado em um canto distante do sal\u00e3o de computadores, atr\u00e1s de uma mesa no formato de L. E podia-se supor com confian\u00e7a que seus f\u00e9rteis monitores encontraram uma maneira de se multiplicar em um per\u00edodo de gesta\u00e7\u00e3o impressionantemente curto \u2014 eram muitos. Restava apenas perguntar se ele realmente conseguia monitor\u00e1-los todos. Claro, estou brincando\u2026 mencionei que ele levava o trabalho muito a s\u00e9rio?<\/p>\n<p>Na \u00e9poca, a rede de computadores funcionava sob o Windows 2000. Logo percebi que, a cada login, um script era executado, que iniciava o servidor VNC a partir da conta de administrador para acesso remoto \u00e0 \u00e1rea de trabalho. Sempre que aquele cara queria vigi\u00e1-lo, ele se conectava diretamente \u00e0 sua m\u00e1quina e observava. Isso era assustador e, se pensar bem agora, provavelmente ilegal.<\/p>\n<p>Afiando os dentes em BASIC e C64, agora eu escrevia em C e at\u00e9 um pouco em C++. Naquela \u00e9poca, fiquei realmente intrigado com a linguagem D, que corrigia algumas falhas do C++, na minha vis\u00e3o na \u00e9poca.<\/p>\n<p>Eu costumava entrar no sal\u00e3o de computadores para ler algo novo sobre D ou brincar com o compilador Digital Mars D. \u00c0s vezes, me distraindo de pensamentos sobre o grande futuro do D, eu escrevia c\u00f3digo em C para invadir outros programas Win32 atrav\u00e9s dos descritores de suas janelas.<\/p>\n<p>Nos velhos tempos de programa\u00e7\u00e3o em Win32, encontrar o descritor da janela era o m\u00e9todo mais simples para invadir outros programas. \u00c9 evidente que todos os programas com interface gr\u00e1fica no Windows tinham uma janela, mesmo que n\u00e3o estivesse vis\u00edvel na tela. Ao escrever um programa para extrair o descritor de outro processo (basicamente, um link para ele), voc\u00ea podia enviar mensagens para ele. Isso permitia realizar algumas opera\u00e7\u00f5es b\u00e1sicas, como ocultar\/exibir a janela do programa, al\u00e9m de coisas realmente legais, como for\u00e7ar o processo a carregar uma DLL arbitr\u00e1ria em seu espa\u00e7o de mem\u00f3ria e come\u00e7ar a executar c\u00f3digo. Depois da inje\u00e7\u00e3o da DLL, a parte mais interessante come\u00e7ava.<\/p>\n<p>Nos primeiros m\u00eas e meio, esse detetive n\u00e3o me incomodou muito, ele se conectou ao servidor VNC na minha m\u00e1quina apenas uma ou duas vezes. Mas uma sess\u00e3o em particular provavelmente despertou seu interesse. Eu estava escrevendo algum c\u00f3digo em C para ocultar as janelas do Minesweeper (sem fech\u00e1-las), para facilitar o jogo na aula, e ent\u00e3o notei que o \u00edcone branco do VNC na bandeja do sistema havia se tornado preto. Isso significava que ele estava me observando.<\/p>\n<p>Continuei codificando como de costume, tentando n\u00e3o prestar aten\u00e7\u00e3o nele. Enquanto isso, a m\u00e1quina come\u00e7ou a desacelerar bastante, tentando transmitir a taxa m\u00e1xima de quadros para um dos in\u00fameros monitores no canto da sala. O Windows quase parou de responder, e quando minha paci\u00eancia se esgotou, sa\u00ed do sistema e terminei por hoje.<\/p>\n<p>Durante as visitas seguintes ao laborat\u00f3rio de computadores, Colombo quase sempre demonstrava um interesse vivo pelo que eu estava fazendo. Aproximadamente ap\u00f3s a quarta vez, decidi que era preciso fazer algo a respeito.<\/p>\n<p>Reconhe\u00e7o que uma pessoa razo\u00e1vel e racional poderia ter levantado essa quest\u00e3o diretamente com ele ou seu chefe. No entanto, sempre sucumbi \u00e0 tenta\u00e7\u00e3o e rapidamente me convenci a adotar uma estrat\u00e9gia completamente diferente.<\/p>\n<p>\u2014 Voc\u00ea n\u00e3o conseguir\u00e1 fazer nada sem este servidor VNC! \u2014 disse-me calmamente, com determina\u00e7\u00e3o, algumas vezes.<\/p>\n<p>Era preciso eliminar o VNC.<\/p>\n<p>Comecei a entrar no laborat\u00f3rio de computadores com grandes grupos de alunos e a me sentar o mais distante poss\u00edvel do canto com os monitores. Durante um tempo isso funcionou e me deu um pouco de tempo para testar ideias.<\/p>\n<p>Minha primeira tentativa, eu acho que voc\u00ea concordar\u00e1, foi bastante fraca. Ao clicar com o bot\u00e3o direito no \u00edcone do VNC na bandeja do sistema, vi um menu com as m\u00e1gicas letras E-X-I-T. Infelizmente, as letras estavam escritas em texto contornado cinza. O administrador desativou a op\u00e7\u00e3o \"Sair\" atrav\u00e9s do editor de pol\u00edtica de grupos. Tentei encerrar o processo pelo Gerenciador de Tarefas, mas, claro, ele estava invis\u00edvel para mim, pois estava rodando sob outra conta com mais privil\u00e9gios. Nada funcionou.<\/p>\n<p>Lembrei-me de que o servidor VNC roda na porta TCP 5900. Meu pr\u00f3ximo plano consistia em enviar pacotes corrompidos para essa porta, a fim de trav\u00e1-lo.<\/p>\n<p>Pelo menos por alguns dias, examinei o protocolo, enviando ao porto 5900 v\u00e1rias formas de lixo estruturado corretamente e torcendo para que ele quebrasse. No final, isso tamb\u00e9m n\u00e3o funcionou.<\/p>\n<p>Eu j\u00e1 estava come\u00e7ando a pensar que n\u00e3o conseguiria me livrar dessa coisa, quando de repente me ocorreu: deve haver uma janela! Eu preciso exibi-la. Talvez haja um bot\u00e3o grande e suculento de \u2018Desligar\u2019 nele, que eu possa usar de forma excelente!<\/p>\n<p>Eu executei meu c\u00f3digo C quase perfeito para encontrar o descritor da janela principal de outro processo \u2014 e realmente encontrei o VNC. Eu me senti elevado quando meus dedos digitaram <code>WM_SHOWWINDOW<\/code>. Tente adivinhar o que eu vi diante de mim?<\/p>\n<p>Nada!<\/p>\n<p>Agora, fiquei curioso... havia uma janela, mas ela ignorava minhas mensagens. Eu verifiquei meu c\u00f3digo duas vezes para garantir que estava funcionando. Testei em v\u00e1rios outros processos e funcionou perfeitamente. Tentei enviar outras mensagens para a janela VNC e ainda assim nada.<\/p>\n<p>E ent\u00e3o me ocorreu novamente!<\/p>\n<p>Gra\u00e7as a um livro muito grosso <noindex><a rel=\"nofollow\" href=\"https:\/\/www.amazon.co.uk\/Programming-Windows%C2%AE-Microsoft-Charles-Petzold\/dp\/157231995X\">do Charles Petzold, estudei minuciosamente como os processos Win32 funcionam dentro do sistema. Cada aplicativo Win32 tem uma janela e tamb\u00e9m uma \u2018fila de mensagens\u2019. As mensagens, causadas pela intera\u00e7\u00e3o do usu\u00e1rio, bem como mensagens enviadas pelo pr\u00f3prio Windows, entram na fila, e o aplicativo decide como process\u00e1-las.<\/a><\/noindex> N\u00e3o \u00e9 muito interessante por si s\u00f3. Mas quando percebi que uma fila de mensagens n\u00e3o processadas grande o suficiente funcionava como uma heur\u00edstica para interferir em um processo travado pela ger\u00eancia do Window Process Manager, eu fiquei tomado por puro serotonina.<\/p>\n<p>Sem perder tempo, voltei ao meu c\u00f3digo C, me preparando para enviar mais uma mensagem para a janela principal do VNC<\/p>\n<p>. Em um loop. Eterno. Ent\u00e3o, uma infinidade de mensagens <code>WM_SHOWWINDOW<\/code>, que agora eu sabia que o VNC tentaria ignorar completamente... por sua pr\u00f3pria conta e risco. <code>WM_SHOWWINDOW<\/code>Compilei e executei 4 KB do c\u00f3digo mais livre que j\u00e1 escrevi na minha vida. Cerca de tr\u00eas segundos depois, o Windows informou que o processo<\/p>\n<p>vncserver.exe <code>n\u00e3o respondeu, e fez uma oferta que eu simplesmente n\u00e3o pude recusar:<\/code> Voc\u00ea deseja encerrar este processo?<\/p>\n<blockquote><p><i><b>Droga, SIM!<\/b><\/i><\/p><\/blockquote>\n<p>\nDeixe-me admitir que o restante do dia eu estava insuportavelmente satisfeito comigo mesmo.<\/p>\n<p>Deixe-me confessar que o resto do dia estive insuportavelmente satisfeito comigo mesmo.<\/p>\n<p>Depois de algumas horas refletindo sobre meu novo superpoder, decidi como iria us\u00e1-lo. Apenas terminar a sess\u00e3o bem diante dele era simples demais. Eu tinha uma ideia melhor \u2013 desaparecer completamente.<\/p>\n<p>Depois <noindex><a rel=\"nofollow\" href=\"https:\/\/martinrue.com\/zzuy-a-lesson-in-perseverance\">do meu batismo de fogo com a programa\u00e7\u00e3o de sockets<\/a><\/noindex> , percebi que poderia escrever um c\u00f3digo que faria duas coisas. Primeiro, ele ocuparia a porta TCP 5900, recentemente liberada por um processo ignorante do servidor VNC. Depois, criaria uma nova conex\u00e3o TCP com o servidor VNC da m\u00e1quina especificada. O c\u00f3digo apenas far\u00e1 um proxy de todos os dados entre os dois sockets, e Columbo achar\u00e1 que est\u00e1 se conectando a mim, enquanto na verdade estar\u00e1 se conectando a um servidor VNC completamente diferente.<\/p>\n<p>Meu c\u00f3digo funcionar\u00e1 como uma ponte secreta entre mim e alguma outra alma infeliz de minha escolha. Isso era maravilhoso.<\/p>\n<p>Imediatamente comecei a escrever minha ponte falsa VNC. Columbo se conectou a mim algumas vezes, mas eu continuei programando bem diante dele. Cheguei \u00e0 conclus\u00e3o de que ele n\u00e3o tinha ideia do que eu estava fazendo, mesmo escrevendo coisas \u00f3bvias, como n\u00fameros de porta e coment\u00e1rios como <code>\/\/ \u041f\u0440\u043e\u0449\u0430\u0439, \u0436\u0443\u0442\u043a\u0438\u0439 \u0448\u043f\u0438\u043e\u043d VNC<\/code>.<\/p>\n<p>Depois de alguns dias, eu n\u00e3o conseguia fazer o c\u00f3digo funcionar corretamente. O que era pior, eu trabalhava praticamente sem parar com o \u00edcone preto do VNC na bandeja do sistema. Enquanto estivesse conectado, n\u00e3o poderia liberar a porta para testar meu c\u00f3digo.<\/p>\n<p>Se eu soubesse sobre <code>netcat<\/code>!<\/p>\n<p>Na verdade, meus nervos n\u00e3o aguentaram, afinal eu era um garoto de 17 anos impaciente. Observando novamente o \u00edcone branco do servidor VNC ficar preto, eu perdi a calma, abri o c\u00f3digo original que preenchia a fila de mensagens e executei na frente dele. Eu at\u00e9 esperei alguns segundos antes de pressionar <code>End Process<\/code>, apenas para garantir que ele visse.<\/p>\n<p>Se pressionar esse bot\u00e3o ainda n\u00e3o me convenceu completamente de que valeu a pena, ent\u00e3o seu salto de tr\u00e1s do forte de monitores para se aproximar rapidamente de mim e me expulsar da sala definitivamente valeu a pena.<\/p>\n<p>No final, fui banido do acesso \u00e0 rede por duas semanas. Uma puni\u00e7\u00e3o justa, pensei. Cerca de tr\u00eas semanas depois, o servidor VNC desapareceu dos scripts de inicializa\u00e7\u00e3o e n\u00e3o apareceu mais em lugar algum. Nunca soube se o meu incidente teve algum papel nisso ou n\u00e3o, mas isso destruiu completamente meu plano de enriquecimento fantasioso vendendo minha arma VNC para estudantes oprimidos nas salas de inform\u00e1tica das faculdades por todo o pa\u00eds.<br \/>\n<br \/>Fonte: <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.3 - 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\/pt\/blog\/bitva-koderov-ya-protiv-togo-parnya-s-vnc\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\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\/pt\/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\udd47Batalha dos codificadores: eu contra aquele cara com VNC | ProHoster","description":"Neste blog foram publicadas muitas hist\u00f3rias de programadores. Gosto de lembrar das minhas antigas bobagens.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/bitva-koderov-ya-protiv-togo-parnya-s-vnc","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","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\/pt\/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\/pt\/wp-json\/wp\/v2\/posts\/40151","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=40151"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/40151\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=40151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=40151"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=40151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}