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

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

El lenguaje Visual Basic (hablo de Vb-vbs-vba) nos da a nuestra disposición
el operador lógico  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 operación 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?, según 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 heurística
y que  cualquier antivirus tonto  no de una alerta de infección, por eso la
encriptación se vuelve algo necesario para nuestras creaciones.

Ahora si pasemos de la teoría a la practica: en el lenguaje VB (vb-vbs-vba)
pues, se podria hacer una función 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 carácter apartir de un numero tomando
'como referencia el codigo ascii.

Next
'Terminamos el bucle for

End Function
'Finalizamos la funcion


Bueno a esta función 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 imaginación podran hacer su propio encriptador de vbs.
Hay una extensión de Visual Basic Script especial que  brinda windows, esta
extensión es "vbe" (Visual Basic Encript).
Esto permite una encriptación 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 ejecútenlo,  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