O nerd mais sem o que fazer da internet brasileira

Continuando a brincadeira sobre binário, esse aqui é um pouquinho mais complicado. Quem decifrar primeiro, e explicar para a gente como fez, recebe o prêmio “Sem Projeto – o nerd[bb] mais sem o que fazer da internet brasileira.”

00100111 01100111 01111010 01101001 01110000 01110000 01100101 01100100 00111010 01011100 01111000 00110001 01100110 01011100 01111000 00111000 01100010 01011100 01111000 00110000 00111000 01011100 01111000 00110000 00111000 01011100 01111000 01100010 01100011 01011100 01111000 01100001 00110101 01010100 01000101 01011100 01111000 00110000 00110000 01011100 01111000 00110000 00110011 01110100 01011100 01111000 00110000 00110000 01011100 01111000 00110000 00110101 01011100 01111000 01100011 00110001 01011100 01111000 01100011 00110001 01011100 01110010 01011100 01111000 00111000 00110000 00110000 01011100 01111000 00110000 01100011 01011100 01111000 00110000 00110011 01011100 01111000 01100011 00110000 01010101 00111100 01011100 01111000 00110000 00110000 01100010 01011100 01111000 00110000 01100110 01011100 01111000 01100011 00110110 01011100 01111000 01100001 00111000 01101001 01000010 01011100 01111000 01100110 00111000 01011100 01111000 00111000 00110100 01011100 01111000 01100011 01100001 01011100 01111000 00111000 01100001 01011100 01111000 00111001 00110000 01011100 01111000 01100011 00111000 01011100 01111000 01100110 00110100 01011100 01111000 01100100 01100011 01011100 01111000 00110001 01100100 01011100 01111000 01100100 00111001 01110100 01011100 01111000 01100100 01100011 00110010 01100100 01011100 01111000 01100100 00110001 01110010 01011100 01111000 01100011 00110011 01011100 01111000 00110000 01100011 00110101 01011100 01111000 00110001 00110110 01011100 01111000 00111000 00110111 01011100 01111000 01100001 01100010 01011100 01111000 01100101 00110010 00110101 01011100 01111000 01100011 00111000 01011101 01101000 01011100 01111000 00111001 00111001 01011100 01111000 00111001 00110110 01011100 01111000 00110001 00110000 01011100 01111000 00111000 01100100 01011100 01111000 00111001 00110011 01111110 01100001 01011100 01111000 00110001 00110000 01011100 01111000 01100011 01100110 01011100 01111000 01100011 00110111 01011100 01111000 01100100 01100001 01011100 01111000 00110111 01100110 01011100 01111000 01100001 00110010 01011100 01111000 00111001 00111001 01011100 01111000 01100011 00110011 00101110 00111100 01011100 01111000 00110000 00110000 01011100 01111000 00110000 00110000 01011100 01111000 00110000 00110000 00100111

Publicado por

Elcio

Elcio é sócio fundador da Visie Padrões Web. Pioneiro no uso e divulgação dos padrões do W3C no Brasil, Elcio já treinou equipes de dezenas de empresas como Globo.com, Terra, Petrobras, iG e Locaweb. Além disso, tem dirigido as equipes da Visie no desenvolvimento de projetos web para marcas como Brastemp, Itaú Unibanco, Johnson & Johnson e Rede Globo.

17 comentários em “O nerd mais sem o que fazer da internet brasileira”

  1. Engraçado… Na hora que eu postei não aparecia pra mim nenhum comentário. Minha resposta ficou parecida com a do Daniel Luz, mas a dele ficou mais pythônica… Bacana.. Eu também desconhecia função rot13.

    Bom desafio pro semana fim!

  2. Mesma coisa. Guardei a string decodificada num arquivo e o comando “file” diz: gzip compressed data, was "t", from Unix. Mas o gzip não consegue ler.

  3. Caramba, tenho que sair agora. Meia hora depois, o que eu consegui descobrir foi … Isso aí é um arquivo compactado com GZIP, só não consegui retornar algo inteligível que o SO identificasse com um arquivo válido.

    Essa mesma string em HEXA:
    27 67 7a 69 70 70 65 64 3a 5c 78 31 66 5c 78 38 62 5c 78 30 38 5c 78 30 38 5c 78 62 63 5c 78 61 35 54 45 5c 78 30 30 5c 78 30 33 74 5c 78 30 30 5c 78 30 35 5c 78 63 31 5c 78 63 31 5c 72 5c 78 38 30 30 5c 78 30 63 5c 78 30 33 5c 78 63 30 55 3c 5c 78 30 30 62 5c 78 30 66 5c 78 63 36 5c 78 61 38 69 42 5c 78 66 38 5c 78 38 34 5c 78 63 61 5c 78 38 61 5c 78 39 30 5c 78 63 38 5c 78 66 34 5c 78 64 63 5c 78 31 64 5c 78 64 39 74 5c 78 64 63 32 64 5c 78 64 31 72 5c 78 63 33 5c 78 30 63 35 5c 78 31 36 5c 78 38 37 5c 78 61 62 5c 78 65 32 35 5c 78 63 38 5d 68 5c 78 39 39 5c 78 39 36 5c 78 31 30 5c 78 38 64 5c 78 39 33 7e 61 5c 78 31 30 5c 78 63 66 5c 78 63 37 5c 78 64 61 5c 78 37 66 5c 78 61 32 5c 78 39 39 5c 78 63 33 2e 3c 5c 78 30 30 5c 78 30 30 5c 78 30 30 27

    Em ASC (conversão direta):
    ‘gzipped:\x1f\x8b\x08\x08\xbc\xa5TE\x00\x03t\x00\x05\xc1\xc1\r\x800\x0c\x03\xc0U

  4. EU ganhei?
    Primeiro, salvei a string num txt. Depois vi que poderia ter usado python mesmo pra pegar a string, já que está numa tag code.. mas deu preguiça..


    from conversorbase import any2dec
    import cStringIO
    import gzip
    import string

    #http://www.pythonbrasil.com.br/moin.cgi/ConversordeBases
    #http://www.dbforums.com/showthread.php?p=3178495

    saida = []
    f = open('binario.txt').read()
    for item in f.split(' '):
    saida.append(chr(int(any2dec(item,2))))

    out = ''.join(saida)
    out = out.replace('gzipped:','')
    out = out.replace("'",'')
    out = out.decode('string_escape')

    c_string= cStringIO.StringIO(out)
    gzip_handle=gzip.GzipFile(fileobj=c_string)
    descompactada = gzip_handle.read()
    tabela = string.maketrans('Iutyoagcbdhneprfziv','Vaglbntpoquarcesmvi')

    print(descompactada)
    print(descompactada.translate(tabela))

    Vamos ver agora, quem conseguir esse merece um post no blog.

    []'s
    - Walter

  5. Vamos lá, pelo interpretador interativo do Python:

    A primeira etapa é bem trivial, depois de dois posts sobre binário e rotinas em diversas linguagens pra decifrar… usei meu codec pra Python que já estava escrito:
    >>> a = '''00100111…(binário copiado e colado do post)'''
    >>> import Nk.bases
    >>> a.decode('bin')
    "'gzipped:\\x1f\\x8b\\x08\\x08\\xbc…\\x00'"

    Por começar e terminar com aspas e pelas contra-barras duplas, parece ser uma string escapada. Não gosto muito de usar eval, mas me pareceu bem conveniente e seguro neste caso.
    >>> b = eval(_)
    >>> b
    'gzipped:\x1f\x8b\x08\x08\xbc…\x00'

    Bem, a própria string deu uma dica do que era:
    >>> c = b[8:]
    >>> import gzip, cStringIO
    >>> gz = gzip.GzipFile(fileobj = cStringIO.StringIO(c))
    >>> gz.read()
    'Inzbf ire ntben, dhrz pbafrthve rffr zrerpr hz cbfg ab oybt.'

    …e isso tem cara de rot13 😉
    >>> _.decode('rot13')
    u'Vamos ver agora, quem conseguir esse merece um post no blog.'

    E aí está a resposta!

    E aqui vai uma dica de site que deve te interessar: The Python Challenge

  6. 01010100011001010110110100100000011011100110000100100000011011100110010101110100001000000111010101101101001000000110001101101111011011100111011001100101011100100111001101101111011100100010111000101110001000000110010101110101001000000111010101110011011001010110100100100000011001010110110001100101001011100010111000100000011010000110000101101000011000010110100001100001

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *