Escolha a imagem ou áudio de cobertura
Carregue, solte ou cole a imagem, WAV ou MP3 que carregará os dados. Arquivos maiores comportam mais, e fotos detalhadas ou música ocultam melhor as mudanças.
Uma adaptação do steghide 0.5.1 para o navegador, com seus dois métodos: pixels/LSB para BMP e PNG e coeficientes DCT para JPEG, além de suportes de áudio PCM WAV e MP3. Oculte um arquivo ou mensagem e revele com a frase-senha.
Seu arquivo e seu segredo nunca saem deste dispositivo. Decodificação, incorporação, criptografia e extração ocorrem nesta aba. Nada é enviado a um servidor, portanto não há dados lá para vazar.
Contêineres maiores comportam mais: imagens oferecem cerca de um byte a cada oito pixels; PCM WAV, um byte a cada dezesseis amostras; e MP3, o espaço não usado nos quadros de áudio.
steghide ferramenta de linha de comando — a saída PNG mantém os mesmos pixels brutos, mas a CLI do steghide não lê PNG.
Para revelar o segredo desta imagem, faça o encanto comigo: trace três círculos completos ao redor da imagem com o ponteiro, no sentido horário ou anti-horário — e os dados ocultos se revelam.
Seu traço brilha ao desenhar, e uma lua acende a cada círculo fechado. Solte o ponteiro ou saia da imagem e o encanto desaparece. Sem ponteiro? Foque a imagem e pressione Enter.
Nome, tamanho e estado da soma de verificação aparecem aqui. Texto aparece como texto, imagens como imagens, e áudio ganha um reprodutor; outros arquivos só podem ser baixados.
Sem instalação nem envio: escolha uma imagem, WAV ou MP3, adicione seu segredo e salve o resultado.
Carregue, solte ou cole a imagem, WAV ou MP3 que carregará os dados. Arquivos maiores comportam mais, e fotos detalhadas ou música ocultam melhor as mudanças.
Anexe um arquivo ou digite uma mensagem e escolha uma frase-senha. Ela determina onde os dados são distribuídos e, opcionalmente, os criptografa.
Salve como BMP para compatibilidade com steghide ou PNG para um arquivo menor. Quem tiver a imagem e a frase-senha poderá revelar os dados.
ImageSteg é uma adaptação TypeScript do steghide 0.5.1, com seus dois ramos: pixels/LSB para BMP e PNG e DCT para JPEG. Também transporta dados em PCM WAV da mesma forma e no final não utilizado de quadros MP3. Nenhum deles percorre simplesmente o arquivo em sequência.
As amostras formam vértices e um emparelhamento de peso mínimo determina as alterações, modificando apenas cerca de uma amostra por valor oculto.
Um codec de entropia JPEG integrado lê os coeficientes DCT quantizados, oculta dados em sua paridade e os recodifica, no mesmo ponto onde a libjpeg do steghide para. Aceita arquivos básicos e progressivos.
Uma permutação com semente MD5 espalha os dados pela imagem inteira, evitando uma ordem previsível para o conteúdo oculto.
zlib reduz o conteúdo antes de incorporá-lo, e uma soma CRC32 opcional informa imediatamente se a extração é confiável.
Rijndael em modo CBC, com a mesma derivação de chave da libmcrypt, mantém o conteúdo confidencial mesmo se alguém suspeitar da imagem.
Limites práticos para ocultar dados nos pixels de uma imagem.
Compatibilidade: a organização de bits, permutação de amostras e criptografia Rijndael/CBC seguem o steghide 0.5.1; as saídas BMP e JPEG podem ser lidas com steghide extract -sf image.bmp -p passphrase ou -sf image.jpg, e arquivos produzidos pelo steghide de linha de comando podem ser lidos aqui. O formato sempre corresponde à cobertura: JPEG gera JPEG, pois os dados ficam em coeficientes que só JPEG transporta. Para coberturas de pixels, PNG é oferecido junto com BMP; a CLI do steghide não lê PNG.
O suporte JPEG do steghide chama a função da libjpeg jpeg_read_coefficients(), que interrompe a decodificação após Huffman, antes da desquantização e da IDCT. Restam os coeficientes DCT quantizados brutos. Navegadores não têm API para eles, por isso esta página inclui seu próprio codec de entropia JPEG em vez do decodificador nativo. Aceita arquivos básicos e progressivos, incluindo varreduras de refinamento por aproximação sucessiva.
jpeg_write_coefficients() do steghide; assim, a origem aritmética passa a ser identificada como básica ou progressiva na saída.O incorporador não vê formatos: trabalha apenas com os pixels decodificados, então o método BMP/LSB do steghide se aplica ao PNG sem alterações. Quatro detalhes importam:
Sim. Ocultar e revelar dados é gratuito, sem cadastro, marca-d'água ou limite artificial de tamanho.
Não. Decodificação, incorporação, compressão e criptografia funcionam localmente com JavaScript e WebCrypto. Nada é enviado ao servidor do 73hi.
Qualquer imagem decodificável pelo navegador pode ser uma cobertura de pixels; JPEG básico ou progressivo usa o ramo DCT do steghide. O formato segue a cobertura: JPEG entra, JPEG sai; uma cobertura de pixels gera BMP e uma cópia PNG. O steghide de linha de comando lê BMP e JPEG, mas não PNG.
Nos coeficientes DCT quantizados, como o steghide de linha de comando. A página inclui um codec de entropia JPEG que decodifica até os coeficientes, modifica sua paridade e os recodifica.
Sim. Os arquivos progressivos são decodificados por toda sua sequência de seleção espectral e refinamento por aproximação sucessiva, depois regravados da mesma forma. O resultado continua sendo JPEG progressivo com os coeficientes originais.
São aceitos para leitura. Arquivos QM (aritmética binária), em vez de Huffman — SOF9 sequencial e SOF10 progressivo — usam o mesmo decodificador aritmético da libjpeg, gerando coeficientes idênticos. O resultado é gravado com Huffman, como no steghide.
Cerca de um byte de conteúdo a cada oito pixels, descontando cabeçalho, nome do arquivo e sobrecarga opcional de criptografia. A ferramenta mostra a capacidade útil ao escolher a imagem.
Sim, se você baixar BMP. A organização de bits, permutação de amostras baseada na frase-senha e criptografia Rijndael/CBC seguem o steghide 0.5.1.
Os dados são armazenados nos valores individuais dos pixels. Recomprimir, redimensionar, filtrar ou converter para um formato com perdas, como JPEG, destrói o conteúdo. Guarde o BMP original ou uma cópia PNG sem perdas.
Não incorporando duas vezes no mesmo arquivo. Uma segunda passagem escolhe posições pela cobertura e sobrescreve parte do primeiro conteúdo; como os dados são comprimidos antes da criptografia, poucos bits alterados tornam a mensagem inteira ilegível. O steghide original se comporta igual. Reusar a mesma frase-senha também sobrescreve as posições desde o início, preservando só a mensagem nova. Para camadas reais, aninhe arquivos: oculte o primeiro segredo em uma imagem pequena, baixe o resultado e oculte esse arquivo inteiro em uma imagem maior com outra frase-senha. Cada camada permanece intacta byte a byte porque é transportada como dados protegidos, não como pixels modificados.
Não. Carregar um arquivo apenas lê seus bytes: JPEG vai diretamente aos coeficientes DCT quantizados sem transformação inversa ou nova quantização; coberturas de pixels são decodificadas sem perdas. Os dados permanecem intactos. Um JPEG pode mudar ligeiramente de tamanho porque a codificação de entropia é reescrita, sem afetar o conteúdo. Você pode abrir com segurança um arquivo preparado por outra pessoa e revelar o conteúdo.
Sim. Incorpore um aviso de direitos autorais ou prova de propriedade diretamente na foto. Os dados ficam nos pixels ou coeficientes JPEG e são invisíveis na visualização comum, permitindo compartilhar publicamente sem que sejam percebidos. Se alguém reutilizar sem autorização, a marca oculta continua no arquivo; ao publicar a mesma imagem em uma plataforma de terceiros para documentar a infração, essa cópia também contém sua prova, apoiando um pedido de remoção ou uma reclamação.
Claro. Oculte uma mensagem como "Eu te amo", ou algo difícil de dizer cara a cara, em uma foto comum do seu dia a dia, e use o aniversário do destinatário como frase-senha. Envie a foto e peça para abrir no ImageSteg (ou em 73hi.com/image-steg.html). Só quem conhece a frase-senha pode revelar as palavras, permitindo se expressar sem o constrangimento de falar em voz alta.