Skip to content
KitploitKITPLOIT
ИнструментыБлог
Log in
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
expat_CVE-2024-28757 — Библиотека на C для потокового разбора XML с регистрацией обработчиков, поддержкой кодировок UTF-8/UTF-16 и системой сборки на основе autoconf. Включает инструмент xmlwf и справочное руководство. | Kitploit
Инструменты/GitHubGitHub/renukaselvar/expat_cve-2024-28757
Статический анализДинамический анализ (песочница)Анализ уязвимостейАнализ КодаЭксплуатацияФаззинг
GitHubrenukaselvar/expat_cve-2024-28757

expat_CVE-2024-28757

Библиотека на C для потокового разбора XML с регистрацией обработчиков, поддержкой кодировок UTF-8/UTF-16 и системой сборки на основе autoconf. Включает инструмент xmlwf и справочное руководство.

Репозиторий
262 лет назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Travis CI Build Status AppVeyor Build Status

Expat, версия 2.2.6

Это Expat — библиотека на языке C для разбора XML, созданная Джеймсом Кларком в 1997 году. Expat — это потоковый XML-парсер. Это означает, что вы регистрируете обработчики у парсера до начала разбора. Эти обработчики вызываются, когда парсер обнаруживает соответствующие структуры в разбираемом документе. Начальный тег — пример таких структур, для которых вы можете регистрировать обработчики.

Пользователям Windows следует использовать пакет expat_win32, который включает как предварительно скомпилированные библиотеки и исполняемые файлы, так и исходный код для разработчиков.

Expat — это свободное программное обеспечение. Вы можете копировать, распространять и изменять его в соответствии с условиями лицензии, содержащейся в файле COPYING, распространяемом с этим пакетом. Эта лицензия идентична лицензии MIT/X Consortium.

Если вы собираете Expat из копии, полученной из Git-репозитория, вам нужно запустить скрипт, который генерирует скрипт configure с помощью инструментов GNU autoconf и libtool. Для этого вам потребуется autoconf версии 2.58 или новее. Запустите скрипт следующим образом:

./buildconf.sh

После этого следуйте тем же инструкциям, что и для сборки из дистрибутива исходного кода.

Чтобы собрать Expat из дистрибутива исходного кода, сначала запустите скрипт настройки оболочки в корневом каталоге дистрибутива:

./configure

Существует множество опций, которые вы можете передать configure (их можно узнать, запустив configure с опцией --help). Но наиболее интересная из них — та, которая задаёт каталог установки. По умолчанию скрипт 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 с помощью:

./configure --prefix=/home/me/mystuff

Ещё одна интересная опция — включение поддержки 64-битных целых чисел для номеров строк и столбцов, а также общего байтового индекса:

./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
    Примечание: Для последнего требуется libc, скомпилированная с -fshort-wchar.

  4. Выполните make (который исключает xmlwf).

  5. Выполните make install (снова исключая xmlwf).

Поддерживается использование DESTDIR. Работает следующим образом:

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 в этом дистрибутиве.

Скачать инструмент