0% found this document useful (0 votes)
10 views

Software Requirements Specification

Uploaded by

onlyforgamesdc
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views

Software Requirements Specification

Uploaded by

onlyforgamesdc
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Roll Nos : 042, 065, 301

Advanced Keylogger
Software Requirements Specification (SRS) Document

1. Introduction
1.1 Purpose
The purpose of this document is to specify the requirements for the development of an
advanced keylogger software capable of collecting system information and keystrokes for
monitoring and administrative purposes.
1.2 Scope
The software will gather system information such as hostname, IP address, MAC address,
username, public IP address, system details, and clipboard contents, while also functioning as
a sophisticated keylogger. It will store the collected data securely in a Firebase Firestore
database.

2. Overall Description
2.1 Product Perspective
The advanced keylogger will be a standalone Python script that utilizes platform-
specific modules and APIs to collect system information and keystrokes. It will integrate with
Firebase Firestore for secure data storage.
2.2 Product Features
 Collect comprehensive system information including hostname, IP address, MAC
address, username, public IP address, system details, and clipboard contents.
 Capture keystrokes in real-time with support for special keys and key combinations.
 Integrate with Firebase Firestore for secure and scalable data storage.
2.3 User Classes and Characteristics
 Administrators: Responsible for monitoring system activities and analyzing collected
data.
 Security Analysts: Interested in identifying anomalies and potential security threats
through system monitoring.
3. System Features
3.1 Feature 1: System Information Collection
Description
The software collects extensive system information and clipboard contents for analysis and
monitoring purposes.
Packages Used:
 platform-specific modules and APIs: These will be used to gather system
information such as hostname, IP address, MAC address, username, etc.
 getmac: This package will be used to retrieve the MAC address of the system.
 getpass: This module will be used to retrieve the username of the currently logged-in
user.
 requests: This package may be used to interact with external APIs or services to
gather additional system information.
 datetime: This module will be used to timestamp the collected system information.
 win32clipboard (specific to Windows): This package will be used to retrieve and
store clipboard contents.
 firebase-admin: This package will be used to securely store the collected system
information and clipboard contents in Firebase Firestore.
Requirements:
 Gather system information using platform-specific modules and APIs.
 Retrieve and store clipboard contents along with other system information.
 Ensure secure handling of sensitive information such as credentials and IP addresses.
3.2 Feature 2: Keystroke Logging
Description
The advanced keylogger captures keystrokes entered by the user in real-time and logs them
securely.
Packages Used:
 pynput: This package will be used to capture keystrokes entered by the user in real-
time, including special keys and key combinations.
 sounddevice and scipy: These packages may be used to capture audio recordings of
keystrokes, depending on the implementation.
 firebase-admin: This package will be used to securely store the logged keystrokes in
Firebase Firestore.
Requirements
 Capture individual keystrokes including special keys and key combinations.
 Log keystrokes in a secure manner and store them in the Firebase Firestore database.
 Implement efficient and reliable logging mechanisms to ensure data integrity.
3.3 Feature 3: Firebase Firestore Integration
Description
The software integrates seamlessly with Firebase Firestore for secure and scalable data
storage.
Packages Used:
 firebase-admin: This package will be used to integrate seamlessly with Firebase
Firestore for secure and scalable data storage.
 google-cloud-storage: This package may be used in conjunction with Firebase
Firestore for additional storage capabilities, though it's not explicitly mentioned in the
requirements.
Requirements
 Initialize Firebase Admin SDK with appropriate credentials and configuration.
 Store collected system information and keystrokes securely in a designated Firestore
collection.
 Implement authentication and access controls to protect stored data from unauthorized
access.

4. External Interface Requirements


4.1 User Interfaces
There is no direct user interface for this software. Configuration parameters may be specified
within the script or through external configuration files.
4.2 Hardware Interfaces
The software interacts with the system's keyboard and clipboard functionality for keystroke
logging and clipboard content retrieval.
4.3 Software Interfaces
The advanced keylogger relies on platform-specific modules and APIs for system information
collection and keystroke logging. It also interacts with the Firebase Firestore API for secure
data storage.

5. Non-functional Requirements
5.1 Performance Requirements
 The software should have minimal impact on system performance and resource
utilization.
 Data collection and storage operations should be efficient and scalable to handle large
volumes of data.
5.2 Security Requirements
 Collected data should be encrypted and stored securely in Firebase Firestore to
prevent unauthorized access.
 Access to the software and stored data should be restricted to authorized personnel
through proper authentication mechanisms.
5.3 Reliability Requirements
 The advanced keylogger should handle errors and exceptions gracefully to ensure
uninterrupted operation.
 Implement robust error handling mechanisms to maintain data integrity and reliability.

You might also like