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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  Ayuda código de teclas
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda código de teclas  (Leído 8,407 veces)
carloseow

Desconectado Desconectado

Mensajes: 9


Ver Perfil WWW
Ayuda código de teclas
« en: 24 Noviembre 2009, 06:32 am »

Hola, quisiera que por favor alguien pudiera ayudarme con el siguiente código.

Quiero hacer un programita que haga lo siguiente:

Compruebe si se presionó una tecla y si así es que devuelva el valor ascii de la tecla presionada, de lo contrario devuelva 0.

Este es el código que tengo, pero no logro capturar el valor y retornar el código ascii de las flechas del teclado.

Código
  1. org 100h
  2.  
  3. mov ah, 11h
  4. int 16h
  5. je pre_salir
  6.  
  7. lee_tecla:
  8. mov ah,8h
  9. int 21h
  10. cmp al,0 ;si no es tecla extendida
  11. jnz salir ;salir
  12. lee_tecla_extendida:
  13. int 21h
  14. jmp salir
  15.  
  16. pre_salir:
  17. mov al,0
  18.  
  19. salir:
  20. mov ah,4ch
  21. int 21h
  22.  
  23.  


Para probarlo ejecuto el programa en un loop de batch así:

Código
  1. @echo off
  2. :ini
  3. programa.com
  4. echo.%errorlevel%
  5. goto ini
  6.  

Por favor, si alguien me ayuda con la parte de ensamblador se lo agradecería.


« Última modificación: 24 Noviembre 2009, 12:53 pm por carloseow » En línea

Иōҳ


Desconectado Desconectado

Mensajes: 563


Ver Perfil
Re: Ayuda código de teclas
« Respuesta #1 en: 26 Noviembre 2009, 02:20 am »

Usa una API GetAsyncKeyState

Código:
while (true){
if((BYTE)GetAsyncKeyState(0x31)) //1
{
////si presiono la tecla 1 me encuentra :D
//// si no compruebas al que te tiene q devolver cero
}
else
__asm {
push 0
pop eax
//aunq creo q esto sta demas pero no lo he provado :S n_n
}

}


En línea

Eres adicto a la Ing. Inversa? -> www.noxsoft.net
carloseow

Desconectado Desconectado

Mensajes: 9


Ver Perfil WWW
Re: Ayuda código de teclas
« Respuesta #2 en: 26 Noviembre 2009, 07:43 am »

Gracias, al final no pude hacerlo de 16 bits, pero lo solucioné con la idea que me diste de hacerlo con el api de windows.
En línea

YST


Desconectado Desconectado

Mensajes: 965


I'm you


Ver Perfil WWW
Re: Ayuda código de teclas
« Respuesta #3 en: 26 Noviembre 2009, 13:58 pm »

Si quieres hacerlo con la api de windows mira esto para hacerlo mediante hook

http://foro.elhacker.net/analisis_y_diseno_de_malware/srcasm_base_server_keylogger-t262500.0.html

Mas rato ( si no se me olvida :xD ) te paso el codigo que esto mismo se lo tube que hacer a nakp :P
En línea



Yo le enseñe a Kayser a usar objetos en ASM
carloseow

Desconectado Desconectado

Mensajes: 9


Ver Perfil WWW
Re: Ayuda código de teclas
« Respuesta #4 en: 26 Noviembre 2009, 14:32 pm »

Gracias, al final lo hice en c, pero cómo usé el Tiny C para compilarlo, el ejecutable me quedó de 1,8 KB, así qué es como si prácticamente lo hubiese hecho en asm.




En línea

[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: Ayuda código de teclas
« Respuesta #5 en: 27 Noviembre 2009, 04:45 am »

Gracias, al final lo hice en c, pero cómo usé el Tiny C para compilarlo, el ejecutable me quedó de 1,8 KB, así qué es como si prácticamente lo hubiese hecho en asm.

En ASM si lo haces llamando las librerias desde codigo pudo haber quedado de unos 900bytes
En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


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


Ver Perfil WWW
Re: Ayuda código de teclas
« Respuesta #6 en: 27 Noviembre 2009, 07:56 am »

Con VC++ tambien ... es cuestion de saber las opciones de las herramientas que usemos ...
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
Иōҳ


Desconectado Desconectado

Mensajes: 563


Ver Perfil
Re: Ayuda código de teclas
« Respuesta #7 en: 27 Noviembre 2009, 16:13 pm »

Código
  1. invoke Sleep, 100
  2. invoke GetAsyncKeyState, VK_F1
  3. cmp eax, 0
  4. jz <ATUCODIGO>

aqui tenes una idea, de como podes usarlo :D

Una acotacion que compilador estas usando por que lo tuyo es de 16bits, y es obsoleto   :o
« Última modificación: 27 Noviembre 2009, 16:20 pm por NoxOner » En línea

Eres adicto a la Ing. Inversa? -> www.noxsoft.net
YST


Desconectado Desconectado

Mensajes: 965


I'm you


Ver Perfil WWW
Re: Ayuda código de teclas
« Respuesta #8 en: 27 Noviembre 2009, 19:41 pm »

Una acotacion que compilador estas usando por que lo tuyo es de 16bits, y es obsoleto   :o

Si no me equivoco es FASM , en el mismo fasm de 32 bits puedes crear .com no es que el ensamblador sea de 16 bits solamente :P
En línea



Yo le enseñe a Kayser a usar objetos en ASM
carloseow

Desconectado Desconectado

Mensajes: 9


Ver Perfil WWW
Re: Ayuda código de teclas
« Respuesta #9 en: 27 Noviembre 2009, 20:07 pm »

La verdad es que no me manejo mucho con el ensamblador. Al final el ejecutable quedó de 1,3 KB, tengo el código en c. Si alguien estuviera dispuesto a ayudarme y traducir el código en c a ensamblador, para comparar los tamaños resultantes, posteo el código.

Ah, y Eternal ¿podrías decirme con qué opciones se puede configurar el VC++ para que cree ejecutables pequeños?

« Última modificación: 27 Noviembre 2009, 20:11 pm por carloseow » En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
AYUDA- presionar teclas
.NET (C#, VB.NET, ASP)
Nukita 1 3,527 Último mensaje 10 Agosto 2011, 19:22 pm
por Nukita
AYUDA! Teclas: 4 r f v bloqueadas « 1 2 »
Windows
manete 16 8,506 Último mensaje 4 Marzo 2016, 20:53 pm
por Songoku
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines