Saber que ejecutable o lenguaje es.

Iniciado por Meta, 9 Febrero 2011, 02:30 AM

0 Miembros y 1 Visitante están viendo este tema.

Edu

Creo q es el MSIL pero no se si tiene q ver

Sauruxum

Cita de: XXX-ZERO-XXX en  9 Febrero 2011, 21:32 PM
Creo q es el MSIL pero no se si tiene q ver

Aja, si me equivocaba xD

Si tiene que ver, ya que muchas funciones y operadores y todas esas cosas son comunes en los dos lenguajes, y al compilar te las transforma en eso que es comun, entonces no podras identificar con que lenguaje en especifico esta hecho a no se que quede algun tipo de registro especificamente. O que exista algo MUY especifico de cierto lenguaje, lo que dudo bastante.

Saludos

43H4FH44H45H4CH49H56H45H

Para saber en que lenguaje fue creado un programa en general se puede utilizar PEiD-0.95, RDG Packer Detector v0.6.6 y otros.
Los programas .NET (C# - VB) no son diferenciados, puesto que ni el mismo framework sabe en que lenguaje fue creado cuando los ejecuta.

Saluos!

-R IP
:0100
-A 100 
2826:0100 MOV AH,09
2826:0102 MOV DX,109
2826:0105 INT 21
2826:0105 MOV AH,08
2826:0105 INT 21
2826:0107 INT 20
2826:0109 DB 'MI NICK ES CODELIVE.$' 
2826:0127 
-R BX
:0000
-R CX
:20
-N CODELIVE.COM
-W

43H4FH44H45H4CH49H56H45H

Viendo un poco mas a fondo, si se puede saber en que lenguaje fue creado algún programa .NET (sea VB o C# que son los que probe) luego de desensamblarlo y generar un archivo .il el lenguaje puede ser identitficado, asi tb herramientas como reflector y similares pueden identificar lo mencionado.
Saluos.

-R IP
:0100
-A 100 
2826:0100 MOV AH,09
2826:0102 MOV DX,109
2826:0105 INT 21
2826:0105 MOV AH,08
2826:0105 INT 21
2826:0107 INT 20
2826:0109 DB 'MI NICK ES CODELIVE.$' 
2826:0127 
-R BX
:0000
-R CX
:20
-N CODELIVE.COM
-W

[D4N93R]

Sí como dice CodeLive,

La cosa es que en realidad el framework nunca sabe a partir de qué lenguaje se generó el IL, porque en realidad no le importa. Lo que le importa es que el IL sea correcto.

Pero, como cada compilador de cada lenguaje está hecho de forma totalmente independiente, pequeñas diferencias se pueden notar desde un IL que venga de C# a un IL que venga de VB.Net.

Un saludo.