千家信息网

PBTK是一款什么工具

发表于:2025-02-24 作者:千家信息网编辑
千家信息网最后更新 2025年02月24日,这篇文章主要为大家展示了"PBTK是一款什么工具",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"PBTK是一款什么工具"这篇文章吧。套件介绍Protobuf
千家信息网最后更新 2025年02月24日PBTK是一款什么工具

这篇文章主要为大家展示了"PBTK是一款什么工具",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"PBTK是一款什么工具"这篇文章吧。

套件介绍

Protobuf是Google设计的一种序列化格式,目前已被广泛应用在各种Android端、Web端和桌面端应用程序之中。它由一种用于声明数据结构的语言组成,并且能够根据目标的实现方式,来为其编译代码以及其他类型的结构数据。

PBTK(Protobuf toolkit)是一套功能完整的脚本,可以通过统一的GUI来访问,PBTK主要提供了以下两个重要功能:

一、从目标程序中提取Protobuf结构,将其转换回可读的.protos格式,并且支持下列实现:

1、所有主流的Java运行时(base, Lite, Nano, Micro, J2ME),以及完整的Proguard支持;

2、二进制代码包含嵌入式反射元数据(通常是C++,有时是Java和其他绑定);

3、使用JsProtoUrl运行时的Web应用程序;

二、通过一个方便的图形界面编辑、重放和模糊化发送到Protobuf网络端点的数据,该界面允许您实时编辑Protobuf消息的字段并查看结果。

工具安装

PBTK要求使用Python >= v3.5、PyQt 5、Python-Protobuf 3以及其他的依赖组件(例如Chromium、jad和dex2jar等等)来运行提取脚本。

Archlinux用户可以直接运行下列命令来完成安装:

$ yaourt -S pbtk-git$ pbtk

在其他Linux发行版系统中,我们可以直接运行下列命令完成工具的安装:

$ sudo apt install python3-pip git openjdk-9-jre$ sudo pip3 install protobuf pyqt5 requests websocket-client$ git clonehttps://github.com/marin-m/pbtk$ cd pbtk$ ./gui.py

当然了,PBTK也支持在Windows平台杀昂使用,我们安装好依赖组件并运行GUI之后,工具将会提醒我们进行下一步操作,按提示操作即可。

命令行使用

GUI可以通过主脚本来启动:

./gui.py

下列脚本也可以单独进行使用,不需要通过GUI来启动:

./extractors/jar_extract.py [-h] input_file [output_dir]./extractors/from_binary.py [-h] input_file [output_dir]./extractors/web_extract.py [-h] input_url [output_dir]

常规工作流

假设我们需要对一款Android应用程序进行逆向分析,我们可以先选择一个我们熟悉的反编译工具,然后按常规方式并通过HTTP向目标以POST数据的形式发送Protobuf格式内容。

打开PBTK,我们将会看到下图所示界面:

第一步就是将.protos文件转换为text格式,如果目标为Android应用,我们可以打开一个APK文件,然后剩下的就交给PBTK吧!

完成之后,在命令行编辑器中切换到"~/.pbtk/protos/"路径下,该App的.protos文件都在这个路径下。

回到我们的反编译工具,我们可以将感兴趣的数据通过HTTPS来向目标节点进行发送,并通过调用由生成的代码构成的类来序列化Protobuf消息。

后面这个类应该可以直接对应到我们.protos目录中的某一个结构,比如说com.foo.bar.a.b将对应com/foo/bar/a/b.proto。那么接下来,我们选择需要作为输入的.proto文件,然后填写一些相关的节点信息:

我们还可以提供一些样本原始的Protobuf数据并发送至目标节点,相关数据可以通过mitmproxy或Wireshark捕获,或以十六进制编码的形式粘贴进去。

第三步,点击按钮,看看奇迹如何发生!工具将生成一个表示Protobuf结构的树形图(重复的字段以"+"作为后缀,必需的字段没有复选框):

只需在一个区域上鼠标悬停即可获得焦点,如果字段是整数类型,请使用鼠标滚轮将其递增/递减,悬停时也会显示枚举信息。

本地数据存储

PBTK会将提取出的.proto信息存储至"~/.pbtk/protos/"(Linux)或"%APPDATA%\pbtk\protos"(Windows)路径下。基于HTTP节点的数据存储以JSON对象形式在"~/.pbtk/endpoints/":

[{"request": {"transport": "pburl","proto": "www.google.com/VectorTown.proto","url": "https://www.google.com/VectorTown","pb_param": "pb","samples": [{"pb": "!....","hl": "fr"}]},"response": {"format": "other"}}]

以上是"PBTK是一款什么工具"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

数据 工具 目标 运行 结构 应用 内容 命令 字段 文件 格式 程序 脚本 节点 代码 信息 可以通过 应用程序 形式 界面 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 计算机鼓数据库管理技术论文 游戏云计算服务器 上海软件开发驻场哪里好 家里装个服务器能玩单机游戏吗 陕西网络安全保卫中心 岳阳网络技术学校项目 西游之路哪个服务器好 静安区管理网络技术服务口碑推荐 网课需要强大的网络技术支持 处理流程自定义软件开发技术 国泰君安数据库登陆 衡水网络安全局 广州薪房互联网科技 excel怎么做论文数据库 云服务器安装路由器 老年宝手机网络安全吗 如何卸载数据库2008 武汉帮帮手软件开发有限公司 辽事通修改手机号数据库操作异常 集中式数据库中 检测服务器支持ipv6 网络安全设计期末试题及答案 软件开发淘口令 sql打开数据库关系图后闪退 java存放图片到数据库 用友u8帐套路径数据库 兴业卡中心软件开发 松江区创新数据库服务内容 华三杯网络技术大赛比什么 数据库有什么好的开发软件
0