Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Identificando tipos de compiladores en ejecutables

  • 2 Respuestas
  • 4126 Vistas

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

Desconectado arphanetx

  • *
  • Underc0der
  • Mensajes: 1
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« en: Mayo 18, 2017, 07:29:38 pm »

Pues aqui va mi primer post....

Comenzare por explicar a grandes rasgos que es lo que pasa cuando se compila código de cualquier lenguaje para generar un ejecutable:

Cuando compilamos un código en algún lenguaje que nos permite entregar un ejecutable, lo que hace el lenguaje de programación es que mide y asigna los recursos necesarios para la ejecución de lo que has programado, lo guarda todo y lo empaqueta, de forma tal que si tu al programar usaste 7 librerías, son las mismas que mete o hace referencia para poder ejecutar tu programa.

Un ejemplo burdo seria, construir una silla de madera y pedirle al carpintero que la hizo que por favor te mande todas las piezas y herramientas necesarias para volverla a armar, todo en una caja y lo que hará este carpintero es meter en la caja, la madera cortada con las instrucciones para armar, los tornillos, desarmadores, martillos y pegamento y mas herramientas que haya usado para el armado de la silla y es lo que te llega para que tu en tu casa puedas armar la silla.

Como podras imaginar, usualmente todos tenemos casi las mismas herramientas, como desarmadores planos y de cruz, así como martillo y pinzas.

Pero para algunos muebles u otros objetos es necesario cosas mas especificas como desarmadores de punta de estrella ( para abrir una laptop ) o martillos de goma para poder golpear objetos sin dejar marca.

y eso mismo pasa con los sistemas operativos, la mayoría conocen las librerías de C, pero en linux tienen librerías que en windows son de otra forma y en mac son de otra. pero todos son C.

En este post por el momento solo explicare como con unas pocas herramientas podemos identificar los compiladores usados para ejecutables ( .exe )  y obtener un poco mas de información del mismo programa, tal vez como nombre original o fecha de creación, version de sistema operativo para la que se hizo, arquitectura, etc.

Nota: Recomiendo para el análisis de cualquier programa, no hacerlo en la plataforma para la que esta hecha, por que? para que no ejecutes por error el programa y si es malware o algo malicioso te infectes o causes daño a tu maquina y lo mas importante UTILIZA MAQUINAS VIRTUALES.


Herramientas en Windows:

PEiD: Herramientas para identificar que tipo de lenguaje fue usado, el Entrypoint, EP Section, File Offset, Información del Linker ( la parte del compilador que une todo ).


Eceinfo PE: Esta herramienta, trae ya inclusive la identificación de mas archivos dentro del mismo ejecutable, que es común en malware, siendo capaz de extraer estas partes y guardarlas. también da la misma información que PEiD.

RDG Packer Detector: esta herramienta mas especializada para identificar aparte de en que lenguaje esta hecho, con que otro programa para comprimir o cifrar el código  ( llamado packers )


Herramientas de linea de comando para linux

Exiftool : herramienta para leer metadatos de cualquier archivo, que en cualquier caso te da detalles de que en sistema operativo fue hecho, a que hora, con que programa. Muy util no solo para análisis de malware

file: comando de linux que te dice el contenido del archivo, lo que hace es que lee los headers del archivo y estos usualmente identifican que formato es. Ver Magic Numbers Files para mas información.

strings -a : este archivo con el parámetro -a, te dira todas las lianas que encuentre en el ejecutable que le digas y si no viene con algún packer ( ver packers ) te dará información como mas archivos dentro, formatos y posibles dlls o archivos que contenga.

Si necesitan ayuda con alguna de las herramientas con gusto contesto en este mismo post.

Saludos.
« Última modificación: Mayo 19, 2017, 12:01:49 am por Gabriela »

Desconectado d3mVs

  • *
  • Underc0der
  • Mensajes: 19
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #1 en: Junio 11, 2017, 08:23:57 am »
Mola, alguna de esas herramientas no las conocía.

Desconectado zoro248

  • *
  • Underc0der
  • Mensajes: 242
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« Respuesta #2 en: Junio 13, 2017, 04:09:16 pm »
Buen post, me estoy entrando en este mundo del Reversing

 

¿Te gustó el post? COMPARTILO!



Modificando el funcionamiento de ejecutables

Iniciado por andergedon

Respuestas: 2
Vistas: 2989
Último mensaje Febrero 08, 2018, 02:43:52 pm
por andergedon