J'ai détecté certains défauts sur les assemblées tiers héritées que nous utilisons sur notre code la décompiline. Je voudrais les réparer mais car je n'ai pas le code source, j'ai besoin de modifier directement le bytecode. Les modifications sont vraiment simples (changeant et pour une ou plusieurs lignes). P>
Y a-t-il un éditeur de faire ce genre de choses? Faire le travail avec un éditeur hexagonal serait la dernière option, je préférerais avoir un soupçon de quelles instructions que j'ai autour du curseur ... p>
4 Réponses :
Je suppose que les assemblages ne sont pas fortement nommés, sinon il n'y a rien que vous puissiez faire sans la clé de signature. P>
Si non, il ressemble à Une autre option libre pourrait être une autre option gratuite de Telerik's justdecompile , qui "peut créer un Projet Visual Studio à partir d'un assemblage décompilé. " EM> - Je ne l'ai pas utilisé, mais cela ressemble à des décompiles à la source et crée un projet prêt à enrayer. Ce serait super pratique puisque vous n'aurez même pas à travailler avec IL. P> il code> A> travaillerait pour vous. Vous pouvez décompiler les assemblages, effectuer des modifications et les assembler à nouveau avec
Ilasm code>
. p>
Pas du tout. Cela ne vous permet pas de modifier le bytecode. J'ai besoin de modifier le bytecode. Construire l'ensemble de l'assemblage n'est pas une option.
Étant donné que l'ensemble du code est "source obscurcée" et ne peut pas être compilé sans effort très élevé et parce que les décompileurs ne créent jamais de code qui peuvent être compilés à nouveau sans dédier de la durée élevée à cette tâche.
Si le code est démonté vers IL, il devrait être possible de le réaffecter à nouveau sans problème. Ce n'est pas la même chose que la décompilation, ce qui, comme vous le dites, n'est pas toujours capable de produire du code qui recompilera proprement.
@Somos ildasme code> suivi de
iLasm code> ne peut pas B> ometter pour travailler sur un ensemble géré. CIL est B> le "bytecode".
@Aakashm: Je veux éditer le bytecode d'une assemblée. CIL n'est pas le bytecode, 00 94 3e 34 2F est le bytecode.
Je pense que ce que vous cherchez est réflecteur .NET avec le Reflexil Add-on. Jetez un coup d'œil aux captures d'écran, c'est assez puissant et il peut modifier le code IL au moment de l'exécution. Le réflecteur utilisé pour être gratuit, vous pourrez peut-être obtenir une version plus ancienne quelque part. P>
Incroyable! C'est ce que je cherchais. A l'air incroyable et j'ai une vieille copie travaillant toujours. Merci!
Essayez un explorateur de montage simple, il vous permet d'éditer ByTecode et fonctionne par défaut plus de reflet de vie p>
https://sites.google.com/site/simpledotnet/simple- Assemblage-Explorer P>
dnspy code>
, vous permet de modifier le code IL et C #. Voir leur Captures d'écran . P>
Wow!! C'est parfait! Merci.
Cela m'a vraiment aidé merci! J'avais besoin de changer une application héritée que nous avons écrite il y a très longtemps qui a démontré une technologie que nous voulons intégrer dans de nouveaux produits. Et j'avais besoin d'un simple émetteur à l'ancienne application pour le faire fonctionner. Outil génial