一个可扩展的应用程序,供渗透测试人员和软件开发人员将数据解码/编码为各种格式。
decoder-plus-plus的Python项目详细描述
解码器++
一个可扩展的应用程序,用于渗透测试人员和软件开发人员将数据解码/编码为各种格式。在
设置
Decoder++
可以通过使用pip
或从此存储库中提取源来安装:
# Install using pip
pip3 install decoder-plus-plus
概述
本节概述了与Decoder++
交互的各种方式。
有关其他用法信息,请查看Advanced Usage
部分。在
图形用户界面
如果您喜欢图形用户界面来转换数据
Decoder++
提供两个选择:amain-window-mode
和dialog-mode
。在
当main-window-mode
支持制表符时,dialog-mode
能够将转换后的内容返回到stdout
准备进一步处理。如果您想从其他工具调用Decoder++
,这非常有用
像BurpSuite(查看BurpSuite Send-to extension)或任何其他脚本
其中,您希望添加一个图形用户界面,以便对任何输入进行灵活的转换。在
命令行
如果您不想启动图形用户界面,但仍然使用
Decoder++
你
可以使用命令行模式:
特点
- 用户界面:
- 图形用户界面
- 命令行界面
- 预装脚本和编解码器:
- 编码/解码: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型
- 太棒了
- 项目
标签: