Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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

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

工具目录

分类

查看所有分类
Loading categories
external_expat-2.1.0_CVE-2022-43680 — Expat 2.1.0 的源代码仓库,这是一个面向流的 XML 解析器库,重点在于分析和解决 CVE-2022-43680。 | Kitploit
工具/GitHubGitHub/trinadh465/external_expat-2.1.0_cve-2022-43680
静态分析漏洞分析代码分析漏洞利用模糊测试二进制分析
GitHubtrinadh465/external_expat-2.1.0_cve-2022-43680

external_expat-2.1.0_CVE-2022-43680

Expat 2.1.0 的源代码仓库,这是一个面向流的 XML 解析器库,重点在于分析和解决 CVE-2022-43680。

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库
113年前尚未审核

Expat,版本 2.1.0

这是 Expat,一个用于解析 XML 的 C 语言库,由 James Clark 编写。 Expat 是一个流式 XML 解析器。这意味着你需要在开始解析之前向解析器注册处理程序。当解析器在正在解析的文档中发现相关结构时,这些处理程序会被调用。开始标签就是你可以为其注册处理程序的那类结构的一个例子。

Windows 用户应使用 expat_win32bin 软件包,其中包含预编译的库和可执行文件,以及供开发人员使用的源代码。

Expat 是自由软件。你可以根据本软件包随附的 COPYING 文件中所包含的许可证条款复制、分发和修改它。该许可证与 MIT/X Consortium 许可证相同。

次版本号为奇数(上面版本号中的中间数字)的 Expat 版本是开发版本,应视为 Beta 软件。次版本号为偶数的版本则旨在作为生产级软件。

如果你要从 CVS 仓库的检出(check-out)构建 Expat,你需要运行一个脚本,该脚本使用 GNU autoconf 和 libtool 工具生成 configure 脚本。为此,你需要有 autoconf 2.58 或更新版本。如下运行该脚本:

root@kitploit:~
    ./buildconf.sh

完成此操作后,按照与从源代码发行版构建时相同的说明进行操作。

要从源代码发行版构建 Expat,你首先要在顶层发行目录中运行配置 shell 脚本:

root@kitploit:~
    ./configure

你可以向 configure 提供许多选项(可以通过使用 --help 选项运行 configure 来了解这些选项)。但最受关注的选项是设置安装目录的那个选项。默认情况下,configure 脚本会设置将 libexpat 安装到 /usr/local/lib,将 expat.h 安装到 /usr/local/include,并将 xmlwf 安装到 /usr/local/bin。例如,如果你希望安装到 /home/me/mystuff/lib、/home/me/mystuff/include 和 /home/me/mystuff/bin,你可以这样告诉 configure:

root@kitploit:~
    ./configure --prefix=/home/me/mystuff

另一个有趣的选项是启用对行号、列号和总体字节索引的 64 位整数支持:

root@kitploit:~
    ./configure CPPFLAGS=-DXML_LARGE_SIZE

然而,这样的修改将对 ABI 造成破坏性变更,因此不建议用于一般用途——例如作为 Linux 发行版的一部分——而建议用于有特殊要求的构建。

运行 configure 脚本之后,"make" 命令将构建相关组件,"make install" 将把组件安装到适当的位置。请查看 "Makefile" 以了解其他 "make" 选项。请注意,你需要对将要安装组件的目录拥有写权限。

如果你有兴趣构建 Expat 以提供 UTF-16 编码(而非默认的 UTF-8)的文档信息,请按照以下说明操作(在运行 "make distclean" 之后):

root@kitploit:~
    1. 对于以 unsigned short 形式输出 UTF-16(版本/错误字符串以 char 形式输出),请运行:

           ./configure CPPFLAGS=-DXML_UNICODE

       对于以 wchar_t 形式输出 UTF-16(包括版本/错误字符串),请运行:

           ./configure CFLAGS="-g -O2 -fshort-wchar" \
                       CPPFLAGS=-DXML_UNICODE_WCHAR_T

    2. 编辑 MakeFile,将:

           LIBRARY = libexpat.la

       改为:

           LIBRARY = libexpatw.la

       (请注意库名称中额外的 "w"。)

    3. 运行 "make buildlib"(仅构建库)。
       或者,为了省去第 2 步,运行 "make buildlib LIBRARY=libexpatw.la"。

    4. 运行 "make installlib"(仅安装库)。
       或者,如果省略了第 2 步,运行 "make installlib LIBRARY=libexpatw.la"。

支持使用 DESTDIR 或 INSTALL_ROOT,其中 INSTALL_ROOT 是 DESTDIR 的默认值,而 make 文件的其余部分仅使用 DESTDIR。其工作方式如下: $ make install DESTDIR=/path/to/image 会覆盖 make 文件中设置的 DESTDIR,而以下两者 $ INSTALL_ROOT=/path/to/image make install $ make install INSTALL_ROOT=/path/to/image 都使用 DESTDIR=$(INSTALL_ROOT),即使 DESTDIR 最终在环境中定义,因为变量设置的优先级是

  1. 命令行
  2. make 文件内
  3. 环境

注意:这仅适用于 Expat 库本身;目前不支持构建 xmlwf 和测试程序的 UTF-16 版本。

Solaris 用户请注意:"ar" 命令通常位于 "/usr/ccs/bin" 中,而该目录不在默认的 PATH 中。你需要将其添加到你的路径中才能使用 "make" 命令,并且可能还需要切换到 GNU make(/usr/ccs/bin 中的 "make" 似乎无法正常工作——它显然不理解 .PHONY 指令)。如果你使用 ksh 或 bash,请使用以下命令进行构建:

root@kitploit:~
    PATH=/usr/ccs/bin:$PATH make

当将 Expat 用于使用 autoconf 进行配置的项目时,你可以使用 conftools/expat.m4 中的探测宏来确定如何包含 Expat。有关更多信息,请参阅该文件顶部的注释。

本发行版中提供了参考手册,位于 doc/reference.html 文件中。

本项目的首页是 http://www.libexpat.org/。那里有链接可以连接到错误报告页面。如果你需要报告错误但无法访问浏览器,你也可以通过电子邮件将错误报告发送至 [email protected]。

有关未来 expat 开发方向的讨论在 [email protected] 上进行。该列表和其他与 Expat 相关的列表的存档可以在以下位置找到:

root@kitploit:~
    http://mail.libexpat.org/mailman/listinfo
下载工具