Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: mastertux en 30 Marzo 2011, 22:16 pm



Título: Duda sobre Python Keylogger
Publicado por: mastertux en 30 Marzo 2011, 22:16 pm
Hola, encantado de saludaros.

Me he lanzado a aprender Python como primer lenguaje de programacion, siguiendo el consejo que lei en uno de vuestros post. Mi sorpresa es que me esta siendo resultando especialmente emocionante.

El caso es que he tomado como objeto de estudio un keylogger que baje de la red, tal vez de por aqui (no recuerdo) que pertenece a un tal Niko.

Mu duda es la siguiente el difine un fucincion de la siguiente manera:
......
def K_B_E(accion):
output = accion.Key
......

Alguien podria explicarme que es ese Key. Supongo que es la forma de invocar un metodo para recoger la informacion del teclado y guardarla en la variable output, pero no encuentro informacion por ningun lado, ni aun en el library reference de python.

Gracias por adelantado


Título: Re: Duda sobre Python Keylogger
Publicado por: SnakingMax en 30 Marzo 2011, 22:45 pm
Key es una variable.

Saludos


Título: Re: Duda sobre Python Keylogger
Publicado por: mastertux en 30 Marzo 2011, 22:58 pm
hummmm, estoy confundido: la variable no es output y el valor que se le da accion.Key?

Pongo la funcion completa:

def K_B_E(action):
output = accion.Key
salida = output
log = "Logs.txt"
guardateclas = open(log, "a")
guardateclas.write(salida)
guardateclas.close()

return True


Título: Re: Duda sobre Python Keylogger
Publicado por: 08l00D en 31 Marzo 2011, 03:09 am
jaja el keylogger ese lo hice yo cuando estaba empezando a programar...
te explico mas o menos como funciona..
la funcion K_B_E es una funcion callback que usaba cada vez que se interceptaba una pulsacion de una tecla...pensa como si fuera una funcion de soporte, se usa para cambiar el nombre de algunas teclas para q quedara mas pro xD.. y las guardaba en un archivo...

Código:
def K_B_E(accion):
output = accion.Key

accion es en realidad un objeto... y Key uno de sus atributos el cual como bien dijiste su valor termina derivando de la invocacion de un metodo de la misma clase que se encarga de interceptar los eventos del teclado...
el codigo no es dificil...pregunta cualquier otra duda sino te podes mirar la documentacion del modulo pyHook que es el usado en el codigo...

Saludos


Título: Re: Duda sobre Python Keylogger
Publicado por: mastertux en 31 Marzo 2011, 03:22 am
asi que es tuyo!!! Caray, menos mal que se me ha ocurrido citar la fuente!!!!

Muchas gracias por tu respuesta, le ando echando un ojo, aunque aun estoy verde. Ya te comentare como me va. Un saludo.


sobre el modulo pyHook puedes darme una pista de donde encuestro la documentacion, lo he buscado en el library, pero no hay manera.


Título: Re: Duda sobre Python Keylogger
Publicado por: 08l00D en 31 Marzo 2011, 23:40 pm
http://sourceforge.net/apps/mediawiki/pyhook/index.php?title=Main_Page

http://pyhook.sourceforge.net/doc_1.5.0/


Título: Re: Duda sobre Python Keylogger
Publicado por: mastertux en 1 Abril 2011, 02:02 am
mil gracias!!!


Título: Re: Duda sobre Python Keylogger
Publicado por: mastertux en 1 Abril 2011, 21:23 pm
hello, coloco aqui esta duda por no abrir post sin ton ni son:

import random

def funcion():

   usuario = (raw_input("pon un numero: " ))   
   computadora = random.choice(range(2))



   while computadora != usuario:
      print "jajajajjajajaja"

   else:
      print "boooom"

funcion()

Lo que pretendia era que el usuario ingrese un numero
que la computadora elija uno entre un rango de numeros predefinido y que mientras no lo adivine que imprimma "jajajajajaja" hasta que lo haga, cuando lo haga que imprima "boom". El caso es que se queda enganchada en el bucle "jjajjajajaja", supongo que porque solo ejecuta la funcion una vez. Que soluciones se os ocuren?

P.d. no juzgueis duramente que solo llevo dos dias con lo de aprender a programar, e hice letras puras en el instituto!!!!!
un saludo.




Título: Re: Duda sobre Python Keylogger
Publicado por: 08l00D en 1 Abril 2011, 23:32 pm
tenes dos problemas... uno es que la asignacion a la variable usuario es solamente una vez...por lo que su valor va a ser siempre el mismo y si es erroneo el bucle lo va a tomar siempre por erroneo porque compara siempre el mismo valor...
el otro error es que la entrada de datos la haces con la funcion raw_input.. por lo que el tipo de dato va a ser una cadena no un entero como SI lo es la variable computadora...por lo que la comparacion de usuario(cadena) con computadora(entero) siempre va a dar falso...

no es dificil de solucionar ... podes directamente poner la entrada de datos del usuario en la comparacion del while...
y el problema de la cadena lo arreglas pidiendo los datos con input()..asi..


Código
  1. import random
  2.  
  3. def funcion():
  4.  
  5.   computadora = random.choice(range(2))
  6.  
  7.   while computadora != input("pon un numero: " ):
  8.      print "jajajajjajajaja"
  9.  
  10.   print "boooom"
  11.  
  12. funcion()
  13.  

y el else se usa en conjunto con un if...asi que no va...

Saludos


Título: Re: Duda sobre Python Keylogger
Publicado por: mastertux en 1 Abril 2011, 23:43 pm
gracias, ando en mis primeros pasos; no lo habria visto en la vida.


Título: Re: Duda sobre Python Keylogger
Publicado por: mastertux en 2 Abril 2011, 20:50 pm
Bueno, lo que yo prentendia era que no dejara de imprimirse el "jajajajaja" hasta que el ordenador acertara el numero, creo que no me explique bien. Aun asi con tu ayuda lo he conseguido por fin, aunque no acabo de entender cual es la secuencia que sigue el programa al ejecutarse.


 


Título: Re: Duda sobre Python Keylogger
Publicado por: leogtz en 2 Abril 2011, 22:28 pm
mastertux, para algo está el botón de código, para poner código!, ¡usalo!, lee las reglas o tus mensajes serán bloqueados.


Título: Re: Duda sobre Python Keylogger
Publicado por: mastertux en 2 Abril 2011, 22:48 pm
lo siento.

Código:
import random
usuario = input("pon un numero del 1 al 10: " )
def funcion():
 
   
   while usuario != random.choice(range(10)):
      print "jjajajaja"   
       
 
   print "booom"
   
 
funcion()


Título: Re: Duda sobre Python Keylogger
Publicado por: 08l00D en 3 Abril 2011, 17:39 pm
Ah..habia entendido al revez jaja..
La secuencia del programa es simple.. en primer lugar se le pide un numero al usuario..
luego pasa a ejecutarse la funcion.. y se entra en el bucle while... se compara si la variable usuario es distinto de el numero devuelto por random.choice... si es distinto se ejecuta lo que esta dentro del bucle...osea se imprime "jajajajaja" y despues se vuelve a realizar la comparacion y todo asi... hasta que no se cumpla la condicion del bucle, es decir que el numero generado sea igual al ingresado por el usuario, y se sale del bucle y se ejecuta la siguiente sentencia luego del bucle osea imprimir "booom"..

Saludos..


Título: Re: Duda sobre Python Keylogger
Publicado por: mastertux en 3 Abril 2011, 18:33 pm
Gracias por tu ayuda, nuevamente.


Título: Re: Duda sobre Python Keylogger
Publicado por: 08l00D en 3 Abril 2011, 18:38 pm
De nada.  :D