Compilar en 32bits desde linux 64bits

Iniciado por xaps, 19 Febrero 2014, 11:09 AM

0 Miembros y 2 Visitantes están viendo este tema.

xaps

Buenos dias

Estoy programando un crackme sencillo para practicar ingenieria inversa, pero no consigo que se me compile correctamente en 32bits (Estoy usando un Linux 64bits). Compilo mediante g++ y usando la opción -m32 de la siguiente manera:

g++ -c -m32 crackme1.cpp
g++ -o crackme1.exe -m32 crackme1.o


El programa compila perfectamente y puedo ejecutarlo desde linux, pero cuando intento ejecutarlo desde un Windows 7 64bits o abrirlo con OllyDBG me dice que no es una aplicación de 32bits, sinó de 64. En Windows me sale un error también del estilo.

Ya he compilado antes en 32bits desde el mismo ordenador y sistema operativo y no he tenido problemas, así que no creo que sea tema de librerias o algo parecido :S

Os adjunto el código por si alguien se anima a intentar compilarlo bajo un sistema de 32 bits y a ver si alguien se le ocurre que puede estar pasando.

Código del crackme:
http://pastebin.com/hPSUHR4u

Gracias.
"The programmers of tomorrow are the wizards of the future" - Gave Newel

MeCraniDOS

Cita de: xaps en 19 Febrero 2014, 11:09 AM
Os adjunto el código por si alguien se anima a intentar compilarlo bajo un sistema de 32 bits y a ver si alguien se le ocurre que puede estar pasando.

A mi me compila perfecto con Code::Blocks  :rolleyes:

Windows XP x86




Saludos  :silbar:
"La física es el sistema operativo del Universo"
     -- Steven R Garman

xaps

#2
Cita de: MeCraniDOS en 20 Febrero 2014, 12:27 PM
A mi me compila perfecto con Code::Blocks  :rolleyes:
El problema no es que compile o no compile, el problema es que aunque active el flag para que se compile en 32bits, lo hace en 64bits.

Si lo has compilado en un sistema 32bits te agradeceria que me enviaras un enlace con el archivo, ya que me gustaria analizarlo con Ollydbg.

Gracias y saludos.
"The programmers of tomorrow are the wizards of the future" - Gave Newel

MeCraniDOS

Cita de: xaps en 21 Febrero 2014, 00:22 AM
Si lo has compilado en un sistema 32bits te agradeceria que me enviaras un enlace con el archivo, ya que me gustaria analizarlo con Ollydbg.

https://mega.co.nz/#!IR80GTzR!4w1tzCiYBuXj94xw8rCNU-RN0g7xCtcYpJtSd8W9y4c

Saludos  ;)
"La física es el sistema operativo del Universo"
     -- Steven R Garman

xaps

"The programmers of tomorrow are the wizards of the future" - Gave Newel

dmacias

No se si te entendi bien, pero creo que lo que buscas es esto

instalas
mingw-w64-gcc

y luego para compilar

i686-w64-mingw32-gcc

lo que seria un ejemplo real

i686-w64-mingw32-gcc prueba.c -o prueba.exe

Espero que fueras eso lo que buscabas :)

dmacias

No me fije k usas c++ en vez de c   :-X