-
Notifications
You must be signed in to change notification settings - Fork 0
lusm554/rofl-keylogger
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
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 0
No packages published