Ajuda em novo projeto

1. Ajuda em novo projeto

Luiz Vieira
luizvieira

(usa Debian)

Enviado em 15/07/2009 - 13:50h

Pessoal, gostaria de saber quem aqui estaria a fim de participar de um projeto que quero desenvolver.
Mas antes, preciso da ajuda de vcs para tirar algumas dúvidas:
- é possível pegar um arquivo mp3 e converter seus tons em caracteres, atribuindo para cada tom um caracter da tabela ASCII?
- de que forma, seria possível, por exemplo, pegar um arquivo de texto (ou qualquer outro tipo), e abri-lo como caracteres (independente do formato do mesmo)?

Vlw pela ajuda e bem vindo a quem quiser participar do projeto.


  


2. Re: Ajuda em novo projeto

???
gokernel

(usa Linux Mint)

Enviado em 29/07/2009 - 18:45h


---------------------------------------------------------------
Pessoal, gostaria de saber quem aqui estaria a fim de participar de um projeto que quero desenvolver.
---------------------------------------------------------------

Se precisar, DE MIM, COMTE COM EU.

Mas, que tipo de PROJETO?

T+.

gokernel
gokernel@hotmail.com



3. ae

João Marcos Menezes
stremer

(usa Arch Linux)

Enviado em 30/07/2009 - 14:31h

não conheço o formato de um arquivo mp3, mas teoricamente ele esta compactado... talvez precise descompactar para depois identificar "as ondas" do som e então conserte-las... criar algum algoritmo para isto.
Em relação a abrir arquivo e mostrar na tela de caracteres, isso é possivel mas vai precisar da conversão, pois se for um arquivo binário, alguns bytes não possuem um caractere "apresentavel"...
só não entendi o que seria esse projeto...



4. só minha opinião.

???
gokernel

(usa Linux Mint)

Enviado em 31/07/2009 - 10:24h

Olá.

Essas próximas linhas refletem, MINHA OPINIÃO PESSOAL.

Para adesão de pessoas a um projeto, depende entre outras coisas de:

01 - Boa descrição do "mesmo".
02 - Se o "mesmo" já não existe.
03 - Se o "mesmo" será útil para MUITAS PESSOAS.
04 - Vantagens.
05 - Tempo disponível dos POSSÍVEIS INTERESSADOS.
06 - ETC.

É mais vantagem INGRESSAR/ADAPTAR, a um projeto já existente, do que criar um NOVO.

EXEMPLO:
O "google" ao desenvolver o seu novo SO(Linux), não começou do ZERO, mas adaptou(O LINUX)
as suas necessidades, GANHANDO TEMPO COM ALGO QUE JÁ EXISTE.

Estas poucas linhas, SÓ TEM A INTENÇÃO DE AJUDAR, considere-a como uma CRíTICA CONSTRUTIVA.

DICA: Descreva o seu PROJETO.

T+.

gokernel
gokernel@hotmail.com



5. Re: Ajuda em novo projeto

Geraldo José Ferreira Chagas Júnior
gjr_rj

(usa Debian)

Enviado em 31/07/2009 - 11:29h

não entendo de música, mas já trabalhei muito tempo no projeto DOSVOX-NCE-UFRJ (Windows) onde transformávamos texto em som para que deficientes visuais pudessem utilizar o computador.

Hoje, fora do projeto estou desenvolvendo essa síntese de voz no linux.

Não sei se esse conhecimento poderá te ajudar em alguma coisa, mas se precisar de ajuda é só falar.

Para responder sua pergunta, precisaria de algumas respostas.

Quantos tons existem, se forem menos que 255 (acho pouco provável), a conversão será possível. Se você deseja converter uma voz humana, pode esquecer. Se desejar trabalhar com uma cadeia de caracteres, é possível. Até porque podemos considerar qualquer arquivo binário como uma cadeia de caracteres, pois se pegarmos quaisquer 8 bits do arquivo, teremos a representação dele na tabela ASCII.

Se quiser ter apenas as letras é números no seu arquivo texto, você terá 27+10 caracteres possíveis, logo a combinação de 2 caracteres daria de sobra para mapear cada byte do seu arquivo mp3, isso é fácil, você só precisaria criar uma tabela de conversão. Porém, você dobraria o tamanho do arquivo, Mas para transporte, você poderia compactar.

Sua pergunta para mim foi ótima, pois, respondendo a sua pergunta, acho que resolvi um problema que tenho a anos em minha empresa com relação a arquivos de imagem.

Valeu!!!



6. Re: Ajuda em novo projeto

Luiz Vieira
luizvieira

(usa Debian)

Enviado em 01/08/2009 - 16:23h

Pessoal, obrigado pelo interesse de todos!
gokernel, não se preocupe, assimilei sua crítica de maneira construtiva e vou definir melhor o projeto que tenho em vista...
É um projeto que vai tornar-se uma PoC (Proof of Concept) de uma vulnerabilidade existente em qualquer sistema. Funciona assim: um programa transformaria os bits de um determinado arquivo qualquer em caracteres ASCII (0-255) e a partir daí vincularia cada caracter ASCII à um determinado tom sonoro, criando um arquivo mp3 que pode ser reproduzido através das caixas de som e gravado pelo celular ou mp3/mp4.
Depois, com um outro programa em um outro computador, o arquivo mp3 é decodificado para seus bits originais.

Esse é o projeto. O que acham?
Como minha área é a de segurança da informação, e muitas empresas bloqueiam tudo, desde drive de CD até USB, eu quero criar essa PoC para comprovar que até as caixas de som são potencialmente perigosas. hehehehe

[ ]'s



7. Entâo viva o PROJETO.

???
gokernel

(usa Linux Mint)

Enviado em 01/08/2009 - 17:27h


luizvieira DISSE:
--------------------------------------------------------------
"...
gokernel, não se preocupe, assimilei sua crítica de maneira construtiva e vou ..."
--------------------------------------------------------------

Que bom, né?

Hoje, vou dormir com a CONSCIÊNCIA TRANQUILA, ren ren ren =).

Em relação ao seu PROJETO, infelizmente não é a minha area.

NUM MANJO, SEGURANÇA.

Mas, DETONA AI CARA, viva o PROJETO. \o/.

T+.

gokernel
gokernel@hotmail.com



8. amigo

João Marcos Menezes
stremer

(usa Arch Linux)

Enviado em 03/08/2009 - 11:35h

seus artigos de segurança são excelentes... mas nesse caso realmente não entendi onde entra a questão vulnerabilidade....

Pegar um arquivo qualquer e passar através de um mp3, até onde eu li sobre mp3 seria totalmente viavel... da mesma forma que podemos passar mensagens completas ou até pequenos programas dentro de uma imagem gif/jpeg...
porém precisa ter um outro programa do outro lado para "decodificar" isto...
consideraria como vulnerabilidade se esta tecnica conseguisse tirar algum proveito do sistema pelos próprios players mp3 ...

explica melhor ai...
abs



9. ae

João Marcos Menezes
stremer

(usa Arch Linux)

Enviado em 03/08/2009 - 19:12h

amigo, entrei pra ver se tinha alguma coisa mais e lendo denovo acho que pesquei!
Você quer fazer uma prova de conceito que seria possivel jogar um arquivo qualquer dentro de um mp3... depois gravar pelo celular... ai depois gerar este arquivo novamente através de outro computador (passar a gravação do cel pro PC e depois gerar o arquivo)... correto???
Acho que isso é viavel sim...
O problema é que o computador que gera o som precisaria ter o programa que "cria" o mp3....
Depois, provavelmente a musica poderá ficar monstruosa (dependendo do tamanho do arquivo)....

A dificuldade entra que o som gravado não será exatamente igual ao som original, por isso o algoritmo deverá comparar por proximidade, com uma probabilidade grande de erros....

Acredito que um jeito "viavel" de começar o projeto é:
Aplicativo 1, gerador do MP3...
1) O aplicativo recebe como parâmetro um arquivo (qualquer)
2) O aplicativo compacta este arquivo (com a GLIB por exemplo) para economizar espaço
3) O aplicativo converte este arquivo para um formato somente de caracteres validos (menos combinações, menor probabilidade de erros), por exemplo, BASE64 acho que ficaria bom
4) O aplicativo possui uma tabela de som (cada bloco do arquivo MP3 possui uma cadeia de bytes que representa o som), talvez gerando a quantidade de bytes que se tem no base64 em sons bem distintos se monte essa "tabela de conversão"
5) Cria-se então o mp3. Se a tabela de cada som, for algum som "tolerante aos ouvidos", inclusive pode até ser alguma parte de alguma gravação... ficará uma musica esquisita mas que irá tocar em qualquer player...

Depois para decodificar, basta fazer o caminho inverso... o problema é associar o som gravado a esta tabela, visto que depois de gravado ele ficará bem diferente e terá de ser comparado por aproximação... tipo aqueles algoritmos de OCR....

Sei la... acho viavel mas nada facil...








10. Re: Ajuda em novo projeto

Geraldo José Ferreira Chagas Júnior
gjr_rj

(usa Debian)

Enviado em 04/08/2009 - 12:58h

Uma opinião.

Trabalhando com MP3 você teria que aprender e manipular o arquivo MP3, e pelo que entendi, não é o foco do projeto.

Porque não começa trabalhando com arquivo wav. O wav é "exatamente" a reprodução do som, sem excluir nada nem compactar o arquivo. Você só precisa pular, se não me engano, os primeiros 16 bytes do arquivo.

Além do que, você pode gravar o entrada de sua placa de audio direto em um arquivo.

exemplo
--------
vamos supor que sua placa de som seja /dev/sound

digite
# cat /dev/sound >> /home/xxx/teste.wav
fale no microfone e quando cançar
<crtl+c>

Agora digite
# cat /home/xxx/teste.wav >> /dev/sound

e veja se o resultado ficou legal.

Se você incluir os "16 bytes"(?) de cabeçalho no início do arquivo, terá criado um arquivo wav

Acho que partindo disso, você começa a trabalhar realmente no projeto e depois de funcionando o projeto, faz a manipulação do MP3.







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts