Punteros

Iniciado por <<<-Basura->>>, 3 Junio 2011, 02:53 AM

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

<<<-Basura->>>

Hola tenia una duda muy grande y quería saber si yo puedo asignarle la dirección de memoria manual mente a un puntero
digamos

int *p;
p = 0xbfaf99e0

por ejemplo
Estuve buscando por san google y la verdad no encuentro nada jejej... si alguien sabe como hacerlo dígame jeje
<<<--Basura-->>>

Mr.Blue

si se puede, pero no se si podes ocacionar un problema, ya que ese lugar de memoria al que te referis, capas esta siendo usado por la maquina.

encontre esto.
Link


<<<-Basura->>>

Si estuve estudiando el tema, si hay campos de memoria donde se almacenan los datos de arranque y demás cosas que usa el SO para correr, pero también hay lugares libres y cosas por el estilo jeje

pero lo que quiero saber es como hacerlo si alguien sabe jeje explíqueme ... voy a revisar tu link
<<<--Basura-->>>

Akai

Apuntar a una dirección de memoria así al tuntun tal como lo haces tu, lo más probable (99.9%) es que te produzca una violación de segmento dada la naturaleza de la memoria a la que vayas a acceder, es decir, tuya NO. Y por tanto, el sistema operativo cuando hagas algo así te cortará la cabeza.

En el 0.1 % restante, tocarás memoria tuya, y dios sabe qué pasará. Por lo pronto, si la dirección no es múltiplo de 4 y lo tuyo es puntero a entero, has muerto.

<<<-Basura->>>

Si ya se las contras de hacer esto, pero lo que estoy preguntando si hay alguna forma de hacerlo y si la hay quiero saber cual es??
Encontré una pero es algo complicada la estoy implementado
<<<--Basura-->>>

<<<-Basura->>>

Sr.Blanco, ya vi tu link y lo que encontré fue como usar los punteros no lo que yo andaba buscando  :(
<<<--Basura-->>>

x4cks

#6
Akai , salta una violacion del segmento porque el kernel tiene protecciones.

piensa un poco , como se podria hacer eso es imposible , entonces podrias burlar el kernel facilmente hacer lo que se te cante el kernel tiene protecciones seria muy facil entonces crackear programas.
No problem friend , yo ants queria hacer lo mismo pero el kernel tiene proteciones , quiza con esto entiendas mejor http://en.wikipedia.org/wiki/Buffer_overflow
en todo caso podrias compilar sin las proteccions del kernel.


Saludos