J'ai un ancien DLL qui a cessé de fonctionner (log2vis.dll) et je veux regarder à l'intérieur pour voir quels objets il utilise.
Le DLL a été écrit en C++ (pas .NET). Existe-t-il un outil qui décompilera/désassemblera les fichiers C++?
Cela pourrait être impossible ou du moins très difficile. Le contenu de la DLL ne dépend pas (beaucoup) de son écriture en C++; c'est tout le code machine. Ce code a peut-être été optimisé, de sorte que de nombreuses informations présentes dans le code source d'origine ont tout simplement disparu.
Cela dit, ici est un article qui passe en revue de nombreuses informations à ce sujet.
Je pense qu'un C++ DLL est un fichier de code machine. Par conséquent, la décompilation ne produira que du code assembleur. Si vous pouvez lire cela et créer C++ à partir de cela, vous êtes prêt à partir.
Je ne connais aucun décompilateur. W32dasm est un bon désassembleur Win32.
Il n'y a vraiment aucun moyen de le faire car la plupart des informations utiles sont rejetées dans le processus de compilation. Cependant, vous voudrez peut-être jeter un œil à ce site pour voir si vous pouvez trouver un moyen d'extraire quelque chose de la DLL.
Le plus proche que vous aurez jamais pour faire une telle chose est un dissasembler, ou des informations de débogage (Log2Vis.pdb).