
Uma aplicação extensível para testadores de penetração e desenvolvedores de software para decodificar/codificar dados em vários formatos.

O Decoder++ é uma aplicação extensível projetada para testadores de penetração, desenvolvedores de software e qualquer pessoa que deseje decodificar e codificar dados de forma fácil em vários formatos. Inclui uma ampla variedade de scripts e codecs pré-instalados, decodificação inteligente e identificação de formato, e suporta operações tanto em interface gráfica do usuário (GUI) quanto em interface de linha de comando (CLI).
Comece a usar o Decoder++ em apenas alguns passos:
# Instalar via pip (última versão: qt6)
pip3 install decoder-plus-plus[qt6]
# Ou, para um backport qt5:
pip3 install decoder-plus-plus[qt5]
# Para aproveitar todos os recursos e plugins:
pip3 install decoder-plus-plus[extras]
Para um guia de instalação detalhado, incluindo instruções específicas para cada plataforma, consulte o Guia de Instalação.
Esta secção fornece uma visão geral sobre as diferentes formas de interagir com o Decoder++. Para informações adicionais de uso, consulte a secção Uso Avançado.
A interface gráfica do usuário oferece dois modos de interação distintos: um modo-janela-principal e um modo-diálogo.

Enquanto o modo-janela-principal suporta abas, o modo-diálogo tem a capacidade de retornar o conteúdo transformado para o stdout, pronto para processamento adicional. Como resultado, o Decoder++ pode melhorar outras ferramentas/scripts ao fornecer uma interface gráfica para transformação flexível de qualquer entrada.

Embora o Decoder++ processe todo o texto de entrada por padrão, ele também permite transformação seletiva dos dados. Para transformar apenas uma parte específica do seu texto, basta destacar o segmento de texto necessário no campo de entrada e aplicar o codec desejado.

Além da interface gráfica, o Decoder++ também oferece uma interface de linha de comando:
$ dpp -e base64 -h sha1 "Hello, world!"
e52d74c6d046c390345ae4343406b99587f2af0d
O Decoder++ permite que você escolha entre uma variedade de codecs e scripts:
Em caso de precisar de um pouco mais de flexibilidade, o Decoder++ permite processar seus dados com scripts personalizados utilizando o script Custom Code:

Esta secção fornece informações adicionais sobre como a interface de linha de comando pode ser utilizada.
A interface de linha de comando oferece acesso fácil a todos os codecs disponíveis.
Para listá-los, o argumento -l pode ser usado. Para restringir a pesquisa, o argumento -l aceita parâmetros adicionais que funcionam como filtro:
$ dpp -l base enc
Codec Type
----- ----
base16 encoder
base32 encoder
base64 encoder
O Decoder++ distingue entre codificadores, decodificadores, hashers e scripts.
Tal como a interface gráfica, a interface de linha de comando permite o uso de vários codecs em sequência:
$ dpp "H4sIAAXmeVsC//NIzcnJ11Eozy/KSVEEAObG5usNAAAA" -d base64 -d gzip
Hello, world!
Enquanto codificadores, decodificadores e hashers podem ser usados imediatamente, alguns scripts podem exigir configuração adicional.
Para mostrar todas as opções disponíveis de um script específico, adicione o parâmetro help:
$ dpp "Hello, world!" -s split_and_rejoin help
Split & Rejoin
==============
Name Value Group Required Description
---- ----- ----- -------- -----------
split_by_chars split_behaviour yes the chars used at which to split the text
split_by_length 0 split_behaviour yes the length used at which to split the text
rejoin_with_chars yes the chars used to join the splitted text
Para configurar um script específico, as opções individuais precisam ser fornecidas como pares nome-valor (ex.: search_term="Hello"):
$ dpp "Hello, world!" -s search_and_replace search_term="Hello" replace_term="Hey"
Hey, world!
Sinta-se à vontade para abrir um novo ticket para solicitar funcionalidades ou relatar bugs. Não hesite também em enviar um pull-request para novas funcionalidades/plugins. Mais informações sobre o desenvolvimento do Decoder++ podem ser encontradas no Guia de Desenvolvimento.
Agradecimentos a
Ao iniciar o Decoder++ no Mac OS, os sinais não funcionam.
Isso pode acontecer quando o PyQt6 é instalado via homebrew.
Ao iniciar o Decoder++ no CygWin ocorre um erro:
ModuleNotFoundError: No module named 'PyQt6'
Isso pode acontecer mesmo que o PyQt6 esteja instalado via pip.
Atualmente não há correção para isso. Em vez disso, é recomendado
iniciar o Decoder++ usando a linha de comando do Windows.
Ao iniciar o Decoder++, o erro No module named 'PyQt6.sig' é exibido no console.
Isso pode acontecer quando há versões concorrentes do PyQt6 instaladas. Reinstalar o PyQt6 deve corrigir este erro.
$ sudo pip3 uninstall PyQt6
$ sudo pip3 install PyQt6
Pelo menos no Ubuntu 22.04 pode ser necessário instalar os seguintes pacotes usando apt:
apt install libqt6core6 libqt6network6 libqt6openglwidgets6 libqt6widgets6
Para executar o dpp dentro de um contêiner/máquina virtual, pode ser necessário instalar os
qt6-qpa-plugins dentro do contêiner/máquina virtual e configurar o
QT_QPA_PLATFORM_PLUGIN_PATH adequadamente:
apt install qt6-qpa-plugins
export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/qt6/plugins/platforms/
Veja os scripts de construção e execução do Docker para mais informações sobre como construir e executar um contêiner Docker do Decoder++.