Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Shop Recherche
1799 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#] Code décompilé ne recompile pas...

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C#] Code décompilé ne recompile pas...

n°2373744
Arjuna
Aircraft Ident.: F-MBSD
Posté le 12-01-2021 à 15:00:43  profilanswer
 

Bonjour,
 
Nous avons récupéré un client qui a un outil développé par un ancien prestataire, aujourd'hui disparu.
Ce programme fonctionnait bien... jusqu'à maintenant, et plante soudainement.
 
Pas de sources, ce serait trop beau. On n'a même pas de documentation, spécifications ni même cahier des charges... Juste "ah ben le bouton y marche plus".
 
Nous avons réussi à le décompiler avec Telerik Just Decompil mais le source produit contient des erreurs :
 
Lors de la désérialisation d'un objet (évidement casté en JSObject par le décompilateur) il tente d'accéder à un attribut de l'objet désérialisé inconnu.
Pourtant, aucune classe du projet n'expose un tel attribut.
 
Avez-vous une idée de comment cette classe aurait pu être produite pour qu'une fois décompilée, elle n'expose plus un attribut pourtant utilisé dans le code compilé ?
 
Avant d'utiliser Just Decompil j'avais tenté avec un autre outil qui faisait des erreurs de compil justement à cause d'attributs d'objets déclarés dans le JIT plutôt qu'à la compilation : le code était donc incomplet.
 
Quelqu'un aurait une idée pour y voir plus clair ?

mood
Publicité
Posté le 12-01-2021 à 15:00:43  profilanswer
 

n°2374032
johncob
Posté le 16-01-2021 à 15:29:16  profilanswer
 

Il faut faire des coupes (judicieuses) jusqu'à ce que ça compile, et reconstruire ce qui a été détruit.
La décompilation donne rarement de l'exploitable.

n°2374036
TotalRecal​l
Posté le 16-01-2021 à 16:28:25  profilanswer
 

Et un autre décompilateur genre dotPeek ? Ou Reflector ? Vu qu'il y en a plusieurs avant de désosser le truc à la main ça vaut le coup d'en essayer quelques uns, on ne sait jamais.
J'ai pas compris ton truc de JSObject, et sans avoir une seule ligne de code ni à quoi sert l'outil on risque de ne pas pouvoir aider beaucoup plus.


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2374046
Arjuna
Aircraft Ident.: F-MBSD
Posté le 16-01-2021 à 20:03:33  profilanswer
 

J'ai essayé aussi DotPeek et un collègue un autre.
 
Les deux se sont viandés comme des tanches avec des messages à propos de code intermédiaire compilé à la volé qu'ils n'arrivaient pas à décompiler.
 
J'imagine que le code original contient des "var" et autres joyeusetés... Il y a notamment des désérialisations d'objets JSON, j'imagine que le code d'origine utilise des typages dynamiques à foison.
 
Truc étrange, j'ai shooté simplement les deux attributs qui posaient problème, et ça a bien voulu compiler.
Donc avec un peu de chance, y'a pas trop de code perdu.
 
Reste plus qu'à tester avec le client et en mode pas à pas pour voir si ça fait à peu prêt pareil que le programme d'origine...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#] Code décompilé ne recompile pas...

 

Sujets relatifs
[resolut]passage d'un tableau de structure à une DLL Caide écriture code c++ recherche et cumul de nombres
[resolu] [C] [GCC] static volatile variable et warning (ou pas)Programme tri à bulle C++
un code php qui déconne (erreur bête surement )[KSH-88] récupérer le code retour d'un sous-shell
[C] Problème de pointeur[Python] Utilisation d'un code existant
Compter le nombre de caractères en C[xmlbean] Générer du code à partir d'une arborescence de schémas xsd
Plus de sujets relatifs à : [C#] Code décompilé ne recompile pas...


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR