(C) MITOSIS #2 E-Zine/GEDZAC 2004

Tema          : Encriptacion en VB & VBS
Autor         : [DemionKlaz]
Vlido para   : Microsoft Visual Basic 6.0 y VBScript

El lenguaje Visual Basic (hablo de Vb-vbs-vba) nos da a nuestra disposicin
el operador lgico  Or exclusivo (Xor),  para lo  que quisas  no conocen el
operador Xor, se preguntaran  para que  nos sirve, pues es sencillo, ya que
si a un numero le aplicamos dos veces la operacin Xor con el mismo numero,
nos dara  como resultado  el mismo  numero que al principio.... ojala no se 
hayan perdido, y para lo que se perdieron, mejor se entiende con un ejemplo.

(A Xor B) Xor B = A

pero como sabemos si esto es cierto?, segn las tablas logicas:
	1 xor 1 =  0
	0 xor 1 =  1
	1 xor 0 =  1
	0 xor 0 =  0

Espero  que con esta tabla  hayan entendido lo que trato de decir, para los
que se preguntan para que sirve toda esta cosa es para evitar la heurstica
y que  cualquier antivirus tonto  no de una alerta de infeccin, por eso la
encriptacin se vuelve algo necesario para nuestras creaciones.

Ahora si pasemos de la teora a la practica: en el lenguaje VB (vb-vbs-vba)
pues, se podria hacer una funcin para encriptar las cadenas de texto.

Function encriptar(t)
'Creamos la funcion encriptat que le daremos como argumento "t"

On Error Resume Next
'Para saltar los errorse a la siguiente linea

For i = 1 To Len(t)
'Iniciamos un bucle desde 1 hasta la longitud de la cadena

encriptar = encriptar & Chr(Asc(Mid(t,i, 1)) Xor 3)
'utilizamos la funcion de cadena que permite extraer
'carateres mid(string,a,b) caracter de referencia y "n" es el numero de
'carateres que tomaremos apartir de a asc(a), funcion que devuelve el valor
'ascii de "a"
'chr(int) funcion que devuelve un carcter apartir de un numero tomando
'como referencia el codigo ascii.

Next
'Terminamos el bucle for

End Function
'Finalizamos la funcion


Bueno a esta funcin le mandaremos como argumento una cadena de texto:
Encriptemos este texto "MITOSIS # 2 /  GEDZAC"
nos dara algo asi "NJWLPJP# #1#,##DFGYB@"

Msgbox (encriptar("NJWLPJP# #1#,##DFGYB@"))

Esto lo podemos aplicar tanto para VB, como para vbs y vba.

Los encriptadores  de vbs funcionan  bajo el mismo algoritmo, y con un poco
mas de imaginacin podran hacer su propio encriptador de vbs.
Hay una extensin de Visual Basic Script especial que  brinda windows, esta
extensin es "vbe" (Visual Basic Encript).
Esto permite una encriptacin total de nuestro codigo vbs sin necesidad  de
que crear funciones ni nada por el estilo, esto hace que nuestro codigo  no
sea leido por otros intrusos :p, hay les va un ejemplo:

#@~^HAAAAA==hko8K6,J$G+srW	|sl.T&!Af}z/JdwkAAA==^#~@

Guarden  la  linea  anterior  como "prueba.vbe"  y ejectenlo,  veran  como
funcionan los *.vbe,  para crear  ese tipo de archivos tenemos que utilizar
una herramienta que la pueden descargar de:

http://msdn.microsoft.com/scripting.


							[DemionKlaz]/GEDZAC
							GEDZAC LAB 2004

(C) MITOSIS #2 E-Zine/GEDZAC 2004