Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Eternal Idol

#1811
ASM / Re: Puertos I/O
10 Junio 2013, 10:28 AM
Cita de: cpu2 en  9 Junio 2013, 23:44 PM
Ya no puedo usar ioperm, fue eliminado de la arquitectura amd64.

Por logica no es una buena idea que programas de modo Usuario accedan al hardware directamente, eso se hacia en la epoca en que no habia multitarea y la sincronizacion no era lo que es ahora. Es una lastima que no hayas dicho que pretendes hacer EXACTAMENTE desde el primer mensaje del hilo. ¿Es una prueba? ¿Es solo por verlo funcionar? ¿O prentedes hacer un software que se ejecute en produccion? Desde que mencionaste el parche asumo que es lo primero y para eso hacerlo en x86 es suficiente ... aunque tal vez lo queres para tu propio uso nada mas ... vaya uno a saber.

Cita de: cpu2 en  9 Junio 2013, 23:44 PMCreo que no, si estoy en ring 3 tendré que acceder a ese bitmap tal y como dice el manual.

Justamente si estas en modo Usuario no podes acceder, la gracia esta en que solo se puede acceder desde modo Kernel, asi es como se implementa la proteccion.
#1812
ASM / Re: Puertos I/O
9 Junio 2013, 11:29 AM
Cita de: cpu2 en  9 Junio 2013, 02:55 AMQuiero implementarlo en ASM, no quiero funciones escritas en C.

Eso no representa ningun problema, desensambla el resultado en C y listo. Lo unico que hace es llamar a un servicio y seguramente es un int 0x80, un syscall/sysenter o lo que sea.

Cita de: cpu2 en  9 Junio 2013, 02:55 AMSi estoy en modo usuario, anillo 3, CPL es mayor que IOPL y por eso no tengo permisos para acceder al puerto, para eso tengo que utilizar ese bitmap del que habla el manual?
Al estar en modo kernel anillo 0, CPL no sería mayor que IOPL y tendría acceso a los puertos sin la necesidad de chequear el bitmap permission?

Un saludo y gracias a todos por el interés.


¿No hay otro servicio para obtener este dato? De ser asi yo que vos haria el parche, un modulo de modo Kernel no es un programa, es otro paradigma diferente.
#1813
ASM / Re: Puertos I/O
8 Junio 2013, 14:20 PM
Cita de: 0xDani en  7 Junio 2013, 22:32 PM
Ese código parece hacer referencia a llamadas específicas de la arquitectura i386; y él ya dijo que estaba usando un amd64 y no encontraba una equivalente para esta arquitectura.

Saludos.

P.D: Probaré esa función en un i386 que tengo, ya os contaré como fue.

Por cierto, si no hay equivalente por algo sera.
#1814
ASM / Re: Puertos I/O
7 Junio 2013, 21:10 PM
¿Probaste el primer resultado de openbsd ioperm en Google?

http://wiki.gudinna.com/200

#1815
ASM / Re: Pregunta acerca de MessageBox
29 Mayo 2013, 11:42 AM
La implementacion esta en wide entonces lo que hace la version ANSI es transformar la cadena y llamar a la W.
#1816
ASM / Re: Pregunta acerca de MessageBox
28 Mayo 2013, 10:22 AM
MessageBoxW (de Wide) es la otra version, por regla general casi todas la funciones A terminan llamando a las W.
#1818
ASM / Re: Puertos I/O
17 Mayo 2013, 20:07 PM
No tenes permisos, usa ioperm antes.
#1819
ASM / Re: Problema al limpiar variable
14 Abril 2013, 01:02 AM
http://en.wikipedia.org/wiki/Null_terminated_string

El problema aca no es ese igual, la historia es que recv no trabaja con cadenas y con poner en 0 el primer byte no es suficiente si por ejemplo pasa esta secuencia:

1) recv lee la cadena "hola"
2) ponemos 0 en el primer caracter
3) recv lee la cadena bol

¿Y donde esta el terminador de cadena? ¿En el primer caracter que ahora es 'b'? En fin, que limpie todo o sino que ponga el terminador usando de base el tamaño que devuelve recv que para algo esta.
#1820
ASM / Re: Editor ASM
2 Abril 2013, 16:06 PM
Visual Studio por costumbre.