Bonjour,
j'ai une dll compilée avec Microsoft Visual C++ pour laquelle je n'ai pas la dernière version des sources mais la version n-1.
Je suis à la recherche d'un décompilateur qui ne renverrait pas de l'assembleur.
Merci par avance de votre aide
Bonjour,
j'ai une dll compilée avec Microsoft Visual C++ pour laquelle je n'ai pas la dernière version des sources mais la version n-1.
Je suis à la recherche d'un décompilateur qui ne renverrait pas de l'assembleur.
Merci par avance de votre aide
Si vous n'avez pas les fichiers PDB ou DBG ou SYS associés à la version courrente de la dll et que cette Dll ne contient pas d'information de Debugging, et bien bon courage.
Vous n'aurais jamais, dans le meilleur des cas, qu'une réinterprétation très très approximative de code source (exacte mais illisible, sauf code extrêmement simple donc simple aussi en assembleur).
P.S.: sauf si c'est du .NET et que le code est en C++/CLI pure.![]()
En fait le problème a été résolu en modifiant la DLL en l'ouvrant en via un éditeur héxadécimal
Le problème était donc très probablement dans les ressources de la dll et non dans le code.
Sinon, vous, ou vos collaborateurs, n' êtes pas humains.
P.S.: les éditeurs de ressources, c'est plus convivial qu'un éditeur hexadécimal.![]()
Exactement mais le souci c'est que si un jour nous souhaitons faire une modification de code nous n'en serons pas capable parce que oui nous sommes de pauvres humains....
Vous devez gérer le versionning des sources aussi bien que le versionning des composants binaires.
Vous devez pouvoir accéder aux sources d'un composant juste avec les fichiers pdb générés à la compilation.
M$ fourni une version allégée de ces pdb(dbg ou sym) pour toutes les versions des dll pour tous les OS qu'il a publié.
Vous n'aurais pas forcement accès au source mais les débuggeurs comme VS ou WinDbg pourrons vous présentez des données bien plus simple à lire que l'assembleur, comme le nom et la valeur des variables locales et des paramètres d'une fonction dans la stack d'appel.
Si la dll que vous utilisez est un composant tiers, qu'ils ne vous fournissent ni une version avec ces informations de debug ni des fichiers pdb : changez pour un fournisseur plus sérieux, pour de l'open source ou made-it-yourself.
Sans les sources (et les tests unitaires) le binaire n'est rien.
![]()
Partager