用于分解 PDF 的开源 GUI 工具

逆向工程 反编译 工具 视窗
2021-06-21 01:10:12

我一直在寻找一种开源 GUI 工具,可以在 Windows 系统上以自动方式提取 PDF。我已经非常感兴趣地使用了 Didier Steven 的工具一段时间,但即使在观看了他的一些视频之后,仍然无法理解如何使用他的PDF 分解/分析工具它们似乎需要对底层 PDF 结构有重要的了解,可能还需要更多。

对于 SWF 文件,工具SWFScan是我正在寻找的那种:您将有问题的文件加载到该工具中。从那里,您可以浏览链接、脚本和图像。它甚至会自动分析代码并显示哪些部分可能存在安全问题以及每个部分的问题是什么,然后提供包含更多信息的网页参考。

有谁知道一个很好的 Windows 开源 GUI,它可以加载 PDF 而不执行它,而是提取所有脚本、编译代码、文本、链接、图像等?理想情况下,它会显示每个图像的关系,例如当您单击某个图像时,它会告诉您正在运行什么脚本、它转到哪个 URL,并让您自己查看图像。

PDF 在 SWF 旁边是如此普遍,以至于这种工具似乎已经很普遍了。我可能忽略了它/他们。

4个回答

Sogeti 的Origami 框架带有一个基于 GTK 的 GUI。

它是什么?

origami 是一个 Ruby 框架,旨在解析、分析和伪造 PDF 文档。这不是 PDF 渲染库。它旨在提供一个脚本工具来生成和分析恶意 PDF 文件。同样,它还可用于创建即时定制的 PDF,或将(恶意)代码注入现有文档中。

特征

  • 从头开始创建 PDF 文档。
  • 解析现有文档,修改它们并重新编译它们。
  • 在对象级别探索文档,深入了解文档结构,解压缩 PDF 对象流并去混淆名称和字符串。
  • 高级操作,例如加密/解密、签名、文件附件...
  • 用于快速浏览文档内容的 GTK 界面。

在此处输入图片说明

这是我在 Windows 7 系统上安装它的方法:

  • 确保您为 Windows 安装了 Ruby v1.9.3 http://rubyinstaller.org/downloads/
  • 注意:这可能适用于较新/较旧的 Ruby 版本,但我只在 Windows 7 上的 v1.9.3 上进行了测试。(它确实适用于我的 Linux 系统上的 ruby​​ v1.8.7)
  • 接下来,通过打开ADMIN cmd 提示符并运行来安装折纸

gem install origami

  • 接下来,您需要安装ruby-gtk2从与之前相同的 ADMIN cmd 提示符运行:

gem install gtk2

  • 之后安装 pdfwalker,因为它被移动到一个单独的 gem:

gem install pdfwalker

最后,只需pdfwalker从 cmd 提示符运行即可

如果这对您不起作用,我建议您尝试从Cygwin执行上述步骤,您基本上可以按照在 *nix 上安装的说明进行操作。

如果你在 Ubuntu/Debian 上安装它

使用以下命令安装 ruby​​:

apt install ruby-full

然后安装上面列出的折纸:

gem install origami

如果您想使用 GUI,您可能需要安装 libgtk2.0-dev 并安装 rake gem 以便您能够安装 gtk2:

apt install libgtk2.0-dev
gem install rake
gem install gtk2

由于 pdfwalker 也需要 libcanberra,所以现在安装它是个好主意:

apt install libcanberra-gtk-module

之后安装 pdfwalker,因为它被移动到一个单独的 gem:

gem install pdfwalker

它应该从命令行运行,如上所述。

主要提取恶意内容,如脚本和漏洞利用,您可以查看在线工具:

Wepawet - 用于分析 js\pdf\flash 文件的在线工具包。

Jsunpack - 用于分析文件的在线工具包,其中可能包含打包\编码的 JavaScript 代码,如 PDF\HTML\JS。也适用于 .pcap 文件

此外 - 用于 linux 的离线工具(好吧,不是 GUI,但很好的工具)来提取 shellcode 和隐藏字段:

Pdfextract - 一种离线命令行工具和库,可以从 PDF 中提取各种文本区域。

也许PdfStreamDumper足够接近您想要的东西,但是您仍然需要一些 PDF 知识才能有效地使用它。

我强烈推荐Cerbero Profiler

Cerbero Profiler 是一种主要用于恶意软件和取证分析的工具。它支持大量的文件格式(如下所列),可在这些文件格式上执行分析并让用户检查其内部布局。Profiler 通常用于识别文件中的 0 天威胁和个人信息。但是,考虑到该项目的规模,它还有许多其他用途,我们鼓励您访问我们的博客以查看 Profiler 的运行情况。

您可能还想查看我的开源文件剖析工具我为它写了一个 PDF 解析器,但还没有提交。抱歉,我知道这没有多大帮助。不过,我最终会推动它。