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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  puntero a funcion
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 Ir Abajo Respuesta Imprimir
Autor Tema: puntero a funcion  (Leído 10,602 veces)
xiruko


Desconectado Desconectado

Mensajes: 438


Ver Perfil
Re: puntero a funcion
« Respuesta #10 en: 4 Septiembre 2012, 02:04 am »

acabo de buscar lo que era cygwin ya que no tenia ni idea. bueno yo estoy con mac os 64bit y con gcc. puede ser que ese programa sea para 32bits, lastima que no tenga ni idea de que es lo que cambia de una a otra a parte de un poco de teoria xD

en fin, al menos se que funcionar funciona, voy a buscar por ahi a ver que encuentro.


En línea

avesudra


Desconectado Desconectado

Mensajes: 724


Intentando ser mejor cada día :)


Ver Perfil
Re: puntero a funcion
« Respuesta #11 en: 4 Septiembre 2012, 02:07 am »

acabo de buscar lo que era cygwin ya que no tenia ni idea. bueno yo estoy con mac os 64bit y con gcc. puede ser que ese programa sea para 32bits, lastima que no tenga ni idea de que es lo que cambia de una a otra a parte de un poco de teoria xD

en fin, al menos se que funcionar funciona, voy a buscar por ahi a ver que encuentro.
Nah ni yo tengo cygwin lo he utilizado algunas veces para tutoriales de compilar librerías y eso pero bah, puedes ser pero lo que me parece muy muy extraño es que me funcione tanto tu código como el de la web, porque tienen valores diferentes.


En línea

Regístrate en
xiruko


Desconectado Desconectado

Mensajes: 438


Ver Perfil
Re: puntero a funcion
« Respuesta #12 en: 4 Septiembre 2012, 02:15 am »

entonces el mio te funciona?? es bueno saberlo, aunque si que es raro raro que te funcionen los dos codigos. yo me habia hecho el mio ya que al ser diferente plataforma preferi hacermelo antes que usar el suyo. pero si te funcionan los dos... pff no tengo ni idea de nada la verdad xD

a ver si se pasa alguien y nos puede iluminar un poco.
En línea

avesudra


Desconectado Desconectado

Mensajes: 724


Intentando ser mejor cada día :)


Ver Perfil
Re: puntero a funcion
« Respuesta #13 en: 4 Septiembre 2012, 02:28 am »

Si mira la salida la tienes abajo, yo creo que me estoy metiendo demasiado sin saber , pero lo mismo no es que sea un segmentation fault , si no que no tiene permisos de ejecución en esa zona de memoria... Cógete un debugger, y analiza el código(El ida por ejemplo en http://www.hex-rays.com/products/ida/support/download_freeware.shtml) o el gdb es un debugger en ASM , así puedes ver por donde va.
Código:
Valor inicial: 1
Valor cambiado: 5

Process returned 0 (0x0)   execution time : 0.011 s
Press any key to continue.
« Última modificación: 4 Septiembre 2012, 02:29 am por avesudra » En línea

Regístrate en
xiruko


Desconectado Desconectado

Mensajes: 438


Ver Perfil
Re: puntero a funcion
« Respuesta #14 en: 4 Septiembre 2012, 02:38 am »

ya lo hice antes, pero la verdad no se que buscar. quiero decir que si, veo que el programa peta en el momento de: pfn=&codigo[0], y dice que no tiene acceso a esa zona de memoria (vamos, lo que es un seg fault). eso si declaro la variable local dentro del main. en cambio, si la declaro global el error que me da es bus error.

la verdad que ni idea... estoy buscando informacion pero cada nueva web que miro, todo es nuevo para mi y me pierdo al momento. pero bueno, ya tenia ganas de aprender algo nuevo en c que me llamara la atencion asi que a ello voy... algun dia volvere con la respuesta. espero no tardar mucho :D
En línea

avesudra


Desconectado Desconectado

Mensajes: 724


Intentando ser mejor cada día :)


Ver Perfil
Re: puntero a funcion
« Respuesta #15 en: 4 Septiembre 2012, 02:46 am »

ya lo hice antes, pero la verdad no se que buscar. quiero decir que si, veo que el programa peta en el momento de: pfn=&codigo[0], y dice que no tiene acceso a esa zona de memoria (vamos, lo que es un seg fault). eso si declaro la variable local dentro del main. en cambio, si la declaro global el error que me da es bus error.

la verdad que ni idea... estoy buscando informacion pero cada nueva web que miro, todo es nuevo para mi y me pierdo al momento. pero bueno, ya tenia ganas de aprender algo nuevo en c que me llamara la atencion asi que a ello voy... algun dia volvere con la respuesta. espero no tardar mucho :D
Ya ya pero con uno en assembler puedes ver en que instrucción peta, bueno a ver si vienen algunos expertos por este post jajaja, te dejo las capturas en asm del OllyDbg de tu código:
Zona de printfs:

Primera llamada:

Segunda llamada:

En línea

Regístrate en
fary


Desconectado Desconectado

Mensajes: 1.076



Ver Perfil WWW
Re: puntero a funcion
« Respuesta #16 en: 4 Septiembre 2012, 11:40 am »

Ya ya pero con uno en assembler puedes ver en que instrucción peta, bueno a ver si vienen algunos expertos por este post jajaja, te dejo las capturas en asm del OllyDbg de tu código:
Zona de printfs:

Primera llamada:

Segunda llamada:



El problema es que el está en mac, para windows creo que sobraría con dar permisos PAGE_EXECUTE_READWRITE Con la API VirtualProtect a la parte de memoría que queremos modificar en tiempo de ejecución.

saludos.
En línea

Un byte a la izquierda.
avesudra


Desconectado Desconectado

Mensajes: 724


Intentando ser mejor cada día :)


Ver Perfil
Re: puntero a funcion
« Respuesta #17 en: 4 Septiembre 2012, 13:25 pm »

El problema es que el está en mac, para windows creo que sobraría con dar permisos PAGE_EXECUTE_READWRITE Con la API VirtualProtect a la parte de memoría que queremos modificar en tiempo de ejecución.

saludos.
Lo sé pero el caso es que a mí me funciona perfectamente, es curioso , es que esa parte de memoria es solo para ser leída y escribida nada más ¿no mDrinky? y no ejecutada.
En línea

Regístrate en
fary


Desconectado Desconectado

Mensajes: 1.076



Ver Perfil WWW
Re: puntero a funcion
« Respuesta #18 en: 4 Septiembre 2012, 14:42 pm »

Lo sé pero el caso es que a mí me funciona perfectamente, es curioso , es que esa parte de memoria es solo para ser leída y escribida nada más ¿no mDrinky? y no ejecutada.
    No, esa parte es de ejecucion. Pero para poder modificarla tienes que tener derecho de escritura. 
En línea

Un byte a la izquierda.
avesudra


Desconectado Desconectado

Mensajes: 724


Intentando ser mejor cada día :)


Ver Perfil
Re: puntero a funcion
« Respuesta #19 en: 4 Septiembre 2012, 14:50 pm »

    No, esa parte es de ejecucion. Pero para poder modificarla tienes que tener derecho de escritura. 
Pero si es un array de char , ¿que menos que pueda ser modificado no?No lo entiendo :xD además si a mi me funciona , me deberia echar para atras por no poder escribir ¿no? Es curioso...
En línea

Regístrate en
Páginas: 1 [2] 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
puntero a funcion
Programación C/C++
kondrag_X1 2 3,576 Último mensaje 30 Abril 2011, 19:49 pm
por leogtz
Funcion y puntero
Programación C/C++
gonzalo_C 2 2,508 Último mensaje 9 Febrero 2012, 17:01 pm
por gonzalo_C
Arreglo y puntero en una funcion [No me corre]
Programación C/C++
barnix456 9 4,729 Último mensaje 12 Noviembre 2012, 15:29 pm
por barnix456
Devolver puntero a cadena en función
ASM
silver2050 2 3,033 Último mensaje 22 Mayo 2013, 00:31 am
por silver2050
Necesito ayuda con Puntero a función miembro.(Solucionado)
Programación C/C++
anonimo12121 0 1,901 Último mensaje 24 Junio 2013, 18:01 pm
por anonimo12121
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines