Tout module WebAssembly a une frontière : des éléments qu'il importe de son environnement hôte, et des éléments qu'il exporte pour que l'hôte les appelle. C'est à cette frontière que se trouvent les questions intéressantes — de quoi ce module a-t-il réellement besoin pour fonctionner, et qu'expose-t-il ? Le Visualiseur d'Importations/Exportations WASM présente cette frontière clairement, entièrement dans votre navigateur.
Déposez un fichier .wasm et l'outil analyse ses sections d'importations et d'exportations avec le même analyseur précis à l'octet près utilisé dans nos outils WebAssembly, puis :
- Groupe les importations par espace de noms (
env,wasi_snapshot_preview1, un espace de code de liaison JS, etc.), en résolvant la signature réelle des paramètres/résultats de chaque fonction importée depuis la section de types du module. - Groupe les exportations par type (fonction, mémoire, table, globale), en résolvant les signatures des fonctions exportées de la même manière, en tenant correctement compte du fait que les fonctions importées occupent les index de fonction les plus bas.
- Affiche les deux côte à côte, importations à gauche et exportations à droite, pour voir tout le contrat hôte/module d'un coup d'œil.
Lorsque l'espace de noms et les noms de champs des importations donnent un signal réel et vérifiable, l'outil ajoute une note modeste basée sur des preuves — par exemple en reconnaissant wasi_snapshot_preview1 comme probablement une compilation ciblant WASI, ou un groupe d'importations emscripten_*/__cxa_* comme probablement le code de liaison du runtime C/C++ d'Emscripten. Ces notes montrent toujours les noms d'importation réels qui les ont produites et sont formulées comme "probablement", jamais comme une certitude — cet outil lit des données binaires réelles, il ne devine pas ce qu'il ne peut pas voir.
Utilisez-le pour comprendre de quoi dépend réellement un fichier .wasm tiers avant de l'exécuter, pour comparer la surface d'interaction avec l'hôte de deux compilations, pour repérer une surface d'importation inhabituellement grande, ou simplement pour apprendre comment un module WebAssembly communique avec son environnement.
Tiny Online Tools







