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
| | |-+  Código ejecutable tras cierta acción
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Código ejecutable tras cierta acción  (Leído 3,269 veces)
man3l3t

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Código ejecutable tras cierta acción
« en: 2 Febrero 2015, 23:08 pm »

Hola. Estoy metido en un proyecto en el que necesito un código que realice una acción concreta. He comprado un lector de códigos de barras, el cual no he probado, y según he leído es como un teclado; al leer el código lo saca por teclado como si lo estuviese escribiendo yo mismo.
Necesito un ejecutable que se inicie siempre con windows y que si el lector lee, por ejemplo, un número "123456XXX" (las XXX son variables y el resto deberá seguir esa estructura) lo almacene en un .txt (por ejemplo) y windows simule una pulsación física de un botón del teclado (por ejemplo la tecla "s"). Si el número tiene el formato antes mencionado y no ha sido utilizado con anterioridad se deberá simular la pulsación de la tecla y almacenarlo en un fichero para no poder volver a utilizarlo.

Cómo podría hacer todo esto? Estoy un poco perdido en el asunto, tanto de lenguaje a usar  (conozco C, C++ y poco más), como de qué tipo de archivo tendría que crear y demás.

Gracias y un saludo!


En línea

3n31ch


Desconectado Desconectado

Mensajes: 445


Grandes conocimientos engendran grandes dudas


Ver Perfil
Re: Código ejecutable tras cierta acción
« Respuesta #1 en: 2 Febrero 2015, 23:35 pm »

Saludos.

Si es como dices (que el lector de códigos de barra simula una entrada por teclado) no veo gran problema, pero tengo una duda, quieres el el programa permanezca oculto? osea que al iniciar en windows no se abra ninguna ventana que necesariamente necesite un focus para que los datos sean ingresados?

Te pregunto esto porque si es así entonces tu mejor opción (según mis conocimientos) es la que mencionas, C y C++, (supongo que con C++ es suficiente).

No es nada difícil que se cree el archivo .txt que mencionas, y tampoco te sera complicado mantener un registro ni pulsar una tecla. Eso si supongo que necesitaras de un thread que permita que este constantemente pendiente de la entrada del lector de códigos de barra (el cual dudo que simule uno por teclado, pero no se al respecto nada) ten en cuenta que si es como un teclado y quieres que funcione oculto tendrás un problema ya que prácticamente tendrás que crear un KeyLogger y tendrás que buscar la manera de identificar que lo que se ingresa es un código de barras y no la clave de facebook de un usuario.

Por otro lado si requieres que sea un programa común en donde si se vea la ventana del mismo y tengas que hacerle focus para que funcione (el usuario decide si ingresar el numero por teclado o por código de barras como si se tratara del cajero de un supermercado) no veo ningún problema, podrás utilizar prácticamente cualquier lenguaje de programación. Ya que no tendrás que acceder a información externa al programa (digo esto porque según se en Java no habría manera de poder crear algo que lea lo que se ingresa por teclado sin tener un focus en el programa mismo)

Me gustaría saber tus intenciones para poder darte una mejor respuesta, porque si tu proyecto es para una tienda o algo por el estilo. Considero que lo mas apropiado es que utilices una base datos mas que un archivo .txt (Me refiero a un programa que maneje grandes cantidades de datos)

PD: Por cierto lo de que inicie siempre con windows lo puedes arreglar poniendo tu ejecutable como programa de inicio en windows (Como si de Skype se tratase)


« Última modificación: 2 Febrero 2015, 23:42 pm por Nac-ho » En línea

man3l3t

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Código ejecutable tras cierta acción
« Respuesta #2 en: 5 Febrero 2015, 18:40 pm »

Ya lo resolví. Al final hice un programa en c++ conectando con una base da datos mysql.

Gracias y saludos!
En línea

man3l3t

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Código ejecutable tras cierta acción
« Respuesta #3 en: 10 Febrero 2015, 11:17 am »

Pues he tenido un fallo técnico. Parece que si que funciona pero ha sido probar MAME (emulador de recreativas) y ya no funciona. Me explico: leo con el lector un código que pone una serie de dígitos y al tener esa combinación concreta simula pulsaciones de la tecla "c". Como se ve en el siguiente video, esto funciona correctamente en un bloc de notas.

El problema viene cuando abro el emulador, el cual tiene mapeada la tecla "c" para dar créditos. Si paso el código de barras por el lector no me da ningún crédito, en cambio si pulso la tecla "c" del teclado si. Mi sorpresa fue cuando al cerrar el emulador y abrir el bloc de notas ya no se ponían las simulaciones de la tecla "c".



¿Cuál puede ser el problema?

Saludos!
« Última modificación: 10 Febrero 2015, 11:21 am por man3l3t » En línea

.::IT::.

Desconectado Desconectado

Mensajes: 167



Ver Perfil
Re: Código ejecutable tras cierta acción
« Respuesta #4 en: 10 Febrero 2015, 14:14 pm »

Y porque mejor no imprimes un código de barras escriba las CCCCCC, code 128 por ejemplo soporta caracteres, no se puede  capturar las pulsaciones del teclado sin tener el foco en una ventana de tu programa, puedes hacer 2 cosas la primera y mas recomendable es escribir un filtro de controlador (https://msdn.microsoft.com/en-us/library/windows/hardware/ff545890%28v=vs.85%29.aspx) asi solo tu programa seria el que reconozca las pulsaciones de lector de codigo de barras lo otro es usar las api de windwos para capturar las pulsaciones de un determinado teclado mira aqui hay un ejemplo en C# http://nicholas.piasecki.name/blog/2009/02/distinguishing-barcode-scanners-from-the-keyboard-in-winforms/. Aunque tambien podrias escribir una especie de keylogger que capture las pulsaciones de todos los teclados y utilice sendkey para enviar ciertas teclas no se que tanto funcione pero bueno si publicas en un foro de programacion te pueden ayudar
En línea

Simplemente .::IT::.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como sacar el codigo de un programa partiendo del ejecutable?
Ingeniería Inversa
oxy 2 8,605 Último mensaje 14 Enero 2007, 16:31 pm
por SirLanceCC
Inyectar codigo a un ejecutable
Ingeniería Inversa
darklaiser 1 2,964 Último mensaje 29 Septiembre 2007, 19:17 pm
por Shaddy
Un ejecutable puede automodificar su codigo?
Ingeniería Inversa
Tinkipinki 6 4,535 Último mensaje 1 Enero 2012, 01:41 am
por .:UND3R:.
Injectar codigo en PE (Portable Ejecutable) « 1 2 »
Programación C/C++
70N1 11 5,818 Último mensaje 12 Octubre 2013, 15:04 pm
por 70N1
¿Como añadir el codigo de mi virus a un ejecutable???
Análisis y Diseño de Malware
harry_the_blogger 3 3,372 Último mensaje 7 Septiembre 2014, 22:56 pm
por x64core
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines