ya intente con .NetReflactor pero como es una aplicacion de DirectX y solo dice "is not a .NET module." entonces no como resolver esto.
Si la aplicación
.Net Reflector te dice eso, entonces
NO es un ensamblado .Net.
Puedes utilizar la herramienta
PeId o también
TridNet para analizar el .exe y determinar el lenguaje (con un posible margen de error).
➢
PeId➢
TridNetNota: Preferiblemente deberías utilizar
TridNet si no dispones de una buena base de firmas personalizada para
PeId.
existe la manera de generar el seudocodigo que es diferente entre ellas?
¿Generar pseudo-codigo?, el pseudo-código es un concepto, no se le puede denominar "código" sino más bien una descripción del código, y como tal, el pseudo-codigo no se define por un estándar, cada uno tiene su forma de elaborar un pseudo-codigo, por todo ello dudo mucho que exista alguna herramienta (al menos gratuita) que se haya molestado en la ardua tarea de desarrollar un algoritmo de interpretación para traducir el código máquina, código byte, o código de lenguaje específico a código humano, cosa que se podría llevar a cabo, ¿pero para qué lo iba a hacer alguien?, si la idea de la programación es empezar con pseudo-codigo, y luego convertirlo a un lenguaje específico, no al revés.
Encontrar diferencias entre ejecutable compilado y código fuente modifica
Es imposible restaurar una copia 100% exacta del código fuente original que se usó para compilar un programa, ya que al compilar, se modifica (se añade y se descartan) muchas partes de esos códigos que nosotros escribimos,
por ende, no puedes realizar una comparación más o menos automatizada y coherente entre las diferencias de 2 aplicaciones si por un lado tienes el código fuente de una (el código del lenguaje específico), y por el otro lado tienes el binario de la otra aplicación,
lo que quiero decir es que deberías tener o bien 2 código fuentes sin compilar, o bien dos binarios compilados, y cómo no puedes obtener una copia 100% exacta del código fuente del programa que ya tienes compilado por el motivo que ya he explicado, lo que debes hacer es compilar el código fuente que tienes sin compilar, y posteriórmente descompilas o en su defecto desamblas los dos binarios, obteniendo así las instrucciones compiladas de ambos binarios si desamblas, que sería "el código fuente en su estado más puro", o la traducción a código específico de lenguaje si usas un descompilador (lo cual te sería muchísimo más facil de entender, analizar y comparar),
en fin, con lo que obtengas ya si que podrás realizar una comparación eficiente, analizando el código descompilado de cada aplicación.
No te recomiendo ninguna herramienta en concreto ya que, aparte de que no soy ningún experto en la ingeniería inversa, desconozco en que lenguaje han desarrollado la aplicación que intentas analizar, y para cada lenguaje hay descompiladores distintos, aunque una herramienta general para desamblar sería
IDA, y si la aplicación está desarrollada en C++ o Visual-C++ y dispones de la información de depuración, que es un archivo con extensión
.pdb (si no lo tienes, puedes intentar pedirle al autor del programa que contruya el archivo de depuración y lo comparta), entonces también podrás descompilar parcialmente con
IDA (pro), que ya sería algo muy positivo, por que de lo contrario, si no puedes descompilar, te resultará una pesadilla tener que comparar diferencias analizando las instrucciones/opcodes...
¿Cómo comparar las diferencias entre el código restaurado de ambas aplicaciones?, debes descompilar cada aplicación, y buscar el modo de exportar el material descompilado, es decir las classes, los archivos de texto plano, si es una buena herramienta de ingenieria inversa para la descompilación entonces seguro que permitirá una opción similar, sino ... busca una herramienta mejor; y si no puedes descompilar y en su defecto debes desamblar pues no sigas leyendo por que esto que voy a decir no te servirá...
en fin, una vez tengas los archivos descompilados de cada aplicación, comparas las diferencias entre cada archivo aplicando la técnica de comparación
Diff,
existen multitud de herramientas que utilizan dicha técnica, tanto aplicaciones de escritorio (ej:
Araxis Merge, la que yo uso) cómo servicios online (ej:
https://www.diffchecker.com/).➢
Araxis Merge➢
Comparison of file comparison toolsSaludos!