Abril 21, 2018, 10:43:37 pm

Autor Tema: [C#] Anti Bat's Version Beta (Source)  (Leído 2743 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Simonss

  • Me das tu IP?
  • *
  • Mensajes: 37
    • Ver Perfil
[C#] Anti Bat's Version Beta (Source)
« en: Agosto 31, 2008, 07:40:06 pm »
Framework 3.5
Lenguaje C#.net
Visual Studio Team System o cualquier otro que soporte framework 3.5





FORM1

Código: You are not allowed to view links. Register or Login
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Diagnostics ;
 
 
namespace WindowsFormsApplication4
{
    public partial class Form1 : Form
    {       
        string[] update;
        string ranalizar = Environment.GetEnvironmentVariable ("USERPROFILE").ToString () + @"\Escritorio\Analizar";
 
        public Form1()
        {
            InitializeComponent();                       
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            if (File.Exists(@"update.txt")) update = File.ReadAllLines(@"update.txt");
            else
            {
             MessageBox.Show("No se encuentra update.txt verifique", "Error definiciones de comandos", MessageBoxButtons.OK, MessageBoxIcon.Error);
             Application.ExitThread();
            }                           
                this.toolStrip1.ImageList = this.imageList1;
                this.toolStripButton1.ImageIndex = 0;
                this.toolStripButton2.ImageIndex = 1;
                this.toolStripButton3.ImageIndex = 2;
                this.toolStripButton4.ImageIndex = 3;
                this.toolStripButton5.ImageIndex = 4;           
        }
        // Boton Escanear Carpetas
        private void toolStripButton1_Click(object sender, EventArgs e)
        {
            scan();
        }
        // Boton Escanear Archivo
        private void toolStripButton2_Click(object sender, EventArgs e)
        {           
            listBox1.Items.Clear();
            openFileDialog1.Filter = "Archivos Bat's(*.bat)|*.bat";
            openFileDialog1.InitialDirectory = @"C:\";
            openFileDialog1.Title = "Seleccione el archivo bat a escanear";
            openFileDialog1.FileName = "*.bat";
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                string archivobat = openFileDialog1.FileName;
                scanfile(archivobat);
            }
            else MessageBox.Show("Seleccione un archivo .BAT para escanear", "Error archivo no seleccionado", MessageBoxButtons.OK, MessageBoxIcon.Error );
        }
        // Boton Eliminar
        private void toolStripButton3_Click(object sender, EventArgs e)
        {
            eliminar();
        }
        // Boton Mover
        private void toolStripButton4_Click(object sender, EventArgs e)
        {
            mover();
        }
 
        private void toolStripButton5_Click(object sender, EventArgs e)
        {
            try
            {
                Form2 yo = new Form2();
                yo.ShowDialog();
            }
            catch (Exception er)
            {
                this.Text = er.Message.ToString();
            }
        }
        private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
            if (listBox1.Items.Count == 0)
            {
                toolStripButton3.Enabled = false;
                toolStripButton4.Enabled = false;
            }
            else
            {
                toolStripButton3.Enabled = true;
                toolStripButton4.Enabled = true;
            }
 
        }       
        private void listBox1_DragDrop(object sender, DragEventArgs e)
        {
            string[] dragfile = (string[])e.Data.GetData(DataFormats.FileDrop);
 
            foreach (string file in dragfile)
            {
                if (file.ToUpper ().Contains(".BAT"))
                {
                    listBox1.Items.Clear();
                    scanfile(file);
                    toolStripStatusLabel1.Text = "Ultimo archivo escaneado: " + file;
                }
                else MessageBox.Show("Archivo no compatible verifique que sea un .BAT", "Error Archivo no soportado", MessageBoxButtons.OK, MessageBoxIcon.Exclamation );
            }
        }
 
        private void listBox1_DragEnter(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent(DataFormats.FileDrop, false) == true)
                e.Effect = DragDropEffects.All;
        }
 
        private void scan()
        {
            listBox1.Items.Clear();
            folderBrowserDialog1.ShowDialog();
            if (folderBrowserDialog1.SelectedPath.ToString() != "")
            {   
                analizar(folderBrowserDialog1.SelectedPath);
            }
            else
            {
                MessageBox.Show("Carpeta no valida para el analisis", "Error al Abrir la Carpeta", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void analizar(string ruta)
        {
            try
            {
                DirectoryInfo dInfo1 = new DirectoryInfo(ruta);
                if (checkBox1.Checked == true)
                {
                    FileInfo[] bats = dInfo1.GetFiles("*.BAT", SearchOption.AllDirectories);
                    foreach (FileInfo bat in bats)
                    {
                        toolStripStatusLabel1.Text = "Ultimo archivo escaneado: " + bat.FullName.ToString();
                        File.SetAttributes(bat.FullName.ToString(), FileAttributes.Normal);
                        string[] readbat = File.ReadAllLines(bat.FullName.ToString());
                        foreach (string linebat in readbat)
                        {
                            int cont = 0;
                            foreach (string def in update)
                            {
                                if (linebat.ToUpper().Contains(def.ToUpper ()))
                                {
                                    listBox1.Items.Add(bat.FullName.ToString());
                                    cont = 1;
                                    break;
                                }
                            }
                            if (cont == 1) break;
                        }
                    }
                }
                else
                {
                    FileInfo[] bats = dInfo1.GetFiles("*.BAT", SearchOption.TopDirectoryOnly);
                    foreach (FileInfo bat in bats)
                    {
                        toolStripStatusLabel1.Text = "Ultimo archivo escaneando: " + bat.FullName.ToString();
                        File.SetAttributes(bat.FullName.ToString(), FileAttributes.Normal);
                        string[] readbat = File.ReadAllLines(bat.FullName.ToString());
                        foreach (string linebat in readbat)
                        {
                            int cont = 0;
                            foreach (string def in update)
                            {
                                if (linebat.ToUpper().Contains(def.ToUpper ()))
                                {
                                    listBox1.Items.Add(bat.FullName.ToString());
                                    cont = 1;
                                    break;
                                }
                            }
                            if (cont == 1) break;
                        }
                    }
 
                }
 
 
 
            }
            catch (Exception err)
            {
                this.Text = err.Message.ToString();
            }
            toolStripButton4.Enabled = true;
        }
 
        private void eliminar()
        {
            try
            {
                for (int i = 0; i < listBox1.Items.Count; i++)
                    {
                        if (File.Exists(listBox1.Items[i].ToString()))
                        {
                            FileStream stream = new FileStream(@"C:\log.txt", FileMode.Append, FileAccess.Write);
                            StreamWriter writer = new StreamWriter(stream);
                            File.Delete(listBox1.Items[i].ToString());
                            listBox1.Items.Insert(i, listBox1.Items[i].ToString() + " Eliminado");
                            listBox1.Items.Remove(listBox1.Items[i + 1]);
                            writer.WriteLine(listBox1.Items[i].ToString() + "  en  " + DateTime.Now.ToString());
                            writer.Close();
                        }
                }
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message.ToString(), "Verifique error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
 
 
        }
        private void mover()
        {
            try
            {
                if (!Directory.Exists(ranalizar))
                {
                    Directory.CreateDirectory(ranalizar);
                }
 
 
                for (int i = 0; i < listBox1.Items.Count; i++)
                {
                    if (File.Exists(listBox1.Items[i].ToString()))
                    {
 
                        FileStream stream = new FileStream(@"C:\log.txt", FileMode.Append, FileAccess.Write);
                        StreamWriter writer = new StreamWriter(stream);
                        File.Move(listBox1.Items[i].ToString(), ranalizar + @"\" + listBox1.Items[i].ToString().Substring(listBox1.Items[i].ToString().LastIndexOf(@"\"), ((listBox1.Items[i].ToString().Length)) - (listBox1.Items[i].ToString().LastIndexOf(@"\")))+ ".txt");
                        listBox1.Items.Insert(i, listBox1.Items[i].ToString() + " Movido al Escritorio carpeta Analizar");
                        listBox1.Items.Remove(listBox1.Items[i + 1]);
                        writer.WriteLine(listBox1.Items[i].ToString() + "  en  " + DateTime.Now.ToString());
                        writer.Close();
                    }
                }
            }
            catch (Exception er)
            {
                MessageBox.Show(er.Message.ToString(), "Verifique eliminacion o existencia de archivos", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
 
        private void scanfile(string file)
        {           
            toolStripStatusLabel1.Text = "Ultimo archivo escaneado: " + file;
            File.SetAttributes(file, FileAttributes.Normal);
            string[] readbat = File.ReadAllLines(file);
            foreach (string linebat in readbat)
            {
                int cont = 0;
                foreach (string def in update)
                {
                    if (linebat.ToUpper().Contains(def.ToUpper ()))
                    {
                        listBox1.Items.Add(file);
                        cont = 1;
                        break;
                    }
                }
                if (cont == 1) break;
            }
        }     
    }
}

FORM2

Código: You are not allowed to view links. Register or Login
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Diagnostics;
using System.Threading;
 
namespace WindowsFormsApplication4
{
    public partial class Form2 : Form
    {
        string ranalizar = Environment.GetEnvironmentVariable("USERPROFILE").ToString() + @"\Escritorio\Analizar";
        public Form2()
        {
            InitializeComponent();
        }
        private void monitorbatch()
        {
            if (!Directory.Exists(ranalizar)) Directory.CreateDirectory(ranalizar);
 
            folderBrowserDialog1.ShowDialog();
            if (folderBrowserDialog1.SelectedPath.ToString() == "")
            {
                MessageBox.Show("Carpeta o Unidad no valida para el analisis", "Error al Abrir la Carpeta o Unidad", MessageBoxButtons.OK, MessageBoxIcon.Error);
                this.Close();
 
            }
            fileSystemWatcher1.Path = folderBrowserDialog1.SelectedPath.ToString();
            label1.Text = "MONITORIZANDO   " + folderBrowserDialog1.SelectedPath.ToString();
            fileSystemWatcher1.Filter = "*.bat";
            try
            {
                fileSystemWatcher1.EnableRaisingEvents = true;
            }
            catch (Exception er)
            {
                MessageBox.Show(er.Message.ToString(), "Error en el monitor bat", MessageBoxButtons.OK, MessageBoxIcon.Error);
 
            }
 
        }   
        private void fileSystemWatcher1_Created(object sender, System.IO.FileSystemEventArgs e)
        {
            try
            {
                FileStream stream = new FileStream(@"C:\log.txt", FileMode.Append, FileAccess.Write);
                StreamWriter writer = new StreamWriter(stream);               
                listBox1.Items.Add(e.FullPath.ToString() + " *****INTENTA INTRODUCIRSE EN EL SISTEMA!!!");
                writer.WriteLine(e.FullPath.ToString() + " *****INTENTA INTRODUCIRSE EN EL SISTEMA!!! en " + DateTime.Now.ToString());
                writer.Close();
 
                if (e.Name.ToString().Contains(".bat"))
                {
                    matar_procesos("cmd");
                    File.SetAttributes(e.FullPath.ToString(), FileAttributes.Normal);
 
                    if (File.Exists(ranalizar + e.FullPath.ToString().Substring(e.FullPath.ToString().LastIndexOf(@"\"), ((e.FullPath.ToString().Length)) - (e.FullPath.ToString().LastIndexOf(@"\"))) + ".txt"))
                    {                       
                        File.Delete(ranalizar + e.FullPath.ToString().Substring(e.FullPath.ToString().LastIndexOf(@"\"), ((e.FullPath.ToString().Length)) - (e.FullPath.ToString().LastIndexOf(@"\"))) + ".txt");
                        File.Copy (e.FullPath.ToString(), ranalizar + e.FullPath.ToString().Substring(e.FullPath.ToString().LastIndexOf(@"\"), ((e.FullPath.ToString().Length)) - (e.FullPath.ToString().LastIndexOf(@"\"))) + ".txt");
                        File.SetAttributes(ranalizar + @"/" + e.FullPath.ToString().Substring(e.FullPath.ToString().LastIndexOf(@"\"), ((e.FullPath.ToString().Length)) - (e.FullPath.ToString().LastIndexOf(@"\"))) + ".txt", FileAttributes.Normal);                       
                    }
                    else
                    {                       
                        File.Copy(e.FullPath.ToString(), ranalizar + @"/" + e.FullPath.ToString().Substring(e.FullPath.ToString().LastIndexOf(@"\"), ((e.FullPath.ToString().Length)) - (e.FullPath.ToString().LastIndexOf(@"\")))+ ".txt");
                        File.SetAttributes(ranalizar + @"/" + e.FullPath.ToString().Substring(e.FullPath.ToString().LastIndexOf(@"\"), ((e.FullPath.ToString().Length)) - (e.FullPath.ToString().LastIndexOf(@"\"))) + ".txt", FileAttributes.Normal);
                    }                 
                    listBox1.Items.Add(e.FullPath.ToString() + " *****FUE NEUTRALIZADO");
                    FileStream stream1 = new FileStream(@"C:\log.txt", FileMode.Append, FileAccess.Write);
                    StreamWriter writer1 = new StreamWriter(stream1);                               
                    writer1.WriteLine(e.FullPath.ToString() + " *****FUE NEUTRALIZADO en " + DateTime.Now.ToString());
                    writer1.Close();
                    if(File.Exists (e.FullPath.ToString()))
                    {
                        File.Delete(e.FullPath.ToString());
                    }
                    matar_procesos("cmd");
                    MessageBox.Show("El archivo responsable fue neutralizado y copiado a escritorio - analisis", "Bloqueado Ataque malicioso", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                }
            }
            catch (Exception er)
            {
                this.Text = er.Message.ToString();
            }
 
        }
        private void matar_procesos(string proceso)
        {
            try
            {
                List<Process> procesos = Process.GetProcesses().ToList();
                for (int i = 0; i<4; i++)
                {
                    foreach (Process proc in procesos)
                    {
                        try
                        {
                            string nombproc = proc.ProcessName;
                            if (nombproc == proceso)
                            {
                                proc.Kill();
                            }
                        }
                        catch (Exception ex)
                        {
                            this.Text = ex.Message.ToString();
                        }
                    }
                }
            }
            catch (Exception er)
            {
                this.Text = er.Message.ToString();
            }
        }
 
        private void Form2_Load(object sender, EventArgs e)
        {
            monitorbatch();
        }
 
        private void Form2_FormClosed(object sender, FormClosedEventArgs e)
        {
            fileSystemWatcher1.EnableRaisingEvents = false;
        }
 
 
    }
}
 

Descarga ejemplo y update.txt
You are not allowed to view links. Register or Login
« Última modificación: ſeptiembre 03, 2008, 01:58:13 pm por Mace Windu »


resuelto
Que diferencia hay entre una version Beta y una versión final ?

Iniciado por naxete

3 Respuestas
2153 Vistas
Último mensaje Octubre 08, 2010, 12:47:39 pm
por Rcart
xx
Mini Rat 0.5 Beta [Source]

Iniciado por Phanton 1000²

1 Respuestas
902 Vistas
Último mensaje Febrero 02, 2010, 04:32:15 pm
por .vZ'~
exclamation
BatchPaint BETA (La primera versión ^^)

Iniciado por Binary_Death

6 Respuestas
1991 Vistas
Último mensaje ſeptiembre 14, 2010, 08:04:31 pm
por Binary_Death
exclamation
* [Source] HexAndStringt (Version Very-Faster)

Iniciado por BlackZeroX

2 Respuestas
754 Vistas
Último mensaje Febrero 12, 2010, 09:21:42 pm
por BlackZeroX
thumbup
Version BETA de mi lengauje de programacion (B-Code)

Iniciado por Punk-Rock

5 Respuestas
1995 Vistas
Último mensaje Octubre 25, 2006, 12:10:43 pm
por Punk-Rock
exclamation
TooLight v1.5 ~ By Mr.Lerzep VERSION BETA 2O11 ©

Iniciado por Mr.Lerzep

6 Respuestas
1292 Vistas
Último mensaje Mayo 04, 2011, 06:50:27 pm
por Mr.Lerzep
exclamation
Filtran a Internet versión beta de Windows 7

Iniciado por selenity

0 Respuestas
657 Vistas
Último mensaje Marzo 07, 2009, 09:45:54 am
por selenity
question
Jode Windows version beta 1 incompleta... evaluar please

Iniciado por myguestp

4 Respuestas
2020 Vistas
Último mensaje Julio 18, 2009, 03:11:17 am
por myguestp
exclamation
La Orca Desembarca: Grampus Version Beta - Disponible

Iniciado por Kodeinfect

0 Respuestas
817 Vistas
Último mensaje Julio 12, 2013, 07:58:27 am
por Kodeinfect
thumbup
Proyecto muy interesante! Open Language! (Version 2.0 Beta 2 Lanzada)

Iniciado por Hait-ScriptXpert

13 Respuestas
2260 Vistas
Último mensaje Julio 15, 2008, 04:58:34 pm
por seth