(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