15 Aug 2007

Hackeando o Chat do Terra com Greasemonkey

Arquivado em: Uncategorized

Compare Preços no JáCotei:

Fax Panasonic KX-FT932BR
Fax Panasonic KX-FT932BR



CD Player Panasonic c/ MP3 CQ-C1355L
CD Player Panasonic c/ MP3 CQ-C1355L




Como alguns leitores meus já sabem, eu de certa forma freqüento o chat do Terra. Sei que isso pode decepcionar muita gente, que acha que lá só tem miguxos, gente acéfala e mentirosos. Tem muito disso, mas também tem gente legal, eu mesmo comecei um relacionamento que durou quatro anos numa sala de bate-papo. Tem que saber separar o joio do trigo, isso sim. Nesse tempo usando o chat do Terra, que evoluiu bem pouco em nove ou dez anos (embora não tenha muito o que evoluir em termos de salas de bate-papo, a não ser entupir de frescuras em Flash ou Ajax), tenho identificado muitas coisas irritantes que os programadores Perl deles nunca mudariam. Na verdade, as poucas novidades ficam por conta dos captchas cada vez mais chatos (e inúteis, pois as salas vivem repletas de spam bots) e da diversidade de novas “carinhas” que podem ser enviadas para a conversa. Antigamente havia programas que eram clientes para conversar no chat do Terra, e de outros provedores, mas com minha migração para o Linux estes programas deixaram de ter utilidade para mim (havia um que fazia OCR do captcha, e abria as conversas particulares em uma janelinha individual, era um tesão), e por isso não mais me atualizei com relação a eles. As principais chatices do chat do Terra (perceberam o trocadilho? eu não sou um gênio?) para meu gosto são as seguintes.

  1. fonte horrível no chat do terraA fonte do bate-papo é horrível, uma folha de estilo no início do HTML resolveria tudo com uma facilidade extrema (ver exemplo ao lado).
  2. O sistema não filtra as salsinhas que mandam mensagens COM TODAS AS LETRAS EM MAIÚSCULO. Um saco.
  3. É comum o usuário esquecer de acionar a configuração de “reservado”, e ao enviar uma mensagem que deveria ser privada acabar queimando o filme diante de toda a galera.
  4. Se você passar muito tempo sem enviar nada para a sala, o script que alimenta o bate-papo (o frame principal) desconecta o usuário simplesmente.
  5. Se você estiver em uma sala “caçando” tem que ficar se autopromovendo de tempos em tempos (até para não ser desconectado), forçando a digitação de texto, por mais que se use o recurso de autocompletar do navegador.
  6. Aquele monte de carinhas ocupando espaço na tela só irritam.
  7. Baixa usabilidade ao enviar mensagensA caixa de texto na qual se digitam as mensagens é extremamente pequena, obrigando a ficar indo e voltando na horizontal, caso se queira escrever algo relativamente mais complexo (ver imagem ao lado).
  8. Ao ignorar uma pessoa no chat o formulário é recarregado com o verbo “fala com” selecionado, no nome da pessoa recém ignorada.

Deve ter mais coisas, mas agora ficam essas oito (numeradas aleatoriamente, apenas para facilitar a continuação do artigo). Era fato que eu tinha de resolver esses problemas de alguma forma, por mim mesmo, ou ficaria impossibilitado de curtir meu passatempo que já me rendeu tantas estórias surreais! Como eu não sou trouxa de usar qualquer navegadorzinho bosta, resolvi lançar mão do Greasemonkey (já falei bastante dele aqui, pesquise por greasemonkey que você encontra os textos) e utilizá-lo para resolver pelo menos os problemas mais simples dos acima elencados. Peguei um userscript pronto para uma outra finalidade qualquer, mantive o “esqueleto” do mesmo, e comecei a codificar. A primeira coisa seria resolver aquela fonte podre. Item 1 resolvido. Já que estava mexendo no CSS do frame superior, poderia aproveitar e resolver o problema das salsas HISTÉRICAS, formatando todo o texto daquele frame para exibição “em caixa baixa”. Item 2 resolvido. Uma simples manipulação do formulário, setando o checked do reservado para verdadeiro, e pimba! Item 3 resolvido. Já a questão do timeout requeria um pouco mais de criatividade. Resolvi colocando um timer numa caixinha de texto entre o comando “sons” e o botão “sair da sala”. A cada segundo um contador é decrementado, e ao chegar em zero o botão de submit era pressionado automaticamente. Interessante, mas às vezes o botão era acionado antes de eu ter terminado de digitar uma frase, e acabei adicionando um pouco mais de inteligência ao timer: se houver algo escrito na caixa de texto, ou seja, se ela não estiver em branco, o envio automático não ocorre. Item 4 resolvido. Com relação à autopromoção, criei internamente no script um array com frases prontas “propagandeando” minha presença. Acrescentei então à funcionalidade do timer uma outra habilidade: caso a caixa de mensagem esteja em branco, e o destinatário seja TODOS, e o timer esteja em zero, o script desmarca a opção de reservado, sorteia uma das frases do array e envia para a sala. Para não ser tão previsível, dando um pouquinho mais de sabor à propaganda, o valor inicial do contador é um número compreendido entre limites mínimo e máximo. Item 5 resolvido. Já que estava mexendo no script, resolvi também ocultar as carinhas ridículas da tela, e espichar a caixa de textos para ocupar todo o espaço que as carinhas deixaram. Aproveitei e troquei a cor da caixinha de digitação, para que ela se destacasse melhor. Itens 6 e 7 resolvidos. Restava ainda a chatice de o Terra insistir que mesmo tendo ignorado uma pessoa eu quereria continuar conversando com ela (talvez para xingá-la sem ter de incomodar-me com o revide). A única maneira de resolver este problema seria analisando o que tivesse sido enviado para o servidor na tela anterior. Só que com JavaScript é impossível de resolver isso, pois não se tem acesso aos dados enviados pelo método POST. Pesquisei um bocado, e acabei resolvendo o problema vasculhando informações antigas: lembrei que há uns nove anos atrás o Terra Chat era feito em Perl, e não importava se enviássemos os dados por POST ou por GET que os CGIs funcionavam igualmente. Fiz então o script trocar automaticamente o método de envio do formulário já no carregamento da página, Fi-lo também analisar, agora sim, graças ao GET, o último verbo enviado. Caso seja o “ignora” ele automaticamente troca o destinatário das mensagens para TODOS, reabilitando a autopromoção automaticamente. O único senão é que o método GET tem limitações, e agora não dá para escrever tanto no chat. Item 8 resolvido! Veja abaixo como ficou a tela definitiva do Terra Chat.

Terra chat hackeado Destaque para o timer em amarelinho, e a caixa de digitação, em azul, gigantesca (se comparada ao original). Na verdade, escrever o script é até mais legal do que usar o chat. É muito bom saber que eu, o usuário, tenho o controle sobre como vou conversar na Internet. Se o Terra não atualiza seu sistema de bate-papo, e continua achando que carinhas imbecis são mais importantes do que eu poder visualizar o texto inteiro que quero mandar para uma pessoa. Quase divulguei o fonte do script aqui (apesar de ter um quezinho de POG nele). Mas resolvi não fazê-lo por um motivo bem simples: o array de frases feitas pode muito bem ser substituído por algumas frases de caráter comercial, ou incentivando as pessoas a irem aonde não devem (como sites de phising). É uma ferramenta simples, mas muito poderosa, que não deve cair em mãos erradas. Se alguém quiser meu script vai ter de me enviar um e-mail dizendo para que vai usá-lo, em que salas do Chat do Terra, e o quanto está disposto a pagar por uma cópia do programa, e como vai pagar. Se todas as respostas me agradarem, envio o número da conta, ou o boleto, e assim que identificar o pagamento envio o script por e-mail. Ufa!

Confira ofertas de: DVD, filmes, celulares, notebooks, livros, jogos, Wii, PS3





24 Respostas para “Hackeando o Chat do Terra com Greasemonkey”

  1. Leo Romano on 15 Aug 2007 at 9:18 am

    Deu vontade de acessar o chat do Terra só pra testar seu script. Eu até tenho o Greasemonkey aqui, mas o único script que uso é um que cria links rápidos para algumas partes do Orkut, como vídeos, álbuns e recados dos usuários. Não sei programar, na verdade, não tive ainda nem capacidade pra fazer um layout decente pro meu blog que, por isso, nunca foi ao ar.
    Se você permitir que eu use seu script GRATUITAMENTE, posso assinar qualquer papel garantindo não distribui-lo, até porque, não quero contar pra ninguém que entrarei outra vez numa sala de chat público, hehehe.
    E aí? Vai regular o script? Libera vai?
    Abraço.
    :)

    [Reply]

  2. Fabio on 15 Aug 2007 at 10:09 am

    Bah, cara, muito show. Tu é o cara ;)
    Gostei mesmo. E legal a tua iniciativa. Já que algo não te agrada, porque não melhorar?
    Perfeito.

    Abraços!

    [Reply]

  3. Mário Yanase on 15 Aug 2007 at 1:40 pm

    Penso que tu tá mto capitalista, rapaz. Sorte que eu não entro em chat, porque caso contrário eu iria te encher o saco até me liberar este script ‘de grátis’!

    Abraços.

    [Reply]

  4. Rochester Oliveira on 16 Aug 2007 at 2:15 am

    Nem precisa dizer que vc é o cara mais nerd que eu já vi né?
    O.o

    haushuahsuas

    mas mandou bem “os incomodados que mudem o mundo” :D
    feeds assinados!

    [Reply]

  5. Ursus Jake on 16 Aug 2007 at 12:03 pm

    Já tracei muita mulher nos chat de sexo do Terra… eh, eh, eh… Mas tbm conheci muito bagulho - complicado separar o joio do trigo: o negócio é se for legal, manda ir pro MSN e se tiver webcam, olha a lata da figura… Se for ruim, BLOCK direto! Ah, nunca arranjei namorada lá.

    [Reply]

  6. marcus on 16 Aug 2007 at 12:06 pm

    Ah, eu não quero não =P

    [Reply]

  7. Renato on 16 Aug 2007 at 12:13 pm

    Olá, sou amigo do Fábio. Achei interessante teu comentário, mas me foquei mais na parte em que você fala ser possível achar pessoas agradáveis no chat, basta saber separar o trigo do joio…Estou de acordo, há 6 meses achei uma pessoa bacana lá….e por puro acaso.

    Abraços. Renato.

    [Reply]

  8. Eric on 22 Aug 2007 at 11:33 pm

    Maneiro seu script !
    Faz coisas interessantes !
    você so libera ele atravéz de pagamento?
    Abraços !

    [Reply]

  9. Janio Sarmento on 23 Aug 2007 at 1:10 am

    Eric.

    Entre em contato comigo por e-mail, vamos conversar.

    [Reply]

  10. Leo Romano on 23 Aug 2007 at 1:09 pm

    Ô Janião. Eu aqui de novo, pedindo pra testar seu script. O que você quer pela permissão de usá-lo?!
    Abraço.

    [Reply]

  11. Janio Sarmento on 23 Aug 2007 at 2:57 pm

    Leo.

    Te respondi essa por e-mail, não respondi?

    Abração!

    [Reply]

  12. inexplicavel on 06 Oct 2007 at 12:12 am

    Bom, eu sou fã do greasemonkey, e quando achei que teria algo util para o chat vc me diz que eh pago? rsss poxa… mas em fim, eh bom saber que o grease abre fronteiras… se quiser semear na minha vida? vou agradece, eu adoro o chat terra… se cuide

    [Reply]

  13. Janio Sarmento on 06 Oct 2007 at 12:36 am

    Primeira regra para obter o que quiser comigo no meu blog: assine com um nome de verdade. Se eu não souber se estou falando com homem ou mulher, ou se for algo absurdo (ou “inexplicável”, trocadalho do carilho), minha tendência é repudiar e em seguida ignorar.

    [Reply]

  14. Dicas da Semana | O Fim da Várzea on 01 Nov 2007 at 2:43 pm

    [...] Janio hackeou o chat do Terra e conta [...]

  15. josiel on 19 Nov 2007 at 12:05 am

    awe kra me passa esse programa. ou tipo tga ligado vc vende mano de hack mas para o terra ainda naum consaeguir fazer nda..

    [Reply]

  16. Janio Sarmento on 19 Nov 2007 at 8:18 pm

    Desculpe, mim não falar seu língua.

    [Reply]

  17. eric on 23 Jan 2008 at 1:37 pm

    e ai janio blzinha
    você ja me passou o script do terra uma vez,
    e aí você tem algum para as salas da uol
    ou ig?
    abraços !

    [Reply]

  18. Janio Sarmento on 23 Jan 2008 at 4:58 pm

    Pra beber, não vai nada, não? ;)

    [Reply]

  19. eric on 24 Jan 2008 at 6:00 pm

    ih ala rsrs
    o cara rsrs me humilhando
    pow eu só troquei de email sou o mesmo cara que voce passou o script
    em 2007
    só queria saber se tem um pra salas da uol ou ig
    só entro no terra pq fica foda o script
    rsrsrs
    abração
    pra beber só “martini”

    [Reply]

  20. Lud on 31 Jan 2008 at 9:35 pm

    Cara… Tu eh um genio loko…
    Eu tmb axo akelas carinhas deprimentes… e a ideia do timer… magnífica!
    Eu naum pesso o script pq eu naum tenho como pagar(e ate pq uma coisa desses deve c cara…=X) …. mas cara…. poxa…paguei um pau agora…. =]
    abraços ae e continue com essas boas ideia!

    [Reply]

  21. Janio Sarmento on 31 Jan 2008 at 9:54 pm

    Se soubesse escrever eu te mandava o script na faixa. Mas não quero que minha criação seja usada para espalhar ainda mais ignorância pelo mundo.

    [Reply]

  22. Kadu on 27 Jun 2008 at 6:11 pm

    na verdade gostaria de saber se alguem pode me ajudar a contornar um bloqueio do chat do terra aqui no meu serviço, pois já tentei sites de redirecionamento e não consegui. Um abraço.

    [Reply]

    Janio Sarmento reply on June 27th, 2008 6:52 pm:

    @Kadu: reclama direto pro dono da empresa, diga a ele que sem chat do Terra você não consegue trabalhar, ameace de demissão; duvido que ele não ceda a uma pressão dessas.

    [Reply]

  23. Andreia on 02 Jul 2008 at 9:55 pm

    olá, gostaria de saber se algum pode me ajudar. Estou com um problema para acessar o chat. Consigo entrar mas depois de uns cinco minutos a tela tranca, não sai do lugar. Tranca tudo.Já mexi em tudo, mas não consegui.Obrigada Andreia.

    [Reply]

Trackback URI | Comments RSS

Deixe uma resposta