JTL2015 – Introdução ao Linux e redes usando Python – Desafio 01

Pessoal como combinamos envio o link para o arquivo .wav que contém no bit menos significativo de cada amostra uma mensagem codificada em ASCII. Lembrando que a mensagem acaba quando o caractere NULL (0x00) é encontrado.

Tips:
Ler um byte de um arquivo:

f = open('arquivo.wav', 'rb')
b = f.read(1)

Extrair o bit menos significativo de um byte:

0x3f & 0b00000001

Formar um inteiro de 8 bits lendo-os de um a um:

bit_str = '01011111'
value = 0
for i in len(bit_str):
    value += bit_str[i] << (7 - i)

Escrever um inteiro de 8 bits num arquivo binário:

f = open('out.gif', 'wb')
f.write(value.to_bytes(1, 'little'))

Arquivo .wav que contém o texto (ele pode ser tocado): https://goo.gl/nj6uKt

Duvidas podem escrever para pedosb@gmail.com.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s