Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
tinyxml — TinyXML 2.6.2 con correcciones para CVE-2021-42260 y CVE-2023-34194 | Kitploit
Herramientas/GitHubGitHub/vm2mv/tinyxml
Utilidades de Propósito GeneralAnálisis EstáticoAnálisis de CódigoUtilidades y Frameworks
GitHubvm2mv/tinyxml

tinyxml

TinyXML 2.6.2 con correcciones para CVE-2021-42260 y CVE-2023-34194

Ver Repositorio
116hace 1 añoAún no revisado
Sitio web

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

/** @mainpage

TinyXML

TinyXML es un analizador XML simple, pequeño y en C++ que se puede integrar fácilmente en otros programas.

Qué hace.

En resumen, TinyXML analiza un documento XML y construye a partir de él un Modelo de Objetos de Documento (DOM) que se puede leer, modificar y guardar.

XML significa "eXtensible Markup Language" (Lenguaje de Marcado Extensible). Te permite crear tus propios marcados de documentos. Mientras que HTML hace un muy buen trabajo marcando documentos para navegadores, XML te permite definir cualquier tipo de marcado de documento, por ejemplo un documento que describa una lista de "tareas pendientes" para una aplicación organizadora. XML es un formato muy estructurado y conveniente. Todos esos formatos de archivo aleatorios creados para almacenar datos de aplicaciones pueden ser reemplazados por XML. Un analizador para todo.

El mejor lugar para la especificación completa, correcta y, francamente, difícil de leer está en http://www.w3.org/TR/2004/REC-xml-20040204/. Una introducción a XML (que realmente me gusta) se puede encontrar en http://skew.org/xml/tutorial.

Hay diferentes formas de acceder e interactuar con datos XML. TinyXML utiliza un Modelo de Objetos de Documento (DOM), lo que significa que los datos XML se analizan en objetos C++ que se pueden explorar y manipular, y luego escribirlos en disco o en otro flujo de salida. También puedes construir un documento XML desde cero con objetos C++ y escribirlo en disco o en otro flujo de salida.

TinyXML está diseñado para ser fácil y rápido de aprender. Son dos archivos de encabezado y cuatro archivos cpp. Simplemente añádelos a tu proyecto y listo. Hay un archivo de ejemplo - xmltest.cpp - para que empieces.

TinyXML se distribuye bajo la licencia ZLib, por lo que puedes usarlo en código abierto o comercial. Los detalles de la licencia están en la parte superior de cada archivo fuente.

TinyXML intenta ser un analizador flexible, pero con una salida XML verdaderamente correcta y conforme. TinyXML debería compilarse en cualquier sistema razonablemente conforme a C++. No depende de excepciones ni RTTI. Se puede compilar con o sin soporte STL. TinyXML soporta completamente la codificación UTF-8 y las primeras 64k entidades de caracteres.

Lo que no hace.

TinyXML no analiza ni usa DTDs (Definiciones de Tipo de Documento) ni XSLs (Lenguaje de Hojas de Estilo Extensibles). Hay otros analizadores disponibles (consulta www.sourceforge.org, busca XML) que tienen muchas más funcionalidades. Pero también son mucho más grandes, tardan más en configurarse en tu proyecto, tienen una curva de aprendizaje más alta y a menudo tienen una licencia más restrictiva. Si trabajas con navegadores o tienes necesidades XML más completas, TinyXML no es el analizador para ti.

La siguiente sintaxis DTD no se analizará en este momento en TinyXML:

@verbatim ]> @endverbatim

porque TinyXML ve esto como un nodo !DOCTYPE con un nodo !ELEMENT incrustado ilegalmente. Esto puede abordarse en el futuro.

Tutoriales.

Para los impacientes, aquí hay un tutorial para empezar. Una excelente manera de comenzar, pero vale la pena leer este manual (muy corto) completamente.

  • @subpage tutorial0

Estado del Código.

TinyXML es un código maduro y probado. Es muy estable. Si encuentras errores, por favor reporta un informe de error en el sitio web de sourceforge (www.sourceforge.net/projects/tinyxml). Los solucionaremos lo antes posible.

Hay algunas áreas de mejora; por favor revisa sourceforge si estás interesado en trabajar en TinyXML.

Proyectos Relacionados

¡Proyectos TinyXML que pueden resultarte útiles! (Descripciones proporcionadas por los proyectos.)

  • TinyXPath (http://tinyxpath.sourceforge.net). TinyXPath es un decodificador de sintaxis XPath de pequeña huella, escrito en C++.
  • TinyXML++ (http://code.google.com/p/ticpp/). TinyXML++ es una interfaz completamente nueva para TinyXML que utiliza MUCHAS de las fortalezas de C++. Plantillas, excepciones y un manejo de errores mucho mejor.

Características

Uso de STL

TinyXML se puede compilar para usar o no STL. Cuando se usa STL, TinyXML utiliza la clase std::string y soporta completamente std::istream, std::ostream, operator<< y operator>>. Muchos métodos de la API tienen ambas formas 'const char*' y 'const std::string&'.

Cuando el soporte STL se compila fuera, no se incluyen archivos STL en absoluto. Todas las clases de cadenas son implementadas por TinyXML mismo. Todos los métodos de la API usan la forma 'const char*' para entrada.

Usa la directiva de compilación #define:

TIXML_USE_STL

para compilar una versión u otra. Esto se puede pasar al compilador o establecer como la primera línea de "tinyxml.h".

Nota: Si compilas el código de prueba en Linux, configurar la variable de entorno TINYXML_USE_STL=YES/NO controlará la compilación STL. En el archivo de proyecto de Windows, se proporcionan objetivos STL y no STL. En tu proyecto, probablemente sea más fácil agregar la línea "#define TIXML_USE_STL" como la primera línea de tinyxml.h.

UTF-8

TinyXML soporta UTF-8 permitiendo manipular archivos XML en cualquier idioma. TinyXML también soporta el "modo heredado" - la codificación utilizada antes del soporte UTF-8 y probablemente mejor descrita como "ascii extendido".

Normalmente, TinyXML intentará detectar la codificación correcta y usarla. Sin embargo, al establecer el valor de TIXML_DEFAULT_ENCODING en el archivo de encabezado, se puede forzar a TinyXML a usar siempre una codificación.

TinyXML asumirá el Modo Heredado hasta que ocurra una de las siguientes condiciones:

  1. Si los no estándar pero comunes "bytes de inicio UTF-8" (0xef 0xbb 0xbf) comienzan el archivo o flujo de datos, TinyXML lo leerá como UTF-8.
  2. Si se lee la etiqueta de declaración y tiene encoding="UTF-8", entonces TinyXML lo leerá como UTF-8.
  3. Si se lee la etiqueta de declaración y no tiene especificada ninguna codificación, entonces TinyXML lo leerá como UTF-8.
  4. Si se lee la etiqueta de declaración y tiene encoding="algo más", entonces TinyXML lo leerá como Modo Heredado. En modo heredado, TinyXML funcionará como antes. No está claro qué hace exactamente ese modo, pero el contenido antiguo debería seguir funcionando.
  5. Hasta que se cumpla uno de los criterios anteriores, TinyXML se ejecuta en Modo Heredado.

¿Qué sucede si la codificación se establece o detecta incorrectamente? TinyXML intentará leer y pasar texto visto como incorrectamente codificado. Puedes obtener algunos resultados extraños o caracteres distorsionados. Quizás quieras forzar a TinyXML al modo correcto.

Puedes forzar a TinyXML al Modo Heredado usando LoadFile( TIXML_ENCODING_LEGACY ) o LoadFile( filename, TIXML_ENCODING_LEGACY ). Puedes forzarlo a usar el modo heredado todo el tiempo estableciendo TIXML_DEFAULT_ENCODING = TIXML_ENCODING_LEGACY. Del mismo modo, puedes forzarlo a TIXML_ENCODING_UTF8 con la misma técnica.

Para usuarios de inglés, usando XML en inglés, UTF-8 es lo mismo que ASCII bajo. No necesitas estar al tanto de UTF-8 ni cambiar tu código de ninguna manera. Puedes pensar en UTF-8 como un "supraconjunto" de ASCII.

UTF-8 no es un formato de doble byte, ¡pero es una codificación estándar de Unicode! TinyXML no usa ni soporta directamente wchar, TCHAR o _UNICODE de Microsoft en este momento. Es común ver que el término "Unicode" se refiere incorrectamente a UTF-16, una codificación de ancho de byte de Unicode. Esto es una fuente de confusión.

Descargar herramienta