一个可扩展的应用程序,供渗透测试人员和软件开发人员将数据解码/编码为各种格式。

decoder-plus-plus的Python项目详细描述


解码器++

Decoder++ Logo

一个可扩展的应用程序,用于渗透测试人员和软件开发人员将数据解码/编码为各种格式。在

设置

Decoder++可以通过使用pip或从此存储库中提取源来安装:

# Install using pip
pip3 install decoder-plus-plus

概述

本节概述了与Decoder++交互的各种方式。 有关其他用法信息,请查看Advanced Usage部分。在

图形用户界面

如果您喜欢图形用户界面来转换数据 Decoder++提供两个选择:amain-window-modedialog-mode。在

Decoder++ Screenshot

main-window-mode支持制表符时,dialog-mode能够将转换后的内容返回到stdout 准备进一步处理。如果您想从其他工具调用Decoder++,这非常有用 像BurpSuite(查看BurpSuite Send-to extension)或任何其他脚本 其中,您希望添加一个图形用户界面,以便对任何输入进行灵活的转换。在

Decoder++ Screenshot

命令行

如果您不想启动图形用户界面,但仍然使用 Decoder++你 可以使用命令行模式:

^{pr2}$

特点

  • 用户界面:
    • 图形用户界面
    • 命令行界面
  • 预装脚本和编解码器:
    • 编码/解码:Base16,Base32,Base64,二进制,Gzip,十六进制,Html,JWT,HTTP64,八进制,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、SHA384、Sha3 512、Sha224、Sha256、Sha348、Sha512, 太阳Md5
    • Scripts:CSS Minify,Caesar,Filter Lines,Identify File Format,Identify Hash Format,JS Beautifier,JS to XML,HTML Beautifier,Little/Big Endian Transform,重新格式化文本,删除换行符,删除空白,搜索和替换,拆分和重新连接,Unescape/Escape字符串
  • 智能解码
  • 插件系统
  • 加载和保存当前会话
  • 平台:
    • 窗口
    • Linux系统
    • 麦克

高级用法

本节提供有关命令行界面和交互方式的附加信息 可以使用pythonshell。在

命令行界面

命令行界面使您可以轻松访问所有可用的编解码器。在

要列出它们,可以使用-l参数。要缩小搜索范围,-l 参数接受用作筛选器的其他参数:

$ dpp -l base enc

Codec                 Type
-----                 ----
base16                encoder
base32                encoder
base64                encoder

Decoder++区分编码器、解码器、哈希器和脚本。 与图形用户界面一样,命令行界面允许您在一行中使用多个编解码器:

$ dpp "H4sIAAXmeVsC//NIzcnJ11Eozy/KSVEEAObG5usNAAAA" -d base64 -d gzip
Hello, world!

虽然编码器、解码器和散列器可以立即使用,但有些脚本可能需要额外的配置。 要显示特定脚本的所有可用选项,可以添加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

要配置特定的脚本,您需要以名称-值对的形式提供各个选项(例如search_term="Hello"):

$ dpp "Hello, world!" -s search_and_replace search_term="Hello" replace_term="Hey"
Hey, world!

插件开发

要添加自定义编解码器,只需将它们复制到$HOME/.config/dpp/plugins/文件夹中。在

fromdpp.core.plugin.abstract_pluginimportDecoderPluginclassPlugin(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)defrun(self,text):# Load the required libraries here ...importurllib.parse# Run your action ...returnurllib.parse.unquote(text)

贡献

请随时为任何功能请求或错误打开新的问题单。另外,不要犹豫发布新特性/插件的请求。在

多亏了

  • 蒂姆·梅纳帕斯(RIPEMD160,KECCAK256)
  • 罗宾·克鲁姆诺(ROT13)

故障排除

信号在Mac OS上不工作

在Mac OS中启动Decoder++时,信号不工作。在

当使用自制程序安装PyQt5时,可能会发生这种情况。要解决此问题,建议安装libdbus-1 图书馆。更多信息请参见http://doc.qt.io/qt-5/osx-issues.html#d-bus-and-macos关于这个问题。在

无法在Windows中使用CygWin

CygWin中启动Decoder++时发生错误:

  ModuleNotFoundError: No module named 'PyQt5'

尽管使用pip安装了PyQt5,但仍会发生这种情况。目前还没有解决办法。相反,建议这样做 使用Windows命令行启动Decoder++。在

灵感来自

  • PortSwigger的Burp解码器

  • PyQt5型
  • 太棒了

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何获取所有链接并使用SeleniumWebDriver逐个单击这些链接   java中数组列表的arraylist移位元素   java如何存储具有不同类型参数的元素   java不能使用List<Future<?>>当从不同位置调用时,在方法参数中   java我应该如何修复代码以避免测试代码出错?   安卓 PreferenceFragment java。lang.RuntimeException   java在运行emulator时发现错误   java取消多个AsyncTask回调的有效方法是什么?如果中途满足条件,这些回调将在将来返回?   有没有办法在运行时将方法动态分配给Java类?   java如何将propertyfile与GlassFish一起使用   如何在PHP中使用bcrypt对密码进行哈希处理?   Java和UDP web服务器   java JPA允许EntityListeners执行JPA操作吗?   java执行do while语句时不会产生错误   java无法在edittext中显示数据库中的数据   java Tomcat中活动会话的数量   java在何处使用@SuppressWarnings(“requestfactory”)   netty连接中的java HornetQ异常