elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Apuntadores, Apuntar a un espacio de memoria especifico
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Apuntadores, Apuntar a un espacio de memoria especifico  (Leído 5,198 veces)
cyberserver

Desconectado Desconectado

Mensajes: 162


Lo que una mente crea, otra lo destruye


Ver Perfil WWW
Apuntadores, Apuntar a un espacio de memoria especifico
« en: 1 Diciembre 2010, 04:51 am »

Hola amigos.!!!!!!

Mirelo lo que deceo hacer es apuntar un APUNTADOR o PUNTERO a un espacio de memoria especifico.... no a una variable si no a una direccion de memoria... algo como esto...

Código:

void *apuntador;

apuntador=0X00ff1250;

cout<<"El valor del apuntador es"<<*apuntador<<endl;



Si alguien me pudiera ayudar con algo de esto, lo agradeceria....

De antemano gracias. :O


En línea






Mr.Blue


Desconectado Desconectado

Mensajes: 441



Ver Perfil WWW
Re: Apuntadores, Apuntar a un espacio de memoria especifico
« Respuesta #1 en: 1 Diciembre 2010, 06:24 am »

Busca sobre dobles punteros, sera eso lo que queres saber?

Ej:

char letra='A';
char* ptr=&letra; // a ptr pasas la direccion de memoria de letra
char **optr=&ptr; //a optr pasas la direccion de memoria de ptr

para ver la direccion en hexadecimal es con %x

Saludos



« Última modificación: 1 Diciembre 2010, 06:26 am por Sr.Blanco » En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.966


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Apuntadores, Apuntar a un espacio de memoria especifico
« Respuesta #2 en: 1 Diciembre 2010, 11:13 am »

Si la direccion no es valida el programa morira al dar una excepcion no controlada, use int pero eso dependera de lo que haya en esa direccion:

Código
  1. int *apuntador = (int*)0x00ff1250;
  2. cout << "El valor del apuntador es" << *apuntador << endl;
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
cyberserver

Desconectado Desconectado

Mensajes: 162


Lo que una mente crea, otra lo destruye


Ver Perfil WWW
Re: Apuntadores, Apuntar a un espacio de memoria especifico
« Respuesta #3 en: 17 Diciembre 2010, 23:28 pm »

Muchas Gracias. es esactamente lo que estaba buscando de verdad muchas gracias.!!!

Oie pero en el tipo de apuntador tengo que especificar siempre el tipo. escuche que se podia poner

Código:
void *apuntador = (void*)0x00ff1250;


Pero me marca error. no se si realemente se pueda..!
En línea






pucheto

Desconectado Desconectado

Mensajes: 215


Ver Perfil
Re: Apuntadores, Apuntar a un espacio de memoria especifico
« Respuesta #4 en: 18 Diciembre 2010, 01:52 am »

Muchas Gracias. es esactamente lo que estaba buscando de verdad muchas gracias.!!!

Oie pero en el tipo de apuntador tengo que especificar siempre el tipo. escuche que se podia poner

Código:
void *apuntador = (void*)0x00ff1250;


Pero me marca error. no se si realemente se pueda..!
Te debe dar error dereferenciar esa posicion... pq void no tiene tipo (no tiene sentido dereferenciar un puntero a void)... y pq por ahi haces un acceso invalido a memoria.
En línea

winroot


Desconectado Desconectado

Mensajes: 589

#include<winroot.h>


Ver Perfil WWW
Re: Apuntadores, Apuntar a un espacio de memoria especifico
« Respuesta #5 en: 18 Diciembre 2010, 03:10 am »

Buenas!
En caso c++,
Código:
int* ptr=reinterpret_cast<int*>(0xfff);
Cual es el problema?
El problema es que, vos no podés escribir direcciones de memoria que no estén en el espacio de tu proceso.
En modo usuario, el programa tirará un error (page fault si no me equivoco ), que causará que el memory manager en caso de windows cierre el thread.
En kernel, llamada a KeBugCheckEx, pantalla azul orrible.
Si no me equivoco, hay unas apis en windows que sirven para saber si una dirección apuntada por un puntero se puede leer / escribir, IsBadWritePtr / IsBadReadPtr.
Un abrazo.
En línea

Mi blog sobre programación y seguridad informática:
http://win-root.blogspot.com
Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.966


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Apuntadores, Apuntar a un espacio de memoria especifico
« Respuesta #6 en: 18 Diciembre 2010, 21:10 pm »

cyberserver el problema con void ya te lo respondio pucheto.

Lo que se podria añadir es que las excepciones por acceder a una direccion invalida en modo Usuario se pueden controlar (ver SEH) tanto en modo Usuario (de no hacerlo el proceso entero muere y no solo el hilo ofensor) como en modo Kernel (donde nunca vi a nadie que usara la STL ...) y por ultimo esas APIs estan desaconsejadas por Microsoft.
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Arreglos y apuntadores están íntimamente relacionados « 1 2 »
Programación C/C++
naderST 10 5,348 Último mensaje 15 Octubre 2011, 18:55 pm
por leogtz
COmo crear espacio de memoria
Programación Visual Basic
x64core 3 2,243 Último mensaje 30 Octubre 2011, 06:04 am
por BlackZeroX
Ayudenme con apuntadores sii?
Programación C/C++
thapitufa 1 1,980 Último mensaje 2 Diciembre 2012, 06:42 am
por x64core
memoria (espacio de trabajo privado)
Windows
retsam07 2 6,165 Último mensaje 2 Mayo 2013, 20:52 pm
por Saberuneko
Vuelven a apuntar al fin de los routers en casa de los clientes
Noticias
wolfbcn 5 1,922 Último mensaje 5 Diciembre 2015, 06:00 am
por do-while
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines