Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: <<<-Basura->>> en 3 Junio 2011, 02:53 am



Título: Punteros
Publicado por: <<<-Basura->>> en 3 Junio 2011, 02:53 am
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


Título: Re: Punteros
Publicado por: Mr.Blue en 3 Junio 2011, 07:16 am
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 (http://docs.google.com/viewer?a=v&q=cache:YyokinwQPJoJ:elvex.ugr.es/decsai/c/apuntes/punteros.pdf+asignar+direccion+de+memoria+a+un+puntero&hl=es&pid=bl&srcid=ADGEEShqyNyoxa7K_CedDoCNQZfq6Olm-SmHN7VBSYZ9cRh3BR6BSZRbnggNhujRKicZODvwHFX3eRQ0Wk09BYq1ag-iPJNLmoM5fax0YNHlXGsRf6oaxouX4mhu9bNJapdsOYN1Wjpi&sig=AHIEtbS4qb3LTI4X_azuOEWmNoJCGV-KEQ)



Título: Re: Punteros
Publicado por: <<<-Basura->>> en 3 Junio 2011, 09:00 am
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


Título: Re: Punteros
Publicado por: Akai en 3 Junio 2011, 11:39 am
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.


Título: Re: Punteros
Publicado por: <<<-Basura->>> en 4 Junio 2011, 02:29 am
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


Título: Re: Punteros
Publicado por: <<<-Basura->>> en 4 Junio 2011, 23:35 pm
Sr.Blanco, ya vi tu link y lo que encontré fue como usar los punteros no lo que yo andaba buscando  :(


Título: Re: Punteros
Publicado por: x4cks en 6 Junio 2011, 01:57 am
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