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

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

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

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

工具目录

分类

查看所有分类
Loading categories
external_expact_AOSP10_r33_CVE-2022-25313 — C 语言库,用于面向流的 XML 解析,提供用于解析文档中结构的处理程序。包含 xmlwf 工具并支持 UTF-16 编码。 | Kitploit
工具/GitHubGitHub/shaikusaf/external_expact_aosp10_r33_cve-2022-25313
静态分析漏洞分析代码分析漏洞利用二进制分析供应链安全
GitHubshaikusaf/external_expact_aosp10_r33_cve-2022-25313

external_expact_AOSP10_r33_CVE-2022-25313

C 语言库,用于面向流的 XML 解析,提供用于解析文档中结构的处理程序。包含 xmlwf 工具并支持 UTF-16 编码。

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

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

Travis CI Build Status AppVeyor Build Status

Expat,版本 2.2.6

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

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

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

如果你是从 Git 仓库 的检出版本构建 Expat, 你需要运行一个脚本来生成 configure 脚本,该脚本使用 GNU autoconf 和 libtool 工具。为此,你需要拥有 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 之后)。 请注意,我们使用 --without-xmlwf 进行配置,因为 xmlwf 尚不支持这种编译模式:

  1. 批量修补 Makefile.am 文件,将库名改为 libexpatw.la:
    find -name Makefile.am -exec sed -e 's,libexpat\.la,libexpatw.la,' -e 's,libexpat_la,libexpatw_la,' -i {} +

  2. 运行 automake 以重写 Makefile.in 文件:
    automake

  3. 对于 UTF-16 输出为 unsigned short(版本/错误字符串为 char), 运行:
    ./configure CPPFLAGS=-DXML_UNICODE --without-xmlwf
    对于 UTF-16 输出为 wchar_t(包括版本/错误字符串),运行:
    ./configure CFLAGS="-g -O2 -fshort-wchar" CPPFLAGS=-DXML_UNICODE_WCHAR_T --without-xmlwf
    注意:后者还需要使用 -fshort-wchar 编译的 libc。

  4. 运行 make(其中不包括 xmlwf)。

  5. 运行 make install(同样不包括 xmlwf)。

支持使用 DESTDIR。其工作方式如下:

root@kitploit:~
make install DESTDIR=/path/to/image

这会覆盖 makefile 中设置的 DESTDIR,因为变量设置的优先级是

  1. 命令行
  2. makefile 内
  3. 环境变量

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

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

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

下载工具