Package: decoder-plus-plus
Decoder++An extensible application for penetration testers and software developers to decode/encode data into various formats.SetupTo installDecoder++simply usepip:# Install using pip (latest:qt6)pip3installdecoder-plus-plus[qt6]# Install using pip (backport:qt5)pip3installdecoder-plus-plus[qt5]Note, that this will installDecoder++and the most common plugins.
In order to install and use all available plugins the packagedecoder-plus-plus[extras]needs to be installed:pip3 install decoder-plus-plus[extras]Please refer to theInstallation Guidefor more information regarding individual setups.OverviewThis section provides an overview about the individual ways of interacting withDecoder++. For additional usage information check out theAdvanced Usagesection.Graphical User InterfaceThe graphical user interface provides two distinct interaction modes:
amain-window-modeand adialog-mode.While themain-window-modesupports tabbing, thedialog-modehas the ability to return the transformed
content tostdoutready for further processing.
As a resultDecoder++can enhance other tools/scripts
by providing a graphical user interface for flexible transformation of any input.Command LineIn addition to the graphical user interface Decoder++ also provides a command line interface:$dpp-ebase64-hsha1"Hello, world!"e52d74c6d046c390345ae4343406b99587f2af0dFeaturesUser Interfaces:Graphical User InterfaceCommand Line InterfacePreinstalled Scripts and Codecs:Encode/Decode:Base16, Base32, Base45, Base64, Base64 (URL-safe), Binary, Gzip, Hex, Html, JWT, HTTP64, Octal, Url, Url+, ZlibHashing: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 Md5Scripts:CSS-Minify, Caesar, Extract URLs, Filter-Lines, Identify File Format, Identify Hash Format, JS-Beautifier, JS-to-XML, JQ, JSONify, JSONPath, HTML-Beautifier, Little/Big-Endian Transform, Reformat Text, Remove Newlines, Remove Whitespaces, Search and Replace, Split and Rejoin, Unescape/Escape String, XPathFormat-IdentificationSmart-DecodePlugin SystemLoad & Save Current SessionSupported Platforms:WindowsLinuxMACAdvanced UsageThis section provides additional information about how the command line interface can be used.Command Line InterfaceThe commandline interface gives easy access to all available codecs.To list them the-largument can be used. To narrow down the search
the-largument accepts additional parameters which work as filter:$dpp-lbaseenc

CodecType
---------
base16encoder
base32encoder
base64encoderDecoder++distinguishes between encoders, decoders, hashers and scripts.
Like the graphical user interface the command line interface allows the usage of multiple codecs in a row:$dpp"H4sIAAXmeVsC//NIzcnJ11Eozy/KSVEEAObG5usNAAAA"-dbase64-dgzip
Hello,world!While encoders, decoders and hashers can be used right away, some scripts may require additional configuration.
To show all available options of a specific script add thehelpparameter:$ 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 textTo configure a specific script the individual options need to be supplied as name-value pairs (e.g.search_term="Hello"):$ dpp "Hello, world!" -s search_and_replace search_term="Hello" replace_term="Hey"
Hey, world!ContributeFeel free to open a new ticket for requesting features or reporting bugs.
Also don't hesitate to issue a pull-request for new features/plugins.
More information regarding Decoder++ development can be found in theDevelopment Guide.Thanks toTim Menapace (RIPEMD160, KECCAK256)Robin Krumnow (ROT13)TroubleshootingSignals are not working on Mac OSWhen startingDecoder++in Mac OS signals are not working.This might happen whenPyQt6is installed using homebrew.Can not start Decoder++ in Windows using CygWinWhen startingDecoder++inCygWinan error occurs:ModuleNotFoundError: No module named 'PyQt6'This might happen even ifPyQt6is installed using pip.
Currently there is no fix for that. Instead it is recommended
to startDecoder++using the Windows command line.No Module PyQt6When startingDecoder++the errorNo module named 'PyQt6.sig'is displayed on the console.
This may happen when there are competing versions of PyQt6 installed. Reinstalling PyQt6 should fix this error.$ sudo pip3 uninstall PyQt6
$ sudo pip3 install PyQt6Missing Qt6 librariesAt least in Ubuntu 22.04 it might be necessary to install the following packages usingapt:apt install libqt6core6 libqt6network6 libqt6openglwidgets6 libqt6widgets6X11-forwarding failsIn order to run dpp inside a container/virtual machine you may need to install theqt6-qpa-pluginsinside the container/virtual machine and configure theQT_QPA_PLATFORM_PLUGIN_PATHaccordingly:apt install qt6-qpa-plugins
export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/qt6/plugins/platforms/See theDocker build and run scriptsfor more information regarding how to build and run a Decoder++ Docker container.Inspired ByPortSwigger's Burp DecoderPowered ByQtPy / PyQt5 / PyQt6QtAwesome