Tiny Online Tools logoTiny Online ToolssearchRechercher des outils…grid_viewTous les outils
Accueilchevron_rightOutils ingénierie inversechevron_rightDécompilateur WASMDécompilateur WASM

Décompilateur WASM

Convertissez un binaire WebAssembly en texte WAT lisible, avec un graphe d'appels par fonction, la forme du flux de contrôle et une estimation de la chaîne d'outils.

upload_file

Cliquez pour parcourir ou glissez-deposez des fichiers ici

Déposez un fichier .wasm pour le décompiler

Accepte : .wasm

Outils similaires

Visualiseur d'Importations/Exportations WASM

Visualiseur d'Importations/Exportations WASM

Découvrez ce qu'un module WebAssembly attend de son hôte et ce qu'il offre en retour, groupé par espace de noms, côte à côte.

Analyseur de Taille WASM

Analyseur de Taille WASM

Découvrez quelles fonctions et quels segments de données dominent la taille d'un module WebAssembly, avec une répartition exacte et triée et une carte proportionnelle visuelle.

Démangleur WASM

Démangleur WASM

Démanglez les noms de symboles Rust et C++ trouvés dans un binaire WebAssembly, un par un ou en masse sur tout un fichier.

Explorateur Binaire WASM

Explorateur Binaire WASM

Parcourez les sections, fonctions, importations, exportations, mémoires, tables et globales d'un module WebAssembly avec décalages et tailles exacts en octets.

Convertir un PDF en Niveaux de Gris

Convertir un PDF en Niveaux de Gris

Convertissez un PDF couleur en niveaux de gris en rendant chaque page puis en reconstruisant le document.

Inspecteur de Calques PDF

Inspecteur de Calques PDF

Inspectez et basculez les calques de contenu optionnel d'un PDF technique, repérez ceux qui ne s'impriment jamais et exportez une copie avec la visibilité actuelle.

Compresseur Draco et Meshopt

Compresseur Draco et Meshopt

Appliquez ou supprimez la compression de géométrie Draco et Meshopt sur vos fichiers GLB et GLTF, gratuitement et entièrement dans votre navigateur.

apps

Plus d'outils

Parcourez notre collection complète d'outils en ligne gratuits.

Un binaire .wasm n'est pas fait pour être lu directement, mais il peut être converti en WAT, le format texte lisible de WebAssembly, et analysé structurellement au-delà du simple flux d'instructions. Le Décompilateur WASM fait les deux, entièrement dans votre navigateur.

Soyons clairs sur ce que c'est et ce que ce n'est pas. Cet outil ne récupère pas le code source original en Rust, C ou C++ — cette information disparaît une fois que le compilateur produit le WASM. Ce qu'il récupère précisément :

  • Un désassemblage WAT complet, produit par wabt (le WebAssembly Binary Toolkit), avec les noms de débogage appliqués lorsque le module porte une section "name".
  • Un graphe d'appels, construit en parcourant le bytecode brut de chaque fonction à la recherche d'instructions call et call_indirect — pas deviné à partir du texte WAT. Un call_indirect montre quelle signature de type de fonction il cible, jamais une fonction concrète devinée, car la cible réelle n'est résolue qu'à l'exécution — c'est un fait structurel du code, pas une limitation de cet outil.
  • La forme du flux de contrôle par fonction : profondeur maximale d'imbrication block/loop/if, et le décompte de chacun, donnant une idée approximative de la complexité structurelle d'une fonction sans nécessiter un graphe de flux de contrôle complet.
  • Une estimation de la chaîne d'outils basée sur des preuves — "probablement Rust", "probablement Emscripten (C/C++)" ou "probablement AssemblyScript" — basée sur des preuves réelles et vérifiables : les préfixes de symboles manglés de Rust, les importations caractéristiques du runtime Emscripten (emscripten_*, __cxa_*, __wasm_call_ctors), ou les chaînes de chemin ~lib/ de la bibliothèque standard d'AssemblyScript trouvées dans les segments de données du module. L'outil montre toujours la preuve spécifique trouvée et formule le résultat comme "probablement" — jamais une certitude, jamais une supposition sans rien derrière.

Une fonction dont le bytecode utilise une instruction en dehors du jeu d'opcodes modélisé par l'outil (SIMD, atomiques, opérations de mémoire en masse) est marquée "désassemblage partiel" plutôt que silencieusement présentée comme complète — l'honnêteté sur les limites de l'analyse compte plus qu'un résultat propre.

Utile pour auditer la structure d'un module .wasm tiers, comprendre comment ses fonctions s'appellent entre elles, ou avoir une première lecture d'un binaire inconnu avant une analyse plus approfondie.