Algunos Visual Basic Script
para bloc de notas
Antes que nada los invito a unirse a una
comunidad, si les gustan los temas de
emprendedores y negocios esta es para
ustedes, esta creada con el fin de
compartir todo tipo de cosas orientadas a
que cada usuario cree un negocio propio.
(Micro Emprendimiento).
1 Entorno de compilacin:
Para "compilar" script podemos usar el bloc de notas del windows o el
propio visual basic, aunque el mas barato es el bloc de notas .
Bloc de notas:
Se introduce como simple texto, luego se da a archivo/guardar como..., y
en el dilogo de guardar le das a elegir Todos los archivos y guardas el
archivo con formato *.vbs.
Visual basic:
Colocas el cdigo en el evento donde quieras que se produzca.
2 Los objetos mas importantes
En visual basic script trabajamos con objetos que son rutinas
especializadas de Visual Basic Script que reune un conjunto de librerias
o rutinas que
simplifican la programacion en VBS, dependiendo de lo que queramos
hacer llamamos a un objeto del windows o de algn programa, los mas
importantes son:
"Scripting.FileSystemObject": Se utiliza para operaciones con ficheros,
copiar, pegar, mover etc...
"WScript.Shell" Se utiliza para shell's comandos en el sistema, ejecuta
ficheros, abrir navegador, usar el registro.
"outlook.application": El famoso outlook y su propagacin de los
gusanitos.
Excel.Application: El programa de calculo excel.
Estos son los objetos mas importantes en visual basic script.
Se definen:
Set variable = CreateObject("Y luego cuando queremos hacer una opcion
de ese objeto
variable.accion "parametro"
El objeto Scripting.FileSystemObject:
Como ya dijimos este objeto se utiliza para operaciones con ficheros,
puedes poner:
. si est en el mismo directorio.
C:carpeta especificando el directorio
Acciones que podemos hacer con este objeto:
---------------------------------------------------------------------------------------------------------------------
Copiar archivos
---------------------------------------------------------------------------------------------------------------------
CopyFile
Con este comando, podemos copiar archivos en la pc.
Ejemplo:
Set variable = CreateObject("Scripting.FileSystemObject"
variable.CopyFile ".ejemplo_Copyfile.vbs","C:perro.txt"
Copia el archivo "ejemplo_Copyfile.vbs" como "perro.txt" en la unidad C,
puedes copiar otros archivos aparte del mismo vbs.
---------------------------------------------------------------------------------------------------------------------
Mover archivo
---------------------------------------------------------------------------------------------------------------------
MoveFile
Con este comando, podemos mover archivos de la pc.
Ejemplo:
Set variable = CreateObject("Scripting.FileSystemObject"
variable.MoveFile ".ejemplo_MoverArchivo.vbs",
"C:ejemplo_MoverArchivo.vbs"
Esto mueve el archivo "ejemplo_MoverArchivo.vbs" a C, puedes mover
otros archivos aparte del mismo vbs.
---------------------------------------------------------------------------------------------------------------------
Borrar archivos
---------------------------------------------------------------------------------------------------------------------
DeleteFile
Con este comando borramos archivos en la pc.
Ejemplo:
Set variable = CreateObject("Scripting.FileSystemObject"
variable.DeleteFile "C:perro.txt"
Esto borrara el archivo "perro.txt" de la unidad C. Si pones *.* borraria
todos los archivos!, cuidado!
---------------------------------------------------------------------------------------------------------------------
Crear una carpeta
---------------------------------------------------------------------------------------------------------------------
CreateFolder
Sirve para crear carpetas en el pc.
Ejemplo:
Set variable = CreateObject("Scripting.FileSystemObject"
variable.CreateFolder "C:perro"
Esto creara la carpeta "perro" en la unidad C
---------------------------------------------------------------------------------------------------------------------
Borrar una carpeta
---------------------------------------------------------------------------------------------------------------------
DeleteFolder
Este comando sirve para borrar carpetas.
Ejemplo:
Set variable = CreateObject("Scripting.FileSystemObject"
variable.DeleteFolder "C:perro"
Esto borrara la carpeta "perro" de la unidad C. Si pones *.* borraria todos
las carpetas!
---------------------------------------------------------------------------------------------------------------------
Crear un archivo
---------------------------------------------------------------------------------------------------------------------
CreateTextFile
Sirve para crear archivos en la pc.
Set variable = CreateObject("Scripting.FileSystemObject"
variable.CreateTextFile "C:perro.mp3"
Ests son las funciones de Scripting.FilesystemObject te permite hacer
todas las operaciones con ficheros del sistema.
4 El objeto WScript.Shell:
Este objeto es para mandar shell al sistema, para abrir el navegador, para
abrir ficheros, para modificar el registro.
Ejemplos:
---------------------------------------------------------------------------------------------------------------------
Ejecutar y/o abrir archivos o paginas web
---------------------------------------------------------------------------------------------------------------------
Run
Sirve para ejecutar archivos y abrir paginas web.
Ejemplo:
On Error Resume Next
Set variable = CreateObject("WScript.Shell"
variable.Run "C:perro.txt"
Esto ejecutara el archivo "perro.txt" si este existe en la ruta actual, Si
escibes un URL este seria abierto
por el navegador de internet, pero es necesario que pongas las "www",
como www.geocities.com/reydelmundo11jorge; y si
la url no comienza con "www", tienes que anteponer el "http:", como
http:foro.elhacker.net
---------------------------------------------------------------------------------------------------------------------
Crea y/o modificar una entrada de registro de Windows
---------------------------------------------------------------------------------------------------------------------
RegWrite
Con este comando podemos escribir en el registro de Windows
Ejemplo:
Set zonavirus = CreateObject("WScript.Shell"
zonavirus.RegWrite "HKEY_CLASSES_ROOTCLSID{20D04FE0-3AEA-1069-
A2D8-08002B30309D}
InfoTip","Entrada modificada"
Modifica el mensaje que muestra el windows al pasar el mouse en el
icono "MI PC" y le pone otro valor, en este
caso le cambia el mensaje que desplegaba, compruebalo ejecutando el
vbs de ejemplo y despues pasando el mouse
sobre el icono "MI PC" y veras.
Si quieres que tu VBS sea residente lo que puedes hacer es crear una
linea en el registro que servira para que el
VBS se ejecute a cada inicio de Windows, haciendose residente.
Ejemplo:
Set zonavirus = CreateObject("WScript.Shell"
zonavirus.RegWrite
"HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunej
emplo",
"C:ejemplo_residente.vbs"
Esto hara que el archivo "ejemplo_residente.vbs" se ejecute cada vez que
se inicie Windows, siempre y cuando el
VBS exista en C:
---------------------------------------------------------------------------------------------------------------------
Borrar una entrada de registro de Windows
---------------------------------------------------------------------------------------------------------------------
RegDelete
Borra entradas de registro
Ejemplo:
On Error Resume Next
Set zonavirus = CreateObject("WScript.Shell"
zonavirus.RegDelete
"HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun
ejemplo"
Borra la entrada de registro declarada, si no existe, omite el error y no
hace nada. En este caso, la clave que inicia
a nuestro ejemplo, haciendo que pierda la permanencia.
---------------------------------------------------------------------------------------------------------------------
Lee una entrada de registro de Windows
---------------------------------------------------------------------------------------------------------------------
RegRead
Sirve para verificar los valores de una entrada de registro. Por ejemplo, el
VBS puede saber leyendo una entrada
de registro si se encuentra infectado la PC, y si no, proceder con la
infecccion.
La entrada de registro a leer debe de estrar dentro de parentesis y
comillas... bueno a mi solo me funciona asi.
Ejemplo:
On Error Resume Next
Set zonavirus = CreateObject("WScript.Shell"
X = zonavirus.regRead
("HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionGEDZ
AC"
If X = "1" Then
MsgBox "Esta Pc esta infectada con el Worm.P2P.TorresGemelas"
Else
MsgBox "Esta Pc esta NO infectada con el Worm.P2P.TorresGemelas"
End If
Estas son las funciones mas importantes del objeto shell aunque tambin
se pueden usar otras cosas como por ejemplo:
zonavirus.Run "C:WINDOWSRUNDLL32.EXE user.exe,ExitWindows"
6 Objetos para situarnos
Tambin los objetos te puede servir para que te devuelva las carpetas
mas importantes del sistema.
Podemos obtener directorios de mis documentos,boton inicio etc.. con el
objeto WScript.Shell:
zonavirus.SpecialFolders("MyDocuments"
zonavirus.SpecialFolders("SendTo"
zonavirus.SpecialFolders("StartMenu"
zonavirus.SpecialFolders("Startup"
Con el objeto Scripting.FileSystemObject puedes:
zonavirus.GetSpecialFolder (0) 'Obtener la direccin de la carpeta
windows
zonarvirus.GetSpecialFolder (1) 'Obener la direccin de la carpeta
System
zonavirus.GetSpecialFolder (2) 'Obtener la direccin de la carpeta temp
Si nos queremos situar como se llama el script que esta ejecutando
podemos poner Wscript.ScriptFullName sin definir objeto alguno.
8 Errores mas comunes entre vbs y vb:
Pueden surgiros errores al transladar un script a visual basic tendrais.
Wscript.ScriptFullName que se sustituiria por app.exename
Tambin cuando haceis algo del registro el comando tiene que estar todo
en la misma linea si no el visual basic te da error.
Estos son los mas comunes.