Curso de VisualBasic.NET.

Virus inform谩tico.

La definici贸n de virus inform谩tico viene definida como una aplicaci贸n virtual en la que cambia el funcionamiento normal del sistema o afecta a ciertas caracter铆sticas del mismo por el simple hecho de "joder la marrana". Generalmente suplantan archivos ejecutables del sistema por otros infectados que producen fallos, acciones y fen贸menos que no harian los archivos originales.

Los virus inform谩ticos tienen b谩sicamente la funci贸n de propagarse a trav茅s de un software, son muy nocivos y algunos contienen adem谩s una carga da帽ina (payload) con distintos objetivos, desde una simple broma hasta realizar da帽os importantes en los sistemas, o bloquear las redes inform谩ticas gener谩ndo tr谩fico in煤til. El funcionamiento de un virus inform谩tico es conceptualmente simple. Se ejecuta un programa que est谩 infectado, en la mayor铆a de las ocasiones, por desconocimiento del usuario. El c贸digo del virus queda residente (alojado) en la memoria RAM de la computadora, incluso cuando el programa que lo conten铆a haya terminado de ejecutar. El virus toma entonces el control de los servicios b谩sicos del sistema operativo, infectando, de manera posterior, archivos ejecutables que sean llamados para su ejecuci贸n. Finalmente se a帽ade el c贸digo del virus al programa infectado y se graba en el disco, con lo cual el proceso de replicado se completa.

En esta pr谩ctica vas a aprender a crear un virus b谩sico en VB.NET. El objetivo de esta pr谩ctica es solo para aprendizaje, por lo que cualquier uso inadecuado que le des a la aplicaci贸n no ser谩 responsable del autor de 茅ste post, sino que ser谩 responsabilidad del usuario que compile, edite y comparta dicho virus. Adem谩s, al practicar con tu propia m谩quina corres el riesgo de que se produzca un fallo en el mismo y afecte a tu sistema operativo. Por eso te recomiendo que ejecutes estas pruebas en una maquina virtual con el sistema cargado correctamente.

User32.dll

Esta librer铆a principal de Windows, USER32.DLL es un tipo de archivo DLL asociado a MSDN Development Platform Disc 20 desarrollado por Microsoft para el Sistema Operativo de Windows. La 煤ltima versi贸n conocida de USER32.DLL es 1.0.0.0 que se realiz贸 para Windows. Este archivo tiene una clasificaci贸n de seguridad de "UNKNOWN" y es uno de los archivos vitales para Windows por el hecho que de que si desapareciese, podr铆a no ejecutarse correctamente ni cargarse el S.O, oblig谩ndo al usuario a descargar el archivo desde la p谩gina de Microsoft.

Como no soy malo, no voy a hacer una aplicaci贸n destructiva, pero si que realice ciertas funciones aprovech谩ndo las vulnerabilidad de Microsoft Windows®.

Suspender el sistema.
Una de las faenas m谩s habituales de los "lamers" es producir apagados y bloqueos en el PC victima. Para ello nos vamos a aprovechar de la funci贸n LockWorkStation() del archivo user32.dll. Esto ocasiona que se bloquee la sesi贸n actual, pero sin producirse un apagado ni perdida de datos del usuario actual (hay que introducir la contrase帽a de nuevo).

Funcion LockWorkStation

Basicamente, se accede a una funcion API. Para ello utilizamos la funci贸n Declare function, mediante la cual podemos usar las funciones establecidas en las librer铆as .dll.

As铆 puedes ver que la primera l铆nea de c贸digo utilizamos la funci贸n LockWorkStation que produce el bloqueo del sistema operativo. Indicar que mediante la instrucci贸n declare, podemos acceder a funciones contenidas dentro de los archivos de Windows con extensi贸n .dll cuando el archivo no sea un archivo COM que podemos referenciar e importar al proyecto.

referencia de archivos y librer铆as

As铆 que como hemos declarado la intrucci贸n dentro de un Button1, cuando ejecutemos la aplicaci贸n y pulses sobre el bot贸n, se bloquear谩 el sistema operativo.

continu谩ndo con VideoClub.

En el anterior proyecto de VideoClub empezamos a manipular las listas de los t铆tulos al guardalos en un archivo plano que pod铆amos cargar dentro del control ListBox1. Esa forma de programar es apta cuando empiezas a desarrollar tus propios proyectos, pero es innecesaria cuando tienes a tu alcance otras tecnolog铆as mejores y con menos complicaci贸n. En esta parte de la pr谩ctica aprender谩s a conectarte a una base de datos Access para que se carguen los datos de la misma en tu aplicaci贸n.

pantalla principal

Como v茅s la aplicaci贸n ha cambiado de forma que me he desecho de:

● Control ListBox1

Y ahora los controles tienen la siguiente forma:

● Button1: Guardar.
● Button2: Eliminar.
● Button3: Anterior.
● Button4: Siguiente.
● Button5: Nuevo.
● Button6: Car谩tula.

Y los TextBox quedan de la forma:

● TextBox1: Id.
● TextBox2: T铆tulo.
● TextBox3: G茅nero.
● TextBox4: A帽o.
● TextBox5: Descripci贸n.

Como lo que quiero ahora es mostrar los datos en los controles de texto, necesitar茅 una base de datos Access para guardar los datos. La aplicacion ser谩 el reproductor de dicho sistema gestor.Tambi茅n en el lugar donde iba el ListBox1, pondr茅 un control PictureBox1, que servir谩 para cargar la car谩tula de la pel铆cula.

Cadena de conexi贸n.
La cadena de conexion es un objeto que hereda de la clase DbConnection y su propiedad ConnectionString. Con esto, NET.Framework obliga a utilizar esta clase para realizar una conexi贸n a un gestor de bases de datos, existi茅ndo 4 tipos de conexi贸n:

● System.Data.SqlClient: Realiza la conexi贸n para bbdd de Microsoft SQL Server.
● System.Data.OleDb: Acceso a or铆genes de datos expuestos mediante OLE DB.
● System.Data.Odbc: Acceso a or铆genes de datos expuestos mediante OLE DB.
● System.Data.OracleClient: Proporciona acceso a datos a partir de Oracle 8.1.7.

Como voy a utilizar una BBDD Access2010, necesitar茅 configurar una conexi贸n OleDb. Por lo tanto para tu proyecto necesitas importar la clase (librer铆a) espec铆fica.

importa la clase para OLEDB

La propiedad ConnectionString de un objeto OleDbConnection permite obtener o establecer una cadena de conexi贸n para un origen de datos OLE DB, como Microsoft Access. Por lo que creo una variable de conexi贸n tal cual muestro en imagen.

variables de conexi贸n

Para una cadena de conexi贸n OleDbConnection, debe proporcionar un nombre de proveedor. La siguiente cadena de conexi贸n conecta a una base de datos Microsoft Access mediante el proveedor Jet, seleccion谩ndo la cadena de conexi贸n, la instrucci贸n SQL que queremos ejecutar y declar谩ndo las variables necesarias para tal fin.

Para cada sentencia en la manipulaci贸n de la BBDD, necesitar茅 un proceso independiente uno del otro, por esa raz贸n declaro las variables como privadas, ya que si las declarara como p煤blicas solo podr铆a ejecutar una vez la instrucci贸n y me devolver铆a el IDE un error.

Acciones.

Ahora que tenemos la BBDD y algunos registros (has podido introducir registros manualmente en la BBDD Access), es hora de poder acceder a las funciones principales de la aplicaci贸n. Podr谩s tener tantas funciones como desees en la aplicaci贸n, pero yo voy a utilizar solo 6 como son Guardar(), Eliminar(), Anterior(), Siguiente(), Nuevo() y CargarFoto().

Para ello voy a crear 6 sub procesos indipendientes (privados) que enlazar茅 desde el formulario mediante la instrucci贸n AddHandler y AddressOf. Esta instrucci贸n asocia un evento en tiempo de ejecuci贸n a un controlador de eventos, por lo cual no se cerrar谩 la aplicaci贸n cuando se ejecute una de las funciones ejecutadas en la BBDD y la aplicaci贸n.

Cre谩ndo los objetos para la manipulaci贸n de eventos.

Lo siguiente es crear la estructura que inicialice la conexi贸n a la BBDD y que permita manipular los registros de la misma. Para ello, y dentro de una estructura Try - End Try, inicializo la conexi贸n a la BBDD y despu茅s, mediante la instruccion adaptador.fill(midataset), agrego los datos del objeto DataSet para que coincidan con los del origen de datos. Para finalizar, con el enlazador mantengo abierta la comunicaci贸n con la BBDD y situo el puntero del rat贸n en la primera fila de la tabla de la BBDD.

Las siguientes l铆neas aplican el resultado de la lectura de la primera fila de la BBDD a los controles TextBox pertinentes para mostrar el resultado.

Para terminar las siguientes l铆neas de la aplicaci贸n est谩n compuestas de los subprocesos para las funciones espec铆ficas de la aplicaci贸n.

Subprocesos de la aplicaci贸n

Cabe destacar que utilizamos la variable enlazador como constructor del objeto u origen del dato y que seg煤n la opci贸n escogida, tendremos una acci贸n u otra, ya que los m茅todos del objeto var铆an de acuerdo a la acci贸n escogida (como por ejemplo, siguiente, anterior, guardar, etc., etc).

Bueno, creo que por ahora ya esta bien. Doy por terminado 茅ste proyecto VideoClub para en siguientes v铆deos empezar con otros proyectos m谩s complicados. En el men煤 inferior te dejo el proyecto de Visual Studio para que puedas editarlo tu mismo por lo que tienes que recordar varias cosas:

● La ruta de los archivos puede ser diferente a tu ruta.
● Deber谩s de cambiar la ruta absoluta de las car谩tulas en tu programa BBDD.
● Adem谩s es imprescindible que tengas el Access2007 o 2010 para que funcione la aplicaci贸n.

La contrase帽a de descompresion es: mirpas.com

Ahora visita el enlace de v铆deos, para m谩s informaci贸n.