Skip to content

lusm554/rofl-keylogger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Постановка задачи программы 
---------------------------
Задача программы заключается в регистрировании нажатий пользователя клавиш на клавиатуре.
Программа должна выводить и сохранять историю нажатий пользователя. Реализация программы на Python>=3.9. Также код программы должен быть быть описан через внутреннюю механику документации Python - docstring.
Процесс установки зависимостей должен быть автоматизирован.

Описание работы программы
-------------------------
Для запуска программы необходим python>=3.9, доступ в интернет(для установки зависимостей) и CMake для сбора программы.

Если есть CMake, достаточно запустить команду make run.
Она создаст виртуальную среду Python и установит туда зависимости, это сделано во избежание мутирования глобальных зависимостей. Затем запустит скрипт main.py.

Если CMake, нет, то нужно проделать следующие шаги(пример для Unix систем):
1. Создать виртуальную среду: python3 -m venv .venv
2. Установить зависимости: . ./.venv/bin/activate & pip install -r requirements.txt или .venv/bin/pip install -r requirements.txt
3. Создать папку логов: mkdir -p logs
4. Запустить программу: . ./.venv/bin/activate python3 main.py или .venv/bin/python3 main.py

Затем запускается исходный код программы.
Импортируются необходимые модули для легирования и обработки нажатий клавиш.
Затем устанавливается 2 обработчика логов. Одни записывает логи в файл, второй выводит их в консоль.
Выводится приветственно сообщение, где сообщается о программе, как из нее выйти и где можно найти логи.
После в функции main "слушаем" события манипуляции клавишами клавиатуры. Обрабатывается два события, когда клавиша нажимается и когда клавиша перестает быть нажатой(отжимаем клавишу).
На каждое событие функция-обработки логирует его.
После завершения программы через ESC, CTRL D или другим способом выводится прощальное сообщение и прекращается выполнение программы.

Описание интерфейса
-------------------
Программу можно использовать как CLI утилиту, так и в качестве Python модуля.
При использовании как CLI утилиты достаточно выполнить: make run.

При использовании как Python модуля, из файла main.py нужно импортировать функцию main.
Например, from main import main; main();. Модульность обеспечивается условием вызова функции main через __name__ == '__main__' в конце файла main.py.

Исходный код программы
----------------------
Исходный код программы находится в текущей деректории.
Описание файлов программы:
* main.py - исходный код программы.
* Makefile - вспомогательный файл, управляющий зависимостями программы.
* requirements.txt - список зависимостей программы.
* README - описание проекта.
* .gitignore - список игнорируемых файлов для VCS GIT.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published