
Key Logger Spyware Design
Spyware Design Using C++ Language
What you'll learn
- Understand programming basics
- Install the Code Blocks development environment
- Write your first project in C++
- Understand variables, constants and data types
- Use conditional and control statements
- Apply the different types of loops
- Understand functions, pointers and arrays
- Work with text files on your device
- Understand how spyware works
- Protect your device from spyware
About this course
This course introduces spyware known as key loggers, which are programs that record everything typed on the keyboard. The goal is to understand how they work, raise awareness of their risks and show you how to protect yourself, while also giving you a foundation in the C++ programming language these programs are built on. The course starts with basic programming concepts, downloading the Code Blocks integrated development environment and creating your first project. It then explains code syntax, comments, variables, constants and scope, input and output, arithmetic, logical and comparison operators, conditional statements, control statements and loops. After that come functions, pointers, arrays, structures and working with text files. In the final part, it shows how spyware works from the inside, and how to protect yourself, detect it and remove it from your device. The course suits anyone who wants to learn C++ basics from scratch and understand how spyware works so they can defend against it. You need no experience in programming or cybersecurity. By the end, you will be able to write C++ programs, understand how spyware works, and protect your device from it.
Expected outcomes
- Ability to design an effective Key Logger spyware program.
- Acquire skills in managing and processing text data.
- Familiarity with system protection mechanisms against spyware.
- Develop practical experience in programming with C++.
Learner reviews
- ★★★★★ISMAIL Z.·منذ 3 شهرشاهد 100٪
this is a nice cours
تم عرض كل التقييمات (1)
Course content
1Basic Concepts of Programming
1 lectures
2Programming Basics in C++
6 lectures
- Installing the Integrated Development Environment Code BlocksExplains how to download and install the Code::Blocks environment with the GNU GCC compiler, and introduces its main screens for writing and running C programs.8:11
- Creating the First Project in C LanguageExplains the build process that converts source code into an executable file, and the need to specify the namespace a function such as the output function belongs to before using it.36:13
- Code Writing Rules and How to CommentExplains the meaning of programming language syntax and the rule of ending every command line with a semicolon, and how to write single-line or multi-line comments inside the code without affecting the program's behavior.8:52
- Variables and Data TypesExplains the concept of a variable as a place in memory that holds a value, the difference between data types such as Integer and Short, and how numbers and letters are represented in binary and hexadecimal form.40:25
- Constants and Data TypesExplains the concept of a constant as a value that never changes throughout the program, two ways to define one using the define directive or the const keyword, and the difference between them in memory allocation.10:14
- Scope of Variable Definition: Public and PrivateExplains the difference between a variable defined outside any function (global scope) and one defined inside a specific function (local scope), and how the program picks the closest value when names are similar.10:21
3Basic Input and Output Process
2 lectures
- Basic Output OperationExplains how to use the output function to print text, numbers, and simple arithmetic results on the screen, and how to control moving to a new line.15:51
- Basic Input OperationExplains how to use the input function to take a value from the user and store it in a variable, and the importance of printing a message explaining what input is expected before waiting for it.4:42
4Types of Transactions and Arithmetic Operations
9 lectures
- Assignment Operator EqualsExplains the assignment operator and how to give a variable a value, the difference between the right-side value and the left-side variable, and how to assign one value to multiple variables in a single statement.7:41
- Arithmetic OperatorsExplains the addition, subtraction, multiplication, division, and modulus operators, and the importance of declaring a variable as a float type when the arithmetic result contains fractions.11:37
- Precedence of Arithmetic OperationsExplains the precedence of arithmetic operations between addition, subtraction, multiplication, and division, and how using parentheses changes the order of execution and affects the final result.10:48
- Compound Mathematical OperatorsExplains compound assignment operators such as plus-equals and minus-equals as a shorthand to increase or decrease a variable's value instead of writing the full expression.5:59
- Arithmetic Increase and Decrease OperatorsExplains the increment and decrement operators, and the difference between placing the sign before or after the variable when used within an assignment to another variable.6:50
- Simple Practical ApplicationApplies input and output operations through a simple program that takes two numbers from the user and prints the result of adding or subtracting them.4:13
- Mathematical Comparison OperatorsExplains comparison operators such as equal to, greater than and less than, how their result is true or false, and how to store that result in a boolean variable and print it.11:02
- Logical OperatorsExplains the logical operators NOT, OR and AND, how they combine two expressions into true or false, and the truth table showing when each result is true.17:31
- Bitwise Logical OperationsExplains bitwise operations, how a number becomes bits of zeros and ones, how AND and OR are applied to those bits and the result converted back to a number, using the calculator.15:13
5Conditional Control Statements
3 lectures
- IF Conditional StatementExplains the IF conditional statement and how to check a condition such as a user-entered age, executing different commands depending on whether the condition is true or false.39:52
- Nested Conditional StatementsExplains how to nest IF statements inside each other, and how to use the logical AND, OR, and NOT operators to combine more than one condition in a single expression.16:18
- Switch CaseExplains the Switch Case control statement as another way to control program flow based on a specific value, the difference from the IF statement, and the importance of the Break keyword to prevent execution from falling into the next cases.30:43
6Loops
4 lectures
- Introduction to How Loops WorkIntroduces the concept of a loop through a program that takes two numbers and an operation type from the user, showing how a loop allows commands to repeat instead of running only once.21:24
- Looping with WhileExplains how to build a While loop with a condition that determines when the commands repeat, and how to use the Break keyword to stop the loop and exit it before the condition ends.28:07
- Practical ApplicationApplies the concepts of conditions and variables by building a simple login form that checks a password, and solving a set of progressive programming challenges to reinforce earlier ideas.32:19
- Looping with ForExplains the structure of a For loop with its three parts: the initial value, the condition, and the increment, and how to nest one For loop inside another to print repeated patterns.1:01:18
7Functions and Procedures
1 lectures
- Functions and ProceduresExplains the concept of a function as a named group of code, how to pass parameters to it and use its return value, and why a function must be defined before it is used in the program.40:26
8Pointer and Array
2 lectures
- Explaining the Concept of PointerExplains the concept of a pointer as a variable that holds the memory address of another variable, and the difference between printing the memory address and printing the value stored at it.20:13
- Explaining the Concept of ArrayExplains the concept of an array as a variable that holds multiple values under one name, how to create two-dimensional arrays and a character array, and how to use a loop to print its elements.48:26
9Writing and Reading Text Files
3 lectures
- Explaining the Concept of StructureExplains the concept of a structure as a way to group several variables under one name, how to define its fields, and how to access and print each field's value.21:11
- Writing Text Files to Hard DiskExplains how to open a file and write text data to it using the file-handling library, and the difference between writing that overwrites the old content and writing that appends a new line without erasing what came before.41:05
- Reading Text Files from Hard DiskExplains how to open an existing text file and read its content line by line using the file-handling library, and how to check for the end of the file to stop reading.31:14
10Creating a Keylogger Program
2 lectures
- Beginning Programming a Spy ProgramExplains at the concept level the use of the character data type and a continuous loop to monitor keystrokes ongoingly instead of running once, as part of understanding how keystroke-monitoring programs work for educational and defensive purposes.39:30
- Handling Uppercase and Lowercase LettersExplains at the concept level how a keystroke-monitoring program recognizes the ASCII range for letters and distinguishes uppercase from lowercase based on the Caps Lock state, as part of understanding how such programs work for educational and defensive purposes.31:04
11Spy Keys
3 lectures
- Special Keys Using ShiftExplains at the concept level how a keystroke-monitoring program distinguishes between numbers and the special characters produced when Shift is held with them, as part of understanding how such programs work for educational and defensive purposes.28:06
- Space – Backspace - Escape KeysExplains at the concept level how a keystroke-monitoring program recognizes special keys like Space, Backspace, and Escape and distinguishes them using each key's ASCII code, as part of understanding how such programs work for educational and defensive purposes.21:52
- Number Keys on the RightExplains at the concept level how a keystroke-monitoring program recognizes the side number-pad keys and distinguishes them by their individual ASCII codes, as part of understanding how such programs work for educational and defensive purposes.17:37
12Final Configuration
1 lectures
- Hiding the KeyloggerExplains at the concept level the approach of hiding a program's console window and its log file from the user's view, as part of understanding how keystroke-monitoring programs work, for educational purposes that support detecting and defending against them.11:48
13Sending the Keylogger to the Victim
1 lectures
- Automatically Running Keylogger on WindowsExplains at the concept level the approach of making the operating system automatically re-launch a program periodically without user action, as part of understanding how keystroke-monitoring programs persist, for educational purposes that support detecting them.18:58
14Automatically Obtain and Receive Victim Data via Email
3 lectures
- Getting Victim Data (Part One)Explains at the concept level the approach of programming automatic periodic email sending of the logged file, as part of understanding how keystroke-monitoring programs operate, for educational purposes supporting detection and defense.26:33
- Getting Victim Data (Part Two)Explains at the concept level the approach of removing scheduled tasks after their role is done and erasing their trace from the system, as part of understanding how keystroke-monitoring programs operate, for educational detection purposes.1:03:00
- Getting Victim Data (Part Three)Explains at the concept level the approach of combining a keystroke-monitoring program's files into one executable and hiding its trace from system folders, as part of understanding how such programs work for educational and defensive purposes, with a warning against downloading programs from untrusted sources.27:35
15Protection
1 lectures
- Protect Yourself from Keylogger FilesExplains why traditional antivirus often fails to detect a keylogger because it relies on a known file signature, and how a keystroke-encryption tool protects data typed in the browser and login screen regardless of whether spyware is present.15:03
16Add-ons
2 attachments
- Download the Explained Codes from the Course Here
- Programs and Tools Used
Instructor

Eng. Mohamed Ali Mansour



