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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  Puertos I/O
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 [3] Ir Abajo Respuesta Imprimir
Autor Tema: Puertos I/O  (Leído 14,228 veces)
Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.935


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


Ver Perfil WWW
Re: Puertos I/O
« Respuesta #20 en: 11 Junio 2013, 16:28 pm »

Creo que la clave esta en que programar en assembly no implica que puedas acceder al hardware, un programa de modo Usuario en C puede hacer exactamente lo mismo que uno en assembly.

Y si, al final de cuentas para hacer algo asi correctamente tenes que hacerlo en modo Kernel, incluso aunque tuvieras disponible ioperm para mi no es mas que un hack.


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
xv0


Desconectado Desconectado

Mensajes: 1.026



Ver Perfil
Re: Puertos I/O
« Respuesta #21 en: 12 Junio 2013, 18:47 pm »

Tenia pensado hacer algo en el núcleo, pero las pruebas pfff, bueno ya vere que pienso porque ahora mismo estoy en blanco.

Un saludo y gracias por el tiempo a todos.


En línea

xv0


Desconectado Desconectado

Mensajes: 1.026



Ver Perfil
Re: Puertos I/O
« Respuesta #22 en: 20 Junio 2013, 00:52 am »

Ya he realizado algunas pruebas, no fue en el núcleo si no en el boot del sistema.

Modifiqué el código del boot de esta forma.

Código
  1. asm ( "xorl %eax, %eax\n\t"
  2.      "in $0x60, %eax\n\t"
  3.      "movl %eax, 0x4b659" );

Luego los imprimo en pantalla con un printf, pero el carácter no es el correcto, si no tecleo nada es una z, si es una b = 0, c = . y  la h = #, no lo entiendo de el todo, pero el fragmento de código funciona bien pero no son los carácteres indicados.

Y sobre el puerto del sensor obtengo lo siguiente 0xe0000000, que no es el valor correcto. Bueno que opinan.

Un saludo.

P.D: Siento el doble post.
En línea

lucaslopez0000

Desconectado Desconectado

Mensajes: 95


Ver Perfil WWW
Re: Puertos I/O
« Respuesta #23 en: 20 Junio 2013, 11:35 am »

Aunque soy nuevo con el asm , si que conozco bien el lenguaje C. ¿ Intentas manejar el puerto paralelo , verdad ? El puerto paralelo no suele ser 278 decimal , sino 378 hexadecimal o 278 hexadecimal. La verdad que lo de los permisos aunque sea bueno para la seguridad es un horror para este tipo de cosas. Yo en mi caso con lo nuevo que soy con el asm creo un binario puro sin llamadas al sistema y lo emulo con qemu
creo que en asm existe una instruccion llamada out , para el tema de los puertos , echale un vistazo ;)
En línea

La manera mas simple de solucionar los problemas de windows , los virus , el spyware , la basura de microsoft en general

USA LINUX
xv0


Desconectado Desconectado

Mensajes: 1.026



Ver Perfil
Re: Puertos I/O
« Respuesta #24 en: 20 Junio 2013, 13:11 pm »

El puerto paralelo no suele ser 278 decimal , sino 378 hexadecimal o 278 hexadecimal.

Eso pensé yo ayer despúes de un rato de a ver escrito el anterior mensaje, he estado mirando la tabla extendida ascii y los valores que muestra ese printf no aparecen.

1 = una cara sonriente, 2 = corazón, 3 = diamante, 4 = trébol, 5 = pica.

Conclusión: Pokerstarts  ::).

No ahora enserio, que tabla ascii utiliza y donde le puedo echar un ojo?

Yo en mi caso con lo nuevo que soy con el asm creo un binario puro sin llamadas al sistema y lo emulo con qemu

Curioso, que traduces el opcode a binario no?

Código
  1. incl %eax   ; 0xffc0 1111111111000000
  2. syscall     ; 0x0f05 0000111100000101

creo que en asm existe una instruccion llamada out , para el tema de los puertos , echale un vistazo ;)

Si, pero de momento no quiero enviar nada a los puertos.

Un saludo.
En línea

0xDani


Desconectado Desconectado

Mensajes: 1.077



Ver Perfil
Re: Puertos I/O
« Respuesta #25 en: 20 Junio 2013, 16:31 pm »

@cpu2, si lees del puerto del teclado directamente te devolverá un keycode, lógico que no te devuelva un código ASCII. Busca cómo puedes hacer esta conversión.

Saludos.
En línea

I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM
xv0


Desconectado Desconectado

Mensajes: 1.026



Ver Perfil
Re: Puertos I/O
« Respuesta #26 en: 20 Junio 2013, 19:28 pm »

Exacto eso era Dani, he comparado los keycode y son los correctos.

Esta claro que el teclado tiene que ser uno de los dispositivos más simples que hay, sguiré investigando a ver si soy capaz de controlar dispositivos más complejos como puede ser el ethernet, pero eso ya es otra cuestión y tiene que ir en otro hilo.

Doy el tema por resuelto, gracias a todos por vuestro tiempo.

Un saludo.

P.D: Dani que paso con FreeBSD?
En línea

0xDani


Desconectado Desconectado

Mensajes: 1.077



Ver Perfil
Re: Puertos I/O
« Respuesta #27 en: 21 Junio 2013, 16:00 pm »

P.D: Dani que paso con FreeBSD?

Lo estuve intentando, pero tuve un montón de problemas y no pude instalarlo :'(
En línea

I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM
Páginas: 1 2 [3] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Diferencias entre puertos del router y puertos del ordenador?
Redes
avmiitxe 4 6,672 Último mensaje 11 Septiembre 2011, 18:00 pm
por int_0x40
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines