elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 08:35  


Tema destacado: Suscripción al boletín mensual de elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (Moderador: [D4N93R])
| | | |-+  Saber que ejecutable o lenguaje es.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Saber que ejecutable o lenguaje es.  (Leído 2,453 veces)
Meta


Desconectado Desconectado

Mensajes: 2.304



Ver Perfil WWW
Saber que ejecutable o lenguaje es.
« en: 9 Febrero 2011, 02:30 »

Hola:

Haciendo un ejemplo tonto cualquiera sea con el VB .net o el C# 2010 Express. Creo un botón con un mensaje. Dentro del Form agrego un label y un botón que al pulsarlo muestre Hola mundo por poner un ejemplo sencillo.

¿Hay alguna forma de examinar con cual lenguaje se ha programado ese ejecutable .exe?

Se que puedo cambiar los textos con un editor hexadecimal, también puedo cambiar la versión y nombre de los botones y versiones del programa, cosas así. No se si habrá programa ya hechos para modificar o entender que se ha hecho con ese .exe o al menos hacer un programa nosotros mismo muy sencillo para detectar abrir un .exe y que sepa de qué lenguaje es, otro ejemplo, poner una imagen en el centro de un form1, cosas así.

¿Es posible?

Saludo.


En línea

Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/
Edu


Desconectado Desconectado

Mensajes: 1.082


Ex XXX-ZERO-XXX


Ver Perfil
Re: Saber que ejecutable o lenguaje es.
« Respuesta #1 en: 9 Febrero 2011, 02:41 »

Descompilar decis vs, no se puede pero depende la interfaz grafica te podes dar cuenta a veces de q lenguaje usaron.


En línea
seba123neo


Desconectado Desconectado

Mensajes: 3.214



Ver Perfil WWW
Re: Saber que ejecutable o lenguaje es.
« Respuesta #2 en: 9 Febrero 2011, 02:52 »

con el nombre de clases de las ventanas y el Spy++ o cualquier otro visor de ventanas.
En línea

Mucha gente, especialmente la ignorante desea castigarte por decir la verdad, por ser correcto, por ser tú. Nunca te disculpes por ser correcto, o por estar años delante de tu tiempo.
Si estas en lo cierto, y lo sabes, que hable tu razón. Incluso si eres una minoria de uno solo, la verdad sigue siendo la verdad. M. Gandhi
Meta


Desconectado Desconectado

Mensajes: 2.304



Ver Perfil WWW
Re: Saber que ejecutable o lenguaje es.
« Respuesta #3 en: 9 Febrero 2011, 09:58 »

Supogamos que está hecho con C#. ¿Cómo lo puedo saber? Puede estar hecho con C++ o el VB .net.
En línea

Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/
.:Weeds:.

Desconectado Desconectado

Mensajes: 77



Ver Perfil
Re: Saber que ejecutable o lenguaje es.
« Respuesta #4 en: 9 Febrero 2011, 13:58 »

"CREO" que cuando se programa algo en vb.net, el compilador lo pasa a C#, muchos de mis programas en vb.net cuando los descompilo me los muestra en C#, asi que es un poco dificil saberlo, no estoy seguro de lo que digo tampoco xD
Saludos.
En línea


Edu


Desconectado Desconectado

Mensajes: 1.082


Ex XXX-ZERO-XXX


Ver Perfil
Re: Saber que ejecutable o lenguaje es.
« Respuesta #5 en: 9 Febrero 2011, 15:10 »

Como lo descompilas? xD
En línea
Meta


Desconectado Desconectado

Mensajes: 2.304



Ver Perfil WWW
Re: Saber que ejecutable o lenguaje es.
« Respuesta #6 en: 9 Febrero 2011, 15:48 »

Parece lo descompila con esto.

http://www.red-gate.com/products/dotnet-development/reflector/

http://msdn.microsoft.com/es-es/magazine/cc300497%28en-us%29.aspx

No creo que de VB net lo pase a C# ni loco.
En línea

Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/
SnakingMax

Desconectado Desconectado

Mensajes: 167



Ver Perfil WWW
Re: Saber que ejecutable o lenguaje es.
« Respuesta #7 en: 9 Febrero 2011, 16:18 »

Te puedes dar cuenta si con el editor hexadecimal abres el ejecutable y hay llamadas a librerias propias de un lenguaje por ejemplo.
En línea

Meta


Desconectado Desconectado

Mensajes: 2.304



Ver Perfil WWW
Re: Saber que ejecutable o lenguaje es.
« Respuesta #8 en: 9 Febrero 2011, 20:33 »

Lo que te refieres es el .net. Son las mismas en C# y VB .net.
En línea

Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/
Sauruxum

Desconectado Desconectado

Mensajes: 116


Ver Perfil WWW
Re: Saber que ejecutable o lenguaje es.
« Respuesta #9 en: 9 Febrero 2011, 21:27 »

"CREO" que cuando se programa algo en vb.net, el compilador lo pasa a C#, muchos de mis programas en vb.net cuando los descompilo me los muestra en C#, asi que es un poco dificil saberlo, no estoy seguro de lo que digo tampoco xD
Saludos.

Si no me equivoco, la cosa es que en .NET que trabaja con distintos lenguajes transforma el codigo que escribes en un cierto lenguajes a una especie de assembler que creo que se llama CLR ( common runtime language ), por lo que no podras saber viendo directamente los binarios si ha sido escrito en C# o VB.NET

Pero creo que esto podria traer ventajas en la decompilacion.

Saludos
En línea
Edu


Desconectado Desconectado

Mensajes: 1.082


Ex XXX-ZERO-XXX


Ver Perfil
Re: Saber que ejecutable o lenguaje es.
« Respuesta #10 en: 9 Febrero 2011, 21:32 »

Creo q es el MSIL pero no se si tiene q ver
En línea
Sauruxum

Desconectado Desconectado

Mensajes: 116


Ver Perfil WWW
Re: Saber que ejecutable o lenguaje es.
« Respuesta #11 en: 9 Febrero 2011, 21:37 »

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
En línea
43H4FH44H45H4CH49H56H45H
Wiki

Desconectado Desconectado

Mensajes: 483



Ver Perfil
Re: Saber que ejecutable o lenguaje es.
« Respuesta #12 en: 10 Febrero 2011, 09:26 »

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!
En línea


-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
Wiki

Desconectado Desconectado

Mensajes: 483



Ver Perfil
Re: Saber que ejecutable o lenguaje es.
« Respuesta #13 en: 13 Febrero 2011, 00:08 »

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.
En línea


-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]
Moderador
***
Desconectado Desconectado

Mensajes: 1.647


My software never has bugs. Its just features!


Ver Perfil WWW
Re: Saber que ejecutable o lenguaje es.
« Respuesta #14 en: 15 Febrero 2011, 21:13 »

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.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines