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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Accediendo a nueva seccíon
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Accediendo a nueva seccíon  (Leído 5,251 veces)
x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Accediendo a nueva seccíon
« en: 21 Mayo 2012, 22:02 pm »

hola a todos, bueno quería preguntar algo simple, que no tengo idea si sería lo correcto...
verán aprendí a agregar una sección a un ejecutable todo bien... ahora en el propio ejecutable quiero acceder a los datos
de la nueva sección  agregada, por ejemplo si la nueva sección la virtualadress estaría en 3000, como es la manera correcta para
acceder a esos datos?

estaria bien si quiero los primeros 10 bytes haciendo esto:

memcpy(miArray,3000,10); ???

tambien me pregunto si esto afectaria si el ejecutable tiene sección relocation...
tambien pense que quizas tendria que sacar la direccion relativa...
nose..

como sería lo correcto? gracias :)



« Última modificación: 21 Mayo 2012, 22:04 pm por RHL » En línea

fary


Desconectado Desconectado

Mensajes: 1.075



Ver Perfil WWW
Re: Accediendo a nueva seccíon
« Respuesta #1 en: 21 Mayo 2012, 22:11 pm »

No es lo mismo la direccion física que la virtual, ten cuidado con eso.



En línea

Un byte a la izquierda.
x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Accediendo a nueva seccíon
« Respuesta #2 en: 21 Mayo 2012, 22:13 pm »

pero que quieres decir...
la linea de memcpy sería en tiempo de ejecucion cuando el ejecutable esta en memoria, y tambien dije virtualadress :P
En línea

fary


Desconectado Desconectado

Mensajes: 1.075



Ver Perfil WWW
Re: Accediendo a nueva seccíon
« Respuesta #3 en: 21 Mayo 2012, 22:19 pm »

pero que quieres decir...
la linea de memcpy sería en tiempo de ejecucion cuando el ejecutable esta en memoria, y tambien dije virtualadress :P

No puede ser que esa la direccion virtual sea 3000 xD, aparte para que quieres tener un puntero a la direccion virtual de la sección? no tiene sentido xD

Aun consiguiendo el puntero virtual a la secion que tu quieres, tendrías que estar en su espacio de memoria, sino tendrías un puntero a un lugar de tu proceso que sepa dios que haya...
En línea

Un byte a la izquierda.
x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Accediendo a nueva seccíon
« Respuesta #4 en: 21 Mayo 2012, 22:24 pm »

jaja entonces como sería lo correcto para acceder a una nueva sección creada por mi? sacar la direccion relativa...?
En línea

fary


Desconectado Desconectado

Mensajes: 1.075



Ver Perfil WWW
Re: Accediendo a nueva seccíon
« Respuesta #5 en: 22 Mayo 2012, 12:52 pm »

Pues colocandote en su direcicón física.

En línea

Un byte a la izquierda.
The Swash

Desconectado Desconectado

Mensajes: 194


Programmer


Ver Perfil WWW
Re: Accediendo a nueva seccíon
« Respuesta #6 en: 22 Mayo 2012, 13:21 pm »

Es aquí donde sirven o se emplean las direcciones virtuales. Solo que no contarás con una "referencia" o los conocidos nombres de variables. Si tu sección tiene permisos de lectura y escritura podrás trabajar de la nueva sección como tipo de datos.

Direcciones virtuales: ImageBase + Relative Virtual Address.

Un saludo (:
En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.958


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


Ver Perfil WWW
Re: Accediendo a nueva seccíon
« Respuesta #7 en: 22 Mayo 2012, 13:25 pm »

Base del ejecutable (no se relocalizan nunca que yo sepa) + virtual address.

Casi seguramente:
memcpy(miArray, 0x400000 + 0x3000, 10);
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
The Swash

Desconectado Desconectado

Mensajes: 194


Programmer


Ver Perfil WWW
Re: Accediendo a nueva seccíon
« Respuesta #8 en: 22 Mayo 2012, 14:29 pm »

@Eternal Idol, creo que hay un flag en la cabecera PE IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE más exáctamente. Se ve en ciertos casos, pero no vengo a luchar con vuestra experiencia.

En tal caso lo mejor sería la lectura del ImageBase desde la PEB no? Porque es obvio que si agrega una sección físicamente trabajará con shellcodes.

Un saludo.
En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.958


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


Ver Perfil WWW
Re: Accediendo a nueva seccíon
« Respuesta #9 en: 22 Mayo 2012, 14:35 pm »

Ese flag es de DLL como su nombre lo indica y entiendo que estamos hablando de un ejecutable, es simple de comprobar poniendo la direccion base de la NTDLL por ejemplo. ¿Se relocaliza o el programa falla por completo? En fin, el ejecutable lo tiene el y sabra cual es su direccion y sus cabeceras PE ...

Por lo que yo entendi el esta modificando el binario asi que ya tiene que tener si o si en algun lado (como minimo en su mente) la base del ejecutable, el codigo llamando a memcpy (o lo que pueda) tendra que ser puesto en esa sección o en otra que este secuestrando. En cualquier caso es lo mismo: base + direccion relativa de la sección.
« Última modificación: 22 Mayo 2012, 14:38 pm por Eternal Idol » 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] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Nueva sección en el foro.
Sugerencias y dudas sobre el Foro
mundo 3 2,558 Último mensaje 25 Abril 2005, 19:09 pm
por aNexos
Nueva sección « 1 2 3 »
Sugerencias y dudas sobre el Foro
Freeze. 29 10,753 Último mensaje 26 Junio 2007, 01:24 am
por Xerok1!
Propongo Nueva sección « 1 2 »
Sugerencias y dudas sobre el Foro
Skeletron 16 7,515 Último mensaje 31 Marzo 2009, 11:57 am
por seclogman
Nueva sección de Programacion « 1 2 »
Sugerencias y dudas sobre el Foro
n3fisto 10 6,474 Último mensaje 13 Noviembre 2009, 18:28 pm
por Sk9ITk5Z
Apertura de una nueva sección
Sugerencias y dudas sobre el Foro
robanyh 6 4,075 Último mensaje 23 Enero 2012, 15:51 pm
por Hadess_inf
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines