Autor: @XSStringmanolo
invjsible es una herramienta CLI en Node.js que permite codificar cualquier archivo
(texto o binario) usando únicamente caracteres Unicode invisibles
(Zero-Width Space / Non-Joiner / Joiner).
El resultado es un fichero que parece vacío a simple vista, pero contiene
el 100% de los datos originales y puede ser decodificado sin pérdida.
Esto NO es criptografía.
No cifra, no autentica, no protege confidencialidad.
Es ocultación / esteganografía en texto plano, orientado a análisis, reversing
y data hiding.
Instalación
Requiere Node.js >= 14.
Código
npm install -g invjsible
Desde repo:
Código
git clone https://github.com/stringmanolo/invjsible.git cd invjsible npm link
Características técnicas
- Codificación bit a bit usando U+200B / U+200C
- Marcador U+200D para payloads comprimidos
- Compresión Brotli nivel 11 (selección automática)
- Round-trip perfecto (encode → decode)
- Soporte para binarios, scripts y UTF-8
- Ficheros auto-extraíbles (self-extracting)
- Análisis y limpieza de caracteres invisibles
Ejemplo rápido
Código
invjsible encode secreto.txt --compress invjsible decode secreto.txt.encoded
El fichero `.encoded` parece vacío en editores, navegador, `cat`, etc.
Un `xxd` revela patrones como:
Código
e2 80 8b / e2 80 8c / e2 80 8d
Casos de uso
- Payloads ocultos en HTML / JS / texto
- Watermarking invisible
- Ofuscación de datos para análisis defensivo
- Detección de zero-width contamination
Repositorio
https://github.com/stringmanolo/invjsible
Feedback técnico bienvenido: detección, análisis, edge cases,
formas de romperlo o automatizar su identificación.





Autor





En línea

