首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Pip3line:针对RawBytes修改和拦截的「瑞士军刀」

Pip3line:针对RawBytes修改和拦截的「瑞士军刀」

作者头像
FB客服
发布于 2024-05-27 13:32:08
发布于 2024-05-27 13:32:08
17100
代码可运行
举报
文章被收录于专栏:FreeBufFreeBuf
运行总次数:0
代码可运行
关于Pip3line

Pip3line是一款针对RawBytes数据的安全工具,该工具不仅允许广大研究人员轻松查看和修改RawBytes数据,而且还可以对数据执行各种转换、快速源码搜索和网络代理拦截等。

该工具专为渗透测试和逆向工程分析人员设计,当前支持的转换列表包括常见的解码,例如Base64/32/hex转简单密码,并包含了常见的哈希算法和模糊处理技术。

支持的转换

1、Base32 2、Base64 3、基于自己的基本翻转算法 4、二进制编码 5、字节转整型 6、Cisco secret 7解密/加密 7、CRC32 8、Cut 9、FIX协议解析器(v4.4) 10、十六进制 11、用于JavaScript模糊处理的层次结构 12、HMAC计算 13、Int转时间戳 14、Int64转时间戳 15、IPv4转换 16、IPv4和IPv6的网络掩码计算 17、Md4/Md5/Sha1(内置) 18、NTLMSSP消息解析 19、数据填充 20、正则表达式 21、ROT 22、替换加密算法 23、Oracle/MySql/MSSql/Postgres/Javascript级联字符串 24、URL编码 25、XOR 26、XmlQuery 27、Zlib压缩

工具下载

源码获取

广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git clone https://github.com/metrodango/pip3line.git

Windows安装

广大研究人员可以直接访问该项目的【https://github.com/metrodango/pip3line/releases】下载针对Windows操作系统的预编译工具版本。

macOS安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ brew tap metrodango/pip3line

$ brew install pip3line

如果遇到关于丢失共享库libtransform的错误,请确保homebrew代码库目录位于PATH路径中,或创建一个指向/usr/local/lib的软链。

Linux安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Gentoo

将项目中的「extras/gentoo_package/pip3line-TEMPLATE.ebuild」模板ebuild拷贝到一个本地Gentoo库中,并提供相关的版本信息,例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip3line-9999.ebuild (for the github based ebuild)

pip3line-3.7.0.ebuild (for a specific version)

然后运行下列命令即可:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ emerge -pv pip3line

Python 2.7 & 3插件使用

使用你自己的代码编辑器创建一个Python文件,代码初始架构如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#!/usr/bin/env python

#-*- coding: UTF-8 -*-



def pip3line_transform(inputData):

""" Take a bytearray as input and returns a bytearray"""

# if you need to convert to a Python 'string'

string = inputData.decode('utf-8')



# Some code ......



# just remember to convert it back to a bytearray

return bytearray(string, 'utf-8')

pip3line_transform function函数会由Pip3line自动调用,我们需要做的是使用Python 2.7/3模块转换来加载该函数。

假设使用gzip和bz2样例作为起始入口点,参考的实现代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#!/usr/bin/env python3

#-*- coding: UTF-8 -*-



import gzip



Pip3line_is_two_ways = True



def pip3line_transform(inputData):

ret = None

if (Pip3line_INBOUND):

ret = bytearray(gzip.compress(inputData))

else:

ret = bytearray(gzip.decompress(inputData))

return ret

许可证协议

本项目的开发与发布遵循BSD-3-Clause开源许可协议。

项目地址

Pip3line:

https://github.com/metrodango/pip3line

参考资料:

https://metrodango.github.io/pip3line/index.html

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-05-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验