Um aplicativo extensível para testadores de penetração e desenvolvedores de software para decodificar/codificar dados em vários formatos.
Configurar
Decoder++pode ser instalado usando pipou puxando a fonte deste repositório:
# Install using pip
pip3 install decoder-plus-plus
Visão geral
Esta seção fornece uma visão geral sobre as formas individuais de interagir com Decoder++. Para informações de uso adicionais, confira a Advanced Usageseção.
Interface gráfica do usuário
Se você preferir uma interface gráfica do usuário para transformar seus dados Decoder++, terá duas opções: a main-window-modee a dialog-mode.
Enquanto o main-window-modetabulação suporta, o dialog-modetem a capacidade de retornar o conteúdo transformado para stdoutpronto para processamento posterior. Isso é bastante útil se você quiser chamar Decoder++de outras ferramentas como BurpSuite (confira a extensão Enviar para BurpSuite ) ou qualquer outro script no qual você deseja adicionar uma interface gráfica do usuário para transformação flexível de qualquer entrada.
Linha de comando
Se você não deseja iniciar uma interface gráfica do usuário, mas ainda usar os vários métodos de transformação, Decoder++pode usar o modo de linha de comando :
$ python3 dpp.py -e base64 -h sha1 "Hello, world!"
e52d74c6d046c390345ae4343406b99587f2af0d
Recursos
Interfaces de usuário:
Interface gráfica do usuário
Interface da Linha de comando
Scripts e codecs pré -instalados:
Codificar/Decodificar: Base16, Base32, Base64, Binário, Gzip, Hex, Html, JWT, HTTP64, Octal, Url, Url+, Zlib
Hashing: Adler-32, Apache-Md5, CRC32, FreeBSD-NT, Keccak224, Keccak256, Keccak384, Keccak512, LM, Md2, Md4, Md5, NT, PHPass, RipeMd160, Sha1, Sha3 224, Sha3 256, Sha3 384, Sha3 512, Sha224, Sha256, Sha348, Sha512, Sun Md5
Scripts: CSS-Minify, Caesar, Filter-Lines, Identificar formato de arquivo, Identificar formato hash, JS-Beautifier, JS-to-XML, HTML-Beautifier, Little/Big-Endian Transform, Reformatar texto, remover novas linhas, remover espaços em branco, Pesquisar e Substituir, Dividir e Rejuntar, Unescape/Escape String
Decodificação Inteligente
Sistema de plugins
Carregar e Salvar Sessão Atual
Plataformas:
janelas
Linux
MAC
Uso Avançado
Esta seção fornece informações adicionais sobre como a interface de linha de comando e o shell Python interativo podem ser usados.
Interface da Linha de comando
A interface de linha de comando oferece acesso fácil a todos os codecs disponíveis.
Para listá-los, você pode usar o -largumento. Para restringir sua pesquisa, o -largumento aceita parâmetros adicionais que são usados como filtro:
$ dpp -l base enc
Codec Type
----- ----
base16 encoder
base32 encoder
base64 encoder
Decoder++distingue entre codificadores, decodificadores, hashers e scripts. Como a interface gráfica do usuário, a interface de linha de comando permite que você use vários codecs em sequência:
$ dpp "H4sIAAXmeVsC//NIzcnJ11Eozy/KSVEEAObG5usNAAAA" -d base64 -d gzip
Hello, world!
Embora codificadores, decodificadores e hashers possam ser usados imediatamente, alguns dos scripts podem exigir configuração adicional. Para mostrar todas as opções disponíveis de um script específico, você pode adicionar o helpparâmetro:
$ 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, você precisa fornecer as opções individuais como pares nome-valor (por exemplo search_term="Hello"):
$ dpp "Hello, world!" -s search_and_replace search_term="Hello" replace_term="Hey"
Hey, world!
Desenvolvimento de plug-ins
Para adicionar codecs personalizados, basta copiá-los para a $HOME/.config/dpp/plugins/pasta.
from dpp.core.plugin.abstract_plugin import DecoderPlugin
class Plugin(DecoderPlugin):
"""
Possible plugins are DecoderPlugin, EncoderPlugin, HasherPlugin or ScriptPlugin.
See AbstractPlugin or it's implementations for more information.
"""
def __init__(self, context):
plugin_name = "URL"
plugin_author = "Your Name"
# Python Libraries which are required to be able to execute the run method of this plugin.
plugin_requirements = ["urllib"]
super().__init__(plugin_name, plugin_author, plugin_requirements)
def run(self, text):
# Load the required libraries here ...
import urllib.parse
# Run your action ...
return urllib.parse.unquote(text)
Contribuir
Sinta-se à vontade para abrir um novo ticket para qualquer solicitação de recurso ou bugs. Também não hesite em emitir um pull-requests para novos recursos/plugins.
Graças a
Tim Menapace (RIPEMD160, KECCAK256)
Robin Krumnow (ROT13)
Solução de problemas
Os sinais não estão funcionando no Mac OS
Ao iniciar Decoder++no Mac OS, os sinais não estão funcionando.
Isso pode acontecer quando PyQt5é instalado usando homebrew. Para corrigir esse problema, é recomendável instalar a libdbus-1biblioteca. Consulte http://doc.qt.io/qt-5/osx-issues.html#d-bus-and-macos para obter mais informações sobre esse problema.
Não é possível iniciar o Decoder++ no Windows usando o CygWin
Decoder++Ao iniciar CygWinocorre um erro:
ModuleNotFoundError: No module named 'PyQt5'
Isso acontece embora PyQt5seja instalado usando pip. Atualmente não há correção para isso. Em vez disso, é recomendável começar Decoder++a usar a linha de comando do Windows.
Inspirado por
Decodificador Burp do PortSwigger
Distribuído por
PyQt5
QtAwesome