Título: Llamar dirección Publicado por: xv0 en 9 Abril 2013, 18:20 pm Hola
Cuando cargo unos bytes en el stack, y luego los llamo con un call tengo el siguiente problema. Código
Sería una llamada a exit, crea un segmentation fault, cuando cargo los bytes en memoria igual. Código: PSIG SIGSEGV SIG_DFL code SEGV_MAPERR<1> addr=0x6001d0 trapno=6 En C más de lo mismo. Cuando miro el disassembler llama a esp, no entiendo porque no llamada a rsp, seguro que esta hay el problema. Pero en 32 bits funciona bien. También mirare los manuales. Un saludo. P.D: Código
:huh: :huh: Código
Título: Re: Llamar dirección Publicado por: 0xDani en 9 Abril 2013, 18:29 pm Quizas esos bytes estan en una zona de la memoria que no tiene permiso de ejecucion. Por ejemplo la sección .data de un ejecutable ELF, que supongo que es el tipo de ejecutable que estas usando.
Saludos. Título: Re: Llamar dirección Publicado por: xv0 en 9 Abril 2013, 18:49 pm No creo que se por el ejecutable Dani, creo que es la arquitectura como dije en 32 bits si funciona pero no en 64 bits.
Citar PSIG SIGSEGV SIG_DFL code SEGV_MAPERR<1> addr=0x7f7ffffc92a8 trapno=6 Un saludo. Título: Re: Llamar dirección Publicado por: 0xDani en 9 Abril 2013, 20:14 pm Pues no se, de todos modos SIGSEGV significa que has accedido a una direccion de memoria a la que no tenias permiso para acceder de la forma que lo has hecho, en este caso para ejecucion, asi que mira con un debugger que permisos tiene la direccion que estas llamando.
Saludos. PD: Código
[broma]Creia que eras mas pro ;)[/broma] Código
Título: Re: Llamar dirección Publicado por: xv0 en 9 Abril 2013, 21:37 pm Ahora mirare bien los manuales.
Gracias por lo de pro, pero tú no entiendes mis bromas, ni nadie :xD. Eso es el disassembler de C. Código
Un saludo. EI: juntando mensajes. Todo esto funciona bien en backtrack, el problema es que utilizo OpenBSD y protege la memoria y el stack, por eso no puedo hacer esa llamada. Un saludo. |