elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Detectar si un archivo es executable...
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Detectar si un archivo es executable...  (Leído 2,886 veces)
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Detectar si un archivo es executable...
« en: 23 Julio 2016, 15:19 pm »

Hola

Tengo la siguiente duda que me ronda la cabeza...

¿Los primeros 2 bytes de un executable de 32 y 64 Bit siempre será el string "MZ" en UTF-8, SIN EXCEPCIÓN ALGUNA, ya esté desarrollado en C++, Delphi, .NET y etc., o ya sea un SFX (archivo autoextraible), un exe empacado/ofuscado/protegido o cualquier otro tipo de executable de la familia Windows?

En caso contrario, ¿cuales podrían ser las excepciones?

¡Gracias de antemano!

Saludos
« Última modificación: 23 Julio 2016, 15:54 pm por Eleкtro » En línea



MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.518


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Detectar si un archivo es executable...
« Respuesta #1 en: 23 Julio 2016, 17:16 pm »

Los ejecutables de 32 y 64 bits (.exe, .dll, .sys, etc) de los OS's modernos, comenzarán com "MZ" ya que son archivos PE ó PE+ (https://en.wikipedia.org/wiki/Portable_Executable)

Ahora, existen aún los ejecutables de 16 bits, los cuales son NE (https://en.wikipedia.org/wiki/New_Executable)

Cabe destacar que también están los LE (Linear Executables: http://fileformats.archiveteam.org/wiki/Linear_Executable) pero estos también comienzan con "MZ".

Ojo, para determinar si es un ejecutable, deberías colocar más checks aparte de que comience con "MZ" solamente. Por ej., podrías buscar el "PE" que está en el offset marcado por el campo e_Ifanew del MSDOS HEADER.

Saludos!

EDIT: Lo anterior es para Windows.
En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Detectar si un archivo es executable...
« Respuesta #2 en: 24 Julio 2016, 07:49 am »

Muchas gracias MCKSys Argentina

Iba a mencionar lo de los antiguos executables de 16 Bit pero me parecía inoportuno y no quería hacer más pesado de leer el mensaje xD. Eso sí, no tenía ni idea de que se le denominaba "New Executable", es interesante.

Saludos!
En línea



Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Detectar Archivo
Programación Visual Basic
XP. 6 2,196 Último mensaje 6 Abril 2006, 05:25 am
por XP.
Visual C# archivo executable
.NET (C#, VB.NET, ASP)
^^ÂnGeL^^ 1 2,375 Último mensaje 12 Marzo 2008, 01:16 am
por - Henry -
Detectar existencia de archivo
Programación Visual Basic
nahueld 9 3,272 Último mensaje 10 Septiembre 2008, 05:55 am
por nahueld
Detectar la extension del archivo?
Programación Visual Basic
demoniox12 6 4,812 Último mensaje 21 Mayo 2009, 17:14 pm
por Karcrack
[Bash] detectar tamaño de archivo base a archivo creado [DUDA]
Scripting
KZN 0 3,075 Último mensaje 26 Mayo 2015, 21:59 pm
por KZN
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines