Inspector de WebAssembly
WebAssembly Inspector
Enumera las importaciones, exportaciones, memoria y tamaños de sección de un módulo .wasm e imprime su formato de texto.
Abre un archivo `.wasm` y muestra lo que hay dentro: las secciones y sus tamaños, cada importación y exportación, las declaraciones de memoria y de tabla, y los nombres de función de la sección de nombres si el build los conservó. El módulo se analiza, nunca se instancia ni se ejecuta.
Suelta un módulo .wasm
Se analiza en esta pestaña: el módulo se inspecciona, nunca se instancia ni se ejecuta.
WebAssembly.validate del navegador. Los cuerpos de función se miden, no se desensamblan: esto muestra lo que un módulo declara y lo que toca, no una conversión completa al formato de texto.Cómo se usa
Suelta el módulo
Cualquier archivo `.wasm`. Se lee en esta pestaña y se contrasta con el propio `WebAssembly.validate` del navegador, así que tienes una segunda opinión sobre si está bien formado.
Mira primero las secciones
La tabla de tamaños es la forma más rápida de ver adónde fueron los bytes: una sección de datos grande significa recursos incrustados, una sección personalizada grande suele ser nombres de depuración o DWARF.
Lee las importaciones
Las importaciones son todo el contrato del módulo con el anfitrión: cada función que puede llamar y cada memoria que comparte. Si estás auditando un módulo que no construiste, esta es la lista que importa.
Preguntas frecuentes
¿Puedo ver el código en sí?
No. Los cuerpos de las funciones se miden, no se desensamblan: esto informa de lo que un módulo declara y toca en lugar de convertirlo al formato de texto. `wasm2wat` del kit WABT es la herramienta para un desensamblado completo.
¿Por qué faltan los nombres de las funciones?
Porque el build eliminó la sección personalizada de nombres, que es lo que hace normalmente un build de release. Las exportaciones conservan sus nombres de todos modos —son parte de la interfaz del módulo—, así que una función exportada sigue siendo identificable.
¿Un módulo con importaciones es peligroso?
No en sí mismo: WebAssembly solo puede alcanzar lo que el anfitrión le entrega, y un módulo sin importaciones no puede tocar el mundo exterior en absoluto. Lo que nombran las importaciones es exactamente lo que puede hacer, y por eso merece leerlas antes de instanciar algo.
La validación del motor dice inválido pero se analizó.
Comprueban cosas distintas. El análisis lee la estructura; `WebAssembly.validate` además comprueba los tipos de cada cuerpo de función. Un módulo puede tener una disposición de secciones perfectamente legible y aun así ser rechazado: un archivo truncado o un paso de posprocesado que reescribió bytes que no debía.
Puede recibir de
Visor hexadecimal
Hex Viewer
Muestra cualquier archivo como volcado de desplazamiento, hexadecimal y ASCII, identifica los bytes mágicos y resalta las coincidencias de búsqueda.
Codificador y decodificador Base64
Base64 Encoder & Decoder
Codifica y decodifica Base64 y Base64URL, para texto o archivos, tratando UTF-8 correctamente.
Generador de pares de claves
Key Pair Generator
Genera pares de claves RSA, ECDSA o Ed25519 y los exporta en PEM, JWK o OpenSSH.
Generador de claves SSH
SSH Key Generator
Genera un par de claves OpenSSH con comentario y muestra su huella digital. La clave privada sale sin frase de contraseña: si la quieres, ponla tú con ssh-keygen -p.
Después
Estas aceptan lo que produce esta herramienta, así que el resultado puede pasar directamente.
Explorador de capas de imágenes Docker
Docker Image Explorer
Abre el tarball exportado de una imagen y muestra el comando, el tamaño y los archivos añadidos o borrados en cada capa.
Visor hexadecimal
Hex Viewer
Muestra cualquier archivo como volcado de desplazamiento, hexadecimal y ASCII, identifica los bytes mágicos y resalta las coincidencias de búsqueda.
Formateador y minificador de JavaScript
JavaScript Beautifier & Minifier
Quita comentarios y espacios de JavaScript o TypeScript sin renombrar nada, y vuelve a indentar un paquete minificado para poder leerlo.
Codificador y decodificador Base64
Base64 Encoder & Decoder
Codifica y decodifica Base64 y Base64URL, para texto o archivos, tratando UTF-8 correctamente.
curl a código
curl to Code
Convierte un comando curl en fetch, axios, requests de Python, Go, PHP o PowerShell.
Hash de un texto
Text Hash
Calcula MD5, SHA-1, SHA-256, SHA-384, SHA-512 y CRC-32 de una cadena, con salida opcional en mayúsculas o en Base64.