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 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
aproveitando essa onda de binário pra cá, binário pra lá, olha esse relógio, em binário, claro!
http://www.ohgizmo.com/2006/11/06/the-binary-clock-tells-the-world-who-you-are-better-than-it-tells-the-time/
deixei o codigo em C aqui:
Eu fiz umas funções pra calcular de binário pra decimal, e imprimir na tela e em um arquivo 🙂
se o resultado for em decimal mesmo, está abaixo:
23 66 124 169 217 265 306 346 384 428 484 513 555 599 655 691 729 773 829 857 893 937 993 1021 1057 1101 1157 1195 1234 1278 1334 1371 1404 1440 1465 1509 1565 1593 1621 1665 1721 1749 1780 1832 1876 1932 1960 1988 2032 2088 2116 2149 2193 2249 2288 2317 2361 2417 2456 2485 2529 2579 2623 2679 2715 2743 2771 2815 2871 2899 2938 2982 3038 3066 3097 3141 3197 3236 3264 3301 3341 3385 3441 3469 3497 3535 3579 3635 3663 3705 3749 3805 3844 3878 3922 3978 4015 4051 4096 4118 4162 4218 4260 4296 4340 4396 4432 4464 4508 4564 4603 4640 4684 4740 4776 4813 4857 4913 4950 4978 5022 5078 5117 5153 5197 5253 5295 5327 5371 5427 5467 5506 5550 5606 5635 5675 5719 5775 5815 5852 5904 5948 6004 6044 6083 6113 6153 6197 6253 6293 6322 6372 6416 6472 6511 6542 6586 6642 6670 6709 6742 6786 6842 6871 6905 6949 7005 7041 7076 7120 7176 7213 7251 7295 7351 7392 7422 7455 7499 7555 7594 7630 7675 7719 7763 7819 7856 7893 7937 7993 8030 8064 8108 8164 8193 8221 8265 8321 8357 8397 8441 8497 8534 8565 8627 8664 8708 8764 8793 8821 8865 8921 8960 9002 9046 9102 9141 9176 9220 9276 9316 9353 9397 9453 9488 9530 9574 9630 9667 9697 9741 9797 9834 9871 9915 9971 10010 10041 10071 10111 10155 10211 10239 10267 10311 10367 10395 10423 10467 10523 10551 10579 10602
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!
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.Era pra eu chegar aqui: “^_~K^H^H¼¥TE” ?
Hehehe… Não sei como passar daqui:
‘gzipped:\x1f\x8b\x08\x08\xbc\xa5TE\x00\x03t\x00\x05\xc1\xc1\r\x800\x0c\x03\xc0U
Apesar do início “gzipped:”, tentei abrir com GZ e não deu. Essas aspas tem algum segredo? rs.
Sim, esse é o conte conteúdo.
‘gzipped:\x1f\x8b\x08\x08\xbc\xa5TE\x00\x03t\x00\x05\xc1\xc1\r\x800\x0c\x03\xc0U
Caramba que coisa de nerd memo hauhauhaua mas eu tive q fazer um programinha discubrir o que tava escrito hehehe
‘gzipped:\x1f\x8b\x08\x08\xbc\xa5TE\x00\x03t\x00\x05\xc1\xc1\r\x800\x0c\x03\xc0U
Ué, tem um ‘gunzipped: bla bla bla’ aí, inclusive com as aspas simples?
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
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
PÔ! Binário tudo bem…. Mas gzip? :-O
O que achei foi: ‘gzipped:\x1f\x8b\x08\x08\xbc\xa5TE\x00\x03t\x00\x05\xc1\
xc1\r\x800\x0c\x03\xc0U
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
01010100011001010110110100100000011011100110000100100000011011100110010101110100001000000111010101101101001000000110001101101111011011100111011001100101011100100111001101101111011100100010111000101110001000000110010101110101001000000111010101110011011001010110100100100000011001010110110001100101001011100010111000100000011010000110000101101000011000010110100001100001
‘gzipped:\x1f\x8b\x08\x08\xbc\xa5TE\x00\x03t\x00\x05\xc1\xc1\r\x800\x0c\x03\xc0U