
Una aplicación extensible para probadores de penetración y desarrolladores de software para decodificar/codificar datos en varios formatos.

Decoder++ es una aplicación extensible diseñada para pentesters, desarrolladores de software y cualquier persona que necesite decodificar y codificar datos sin esfuerzo en diversos formatos. Incluye una amplia gama de scripts y códecs preinstalados, decodificación inteligente e identificación de formatos, y es compatible tanto con la interfaz gráfica de usuario (GUI) como con la interfaz de línea de comandos (CLI).
Pon en marcha Decoder++ en solo unos pasos:
# Instalar usando pip (última versión: qt6)
pip3 install decoder-plus-plus[qt6]
# O, para una retrocompatibilidad con qt5:
pip3 install decoder-plus-plus[qt5]
# Para aprovechar todas las funciones y plugins:
pip3 install decoder-plus-plus[extras]
Para una guía de instalación detallada, incluyendo instrucciones específicas para cada plataforma, consulta la Guía de Instalación.
Esta sección ofrece una visión general de las distintas formas de interactuar con
Decoder++. Para más información de uso, consulta la sección Uso Avanzado.
La interfaz gráfica de usuario proporciona dos modos de interacción distintos:
un modo-ventana-principal y un modo-diálogo.

Mientras que el modo-ventana-principal soporta pestañas, el modo-diálogo tiene la capacidad de devolver el contenido transformado a stdout listo para su posterior procesamiento.
Como resultado, Decoder++ puede mejorar otras herramientas/scripts
proporcionando una interfaz gráfica de usuario para la transformación flexible de cualquier entrada.

Si bien Decoder++ procesa todo el texto de entrada por defecto, también permite la transformación selectiva de datos.
Para transformar solo una parte específica de tu texto, simplemente resalta el segmento de texto necesario en el campo de entrada
y luego aplica el códec deseado.

Además de la interfaz gráfica de usuario, Decoder++ también proporciona una interfaz de línea de comandos:
$ dpp -e base64 -h sha1 "Hello, world!"
e52d74c6d046c390345ae4343406b99587f2af0d
Decoder++ te permite elegir entre una variedad de códecs y scripts:
En los casos en que necesites un poco más de flexibilidad, Decoder++ te permite procesar tus datos con
scripts personalizados usando el script Custom Code:

Esta sección proporciona información adicional sobre cómo se puede usar la interfaz de línea de comandos.
La interfaz de línea de comandos proporciona acceso sencillo a todos los códecs disponibles.
Para listarlos se puede usar el argumento -l. Para acotar la búsqueda,
el argumento -l acepta parámetros adicionales que funcionan como filtro:
$ dpp -l base enc
Códec Tipo
----- ----
base16 codificador
base32 codificador
base64 codificador
Decoder++ distingue entre codificadores, decodificadores, hashers y scripts.
Al igual que la interfaz gráfica de usuario, la interfaz de línea de comandos permite el uso de múltiples códecs en secuencia:
$ dpp "H4sIAAXmeVsC//NIzcnJ11Eozy/KSVEEAObG5usNAAAA" -d base64 -d gzip
Hello, world!
Mientras que los codificadores, decodificadores y hashers se pueden usar directamente, algunos scripts pueden requerir configuración adicional.
Para mostrar todas las opciones disponibles de un script específico, añade el parámetro help:
$ dpp "Hello, world!" -s split_and_rejoin help
Split & Rejoin
==============
Nombre Valor Grupo Obligatorio Descripción
------ ----- ----- ----------- -----------
split_by_chars split_behaviour sí los caracteres utilizados para dividir el texto
split_by_length 0 split_behaviour sí la longitud utilizada para dividir el texto
rejoin_with_chars sí los caracteres utilizados para unir el texto dividido
Para configurar un script específico, las opciones individuales deben suministrarse como pares nombre-valor (ej. search_term="Hello"):
$ dpp "Hello, world!" -s search_and_replace search_term="Hello" replace_term="Hey"
Hey, world!
Siéntete libre de abrir un nuevo ticket para solicitar funciones o informar errores. No dudes en enviar un pull-request para nuevas funciones/plugins. Puedes encontrar más información sobre el desarrollo de Decoder++ en la Guía de Desarrollo.
Gracias a
Al iniciar Decoder++ en Mac OS, las señales no funcionan.
Esto puede ocurrir si PyQt6 se instaló usando homebrew.
Al iniciar Decoder++ en CygWin ocurre un error:
ModuleNotFoundError: No module named 'PyQt6'
Esto puede ocurrir incluso si PyQt6 está instalado usando pip.
Actualmente no hay solución para eso. En su lugar, se recomienda
iniciar Decoder++ usando la línea de comandos de Windows.
Al iniciar Decoder++ aparece el error No module named 'PyQt6.sig' en la consola.
Esto puede ocurrir cuando hay versiones conflictivas de PyQt6 instaladas. Reinstalar PyQt6 debería solucionar este error.
$ sudo pip3 uninstall PyQt6
$ sudo pip3 install PyQt6
Al menos en Ubuntu 22.04 puede ser necesario instalar los siguientes paquetes usando apt:
apt install libqt6core6 libqt6network6 libqt6openglwidgets6 libqt6widgets6
Para ejecutar dpp dentro de un contenedor/máquina virtual puede ser necesario instalar los
qt6-qpa-plugins dentro del contenedor/máquina virtual y configurar el
QT_QPA_PLATFORM_PLUGIN_PATH en consecuencia:
apt install qt6-qpa-plugins
export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/qt6/plugins/platforms/
Consulta los scripts de compilación y ejecución de Docker para obtener más información sobre cómo construir y ejecutar un contenedor Docker de Decoder++.