Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
pe_tree — 用于使用pefile和PyQt5以树形视图查看可移植可执行(PE)文件的Python模块。也可以与IDA Pro和Rekall一起使用,以转储内存中的PE文件并重建导入。 | Kitploit
工具/GitHubGitHub/blackberry/pe_tree
内存取证漏洞分析逆向工程调试器取证分析恶意软件分析数字取证二进制分析Archived
GitHubblackberry/pe_tree

pe_tree

用于使用pefile和PyQt5以树形视图查看可移植可执行(PE)文件的Python模块。也可以与IDA Pro和Rekall一起使用,以转储内存中的PE文件并重建导入。

查看仓库
1.3k173184年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

PE Tree

PE Tree 是一个 Python 模块,用于使用 pefile 和 PyQt5 以树状视图查看可移植可执行文件 (PE 文件)。 它还可以与 IDA Pro、Ghidra、Volatility、Rekall 和 minidump 一起使用,以查看和转储内存中的 PE 文件,并执行导入表重建。

目录

  1. 功能
  2. 应用程序
    • 要求
    • 功能
    • 安装
      • Windows
      • Mac/Linux
      • 面向开发者
    • 用法
    • 暗色模式
  3. IDAPython
    • 要求
    • 功能
    • 安装
      • 使用 setuptools
      • 手动安装
      • 面向开发者
    • 用法
    • 示例
      • 转储内存中的 PE 文件
  4. Rekall
    • 要求
    • 功能
    • 安装
    • 用法
  5. Volatility
    • 要求
    • 功能
    • 安装
    • 用法
  6. Ghidra
    • 要求
    • 功能
    • 安装
    • 用法
  7. Minidump
    • 要求
    • 功能
    • 安装
    • 用法
  8. 配置
    • 概述
    • 选项
    • 位置
    • 第三方数据共享
  9. 故障排除
  10. 贡献
    • 开发者文档
  11. 许可证

功能

  • 独立的应用程序,带有以下插件的支持:
    • IDA Pro
    • Ghidra
    • Volatility
    • Rekall
    • Minidumps
    • 文件雕刻
  • 支持 Windows、Linux 和 Mac
  • 从以下来源解析 PE 文件和内存映像:
    • 文件系统
    • ZIP 存档(包括受密码保护的)
    • Windows 内存转储(raw、EWF、vmem 等)
    • 活动 Windows 内存(使用 rekall)
    • Windows Minidump
    • IDA Pro 数据库
    • Ghidra 数据库
    • 二进制文件雕刻
  • 彩虹 PE 映射图:
    • 提供 PE 结构、大小和文件位置的高级概览
    • 允许快速可视化概览和比较 PE 样本
  • 在树状视图中显示以下 PE 头部:
    • MZ 头部
    • DOS 存根
    • Rich 头部
    • NT/文件/可选头部
    • 数据目录
    • 节区
    • 导入
    • 导出
    • 调试信息
    • 加载配置
    • TLS
    • 资源
    • 版本信息
    • 证书
    • 叠加数据
  • 从以下位置提取并保存数据:
    • DOS 存根
    • 节区
    • 资源
    • 证书
    • 叠加数据
    • 导出到 CyberChef 进行进一步处理
  • 执行 VirusTotal 搜索:
    • 文件哈希
    • PDB 路径
    • 时间戳
    • 节区哈希/名称
    • 导入哈希/名称
    • 导出名称
    • 资源哈希
    • 证书序列号
  • 从内存中转储加载的 PE 映像:
    • 修复节区指针和大小
    • 修复 PE 头部:
      • 移除不必要的目录指针
      • 重新计算 PE 校验和
      • 更新入口点
    • 使用多种方法重建导入地址表和导入目录表(IAT/IDT):
      1. 使用现有的 IAT/IDT
      2. 从现有 IAT 重建 IDT
      3. 从反汇编重建 IAT 和 IDT(使用 IDA Pro、Ghidra 或 capstone)

应用程序

PE Tree 独立应用程序可在文件、文件夹和 ZIP 存档中查找可移植可执行文件。

PE Tree 独立应用程序

要求

  • Python 3.5+

功能

  • 扫描文件和文件夹中的 PE 文件
  • 从 ZIP 存档中提取 PE 文件(包括使用 infected 密码保护的)
  • 从二进制文件中雕刻 PE 文件
  • 双击 VA/RVA 使用 capstone 进行反汇编
  • 十六进制转储数据

安装

使用 pip(推荐)

在新的虚拟环境中直接通过 pip 从 GitHub 安装:

Windows
> virtualenv env
> env\Scripts\activate
> pip install --upgrade pip
> pip install git+https://github.com/blackberry/pe_tree.git
Mac/Linux
$ python3 -m venv env
$ source ./env/bin/activate
$ pip install --upgrade pip
$ pip install git+https://github.com/blackberry/pe_tree.git

面向开发者

克隆仓库并配置开发环境:

Windows
> git clone https://github.com/blackberry/pe_tree.git
> cd pe_tree
> virtualenv env
> env\Scripts\activate
> pip install -e .
Mac/Linux
$ git clone https://github.com/blackberry/pe_tree.git
$ cd pe_tree
$ python3 -m venv env
$ source ./env/bin/activate
$ pip install -e .

用法

运行 PE Tree 并扫描文件、文件夹和 ZIP 存档中的可移植可执行文件:

$ pe-tree -h
usage: pe-tree [-h] [filenames [filenames ...]]

PE-Tree

positional arguments:
  filenames   Path(s) to file/folder/zip

optional arguments:
  -h, --help  show this help message and exit

运行 PE Tree 并尝试从二进制文件中雕刻可移植可执行文件:

$ pe-tree-carve -h
usage: pe-tree-carve [-h] filename

PE-Tree (Carve)

positional arguments:
  filename    Path to file to carve

optional arguments:
  -h, --help  show this help message and exit

暗色模式

通过安装 QDarkStyle 可以启用暗色模式:

$ pip install qdarkstyle

IDAPython

PE Tree IDAPython 插件可在 IDA 数据库中查找可移植可执行文件。

PE Tree IDAPython 插件

要求

  • IDA Pro 7.0+ 与 Python 2.7
  • IDA Pro 7.4+ 与 Python 2.7 或 3.5+

功能

  • 轻松导航 PE 文件结构
  • 在 PE Tree 中双击内存地址可在 IDA-view 或 hex-view 中查看
  • 在 IDB 中搜索内存中的 PE 映像,并;
    • 重建导入(IAT + IDT)
    • 转储重建后的 PE 文件
    • 自动在 IDB 中注释 PE 文件结构
    • 自动标记 IDB 中的 IAT 偏移

安装

要作为 IDAPython 插件安装和运行,您可以使用 setuptools 或手动安装。

使用 setuptools

  1. 下载 pe_tree 并为 IDA 使用的全局 Python 解释器安装:

    $ git clone https://github.com/blackberry/pe_tree.git
    $ cd pe_tree
    $ python setup.py develop --ida
    
  2. 将 pe_tree_ida.py 复制到您的 IDA 插件文件夹

手动安装

  1. 下载 pe_tree 并为 IDA 使用的全局 Python 解释器安装依赖:

    $ git clone https://github.com/blackberry/pe_tree.git
    $ cd pe_tree
    $ pip install -r requirements.txt
    
  2. 将 pe_tree_ida.py 以及 ./pe_tree/ 的内容复制到您的 IDA 插件文件夹

面向开发者

要放弃作为插件安装,而是在 IDA 中作为脚本运行,首先为全局 Python 安装安装 pe_tree 包的依赖:

$ pip install -r requirements.txt

然后在 IDA 中运行 pe_tree_ida.py:

File -> Script file... -> pe_tree_ida.py -> Open

IDA 插件文件夹

操作系统插件文件夹
Windows%ProgramFiles%\IDA Pro 7.X\plugins
Linux/opt/ida-7.X/plugins
Mac~/.idapro/plugins

用法

  1. 启动 IDA Pro 并反汇编一个 PE 文件(为了获得最佳效果,始终选择 Manual Load 和 Load Resources!)

  2. 加载 PE Tree 插件:

    Edit -> Plugins -> PE Tree

示例

转储内存中的 PE 文件

以下是转储加壳 PE 文件(例如 MPRESS 或 UPX)并重建导入的基本步骤(假设映像基址/入口点相当标准):

  1. 启动 IDA Pro 并反汇编一个 MPRESS 或 UPX 加壳的 PE 文件(选择 Manual Load 和 Load Resources)

  2. 选择一个调试器(Windows 或 Bochs)并运行直到 OEP(通常是 0x00401000,但并不总是!)

  3. 此时您可以拍摄一个内存快照(保存所有段)并保存 IDB 以供以后使用

  4. 确保 IDA 已找到所有代码:

    Options -> General -> Analysis -> Reanalyze program

  5. 打开 PE Tree IDAPython 插件,在右侧窗格中右键单击并选择:

    Add PE -> Search IDB

    这将扫描 IDB 中的 MZ/PE 头部并显示找到的任何模块。

  6. 右键单击 HEADER-0x00400000(或适当的模块名称)并选择 Dump...

  7. 指定 AddressOfEntryPoint(通常是 0x1000,但同样并不总是!)

  8. 确保选中 Rebuild IDT/IAT

  9. 转储!

将使用从内存/IDB 获得的解压节区数据创建一个新的可执行文件,同时一个新的名为 .pe_tree 的节区(包含重建的 IAT、提示名称表和 IDT)将被追加到 PE 文件中(非常类似于 .idata 节区)。 如果在执行过程中入口点内存段已被标记为可写(例如通过 VirtualProtect),那么入口点节区的特征也将被标记为可写。 最后,BASERELOC、BOUND_IMPORT 和 SECURITY 数据目录被标记为 null,并且(如果指定)重新计算 OPTIONAL_HEADER 校验和。

使用上述方法,可以转储许多内存中的 PE 文件,无论是经过解压、注入、反射加载还是空心化等。

Rekall

PE Tree Rekall 插件可在 Windows 内存转储中查找可移植可执行文件。

PE Tree Rekall 插件

要求

  • Python 3+

功能

  • 针对 Windows 内存转储或活动系统进行操作
  • 从以下来源查看、转储和重建 PE 模块;
    • 活动进程和 DLL
    • 加载的内核模式驱动程序

安装

下载工具