Programación comparar IL de los dos métodos
-
02-10-2019 - |
Pregunta
Tengo un ensamblado compilado. Quiero programación comparar el método de aplicación de uno de los métodos en que el montaje con algo de lo que esperaba.
¿Hay alguna manera de comparar sus líquidos iónicos? Incluso si puedo conseguir una representación matriz de bytes de cualquier conjunto de instrucciones, voy a estar en un lugar bueno.
Ayuda apreciada.
Solución
Se podría tratar de usar Reflexión y comparar la IL usando matrices de bytes.
Tome un vistazo a este método: http: //msdn.microsoft.com/en-us/library/system.reflection.methodbody.getilasbytearray.aspx
Otros consejos
Mono.Cecil podría ser un lugar bueno para comenzar. Cecil es una biblioteca usada para leer y modificar los conjuntos de CLR, y hará todo analizar el archivo para usted en cuanto a agarrar el código de bytes CIL.
Otra biblioteca potencial que podría ser capaz de utilizar se encuentra Boogie
Se puede volcar los montajes utilizando ildasm y Diff las dos versiones de esta manera:
ildasm /ALL /TEXT assembly1.dll > dump1.txt
ildasm /ALL /TEXT assembly2.dll > dump2.txt
fc dump1.txt dump2.txt
Puede utilizar ildasm.exe de un sistema de Visual Studio pronta y hacer algo como ildasm.exe nombre de DLL