Copy Link
Add to Bookmark
Report
Gedzac Mitosis Ezine Issue 02 004
(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