2012-04-27 5 views
6

Ho rilevato alcuni difetti sugli assemblaggi di terze parti legacy che stiamo usando sul nostro codice decompilerli. Mi piacerebbe risolverli ma, poiché non ho il codice sorgente, ho bisogno di modificare direttamente il bytecode. Le modifiche sono davvero semplici (cambiando un AND per un OR e il NOP di alcune linee).Esiste un editor IL per modificare il bytecode di un assieme?

C'è un editore per fare questo genere di cose? Fare il lavoro con un editor esadecimale sarebbe l'ultima opzione, preferirei avere un suggerimento su quali istruzioni ho intorno al cursore ...

risposta

4

Penso che quello che stai cercando è .NET Reflector con il componente aggiuntivo Reflexil. Dai un'occhiata agli screenshot, è piuttosto potente e può modificare il codice IL in fase di esecuzione. Reflector era gratuito, potresti essere in grado di ottenere qualche versione precedente da qualche parte.

+0

Incredibile! Questo è quello che stavo cercando. Sembra incredibile e ho una vecchia copia ancora funzionante. Grazie! –

3

Sto assumendo che gli assembly non abbiano un nome sicuro perché altrimenti non c'è niente che tu possa fare a meno della chiave di firma.

In caso contrario, sembra che Ildasm funzioni per voi. È possibile decompilare gli assiemi, eseguire modifiche e assemblarli nuovamente con Ilasm.

Un'altra opzione gratuita potrebbe essere Telerak JustDecompile, che "può creare un progetto di Visual Studio da un assembly decompilato." - Non l'ho usato, ma sembra che decompila all'origine e crea un progetto pronto per la costruzione. Sarebbe super conveniente dato che non dovrai nemmeno lavorare con IL.

+1

Niente affatto. Non ti permette di modificare il bytecode. Devo modificare il bytecode. Costruire l'intero assemblaggio non è un'opzione. –

+0

Perché non è un'opzione? – Iridium

+0

Poiché l'intero codice è "sorgente offuscato" e non può essere compilato senza uno sforzo veramente alto e perché i decompilatori non creano mai un codice che può essere compilato di nuovo senza dedicare molto tempo a tale attività. –

Problemi correlati