Karpoff Spanish Tutor 2001

Programa: Crackeando Programas en Visual Basic


 

CRACKER: SiLvEr StOrM   FECHA: 05/07/2001

 

 INTRODUCCION

PRIMERAS PALABRAS:

"Amigos, Compañeros: estamos en la misma guerra, peleamos contra el mismo enemigo (La Ignorancia), no nos destruyamos nosotros mismos, el enemigo esta afuera, y cualquier arma por más débil o pequeña que sea a alguno de los soldados le ha de servir, solo úsenla con sabiduría. Busquen lo bueno dentro de cada cosa, por mas insignificante que parezca siempre encontraran algo bueno en ella (esto lo pueden aplicar así como les digo para todos los programas.. úsenlo para cualquier cosa en sus vidas sáquenle lo bueno a cada situación por mas mala que parezca siempre nos dejara una enseñanza). Seamos Fuertes unámonos todos que juntos ganaremos, y tu que lees este tutorial, estas comenzando la guerra con nosotros .. seguiremos en esta batalla.. Adelante muchachos... el camino es largo y difícil pero ganaremos.."
Dentro de nosotros esta el poder, ¡!úsenlo!!. No para destruirnos sino para ayudarnos.

SiLvEr StOrM

 

 

 AL ATAKE

Hola de nuevo, Esta ves no vamos a crackear un programa en especifico, vamos a entrañarnos en las tecnicas para hallar los seriales validos para aplicaciones hechas en VisalBasic.. 3,4,5 y 6....USANDO Sice, pues es mas rapido como bien sabemos de vez en cuando con smartcheck no logramos mucho.
Este manual es bastante teórico... asi que siéntense con calma para que lo lean... busquen un cocacola, y un sandiwch.. y diviértanse leyendo..

En este tutorial, asumiré que ya uds tienen cierto conocimiento de cómo usar las herramientas, si no lean mis tutoriales anteriores que en ellos explico un poco con mas detalle el uso de estas.
Este tutorial tampoco esta enfocado a la búsqueda de un serial en una aplicación en especifico si no en la mayoría de los programas hechos en Visual Basic, también aclaro que no en todas las ocasiones va a ser tan facil, existen diversos medios y técnicas que usan los programadores, pero en general funciona.
(no piensen que este tutorial es la llave mágica para todos sus problemas con Vb, solo es una parte, falta lo mas importante ... El cerebro de Uds. Y seguir estudiando para ser mejores cada dia).

. Recuerden que este tutorial esta hecho con fines netamente educativos si les interesa este Programa COMPRENLO..

 

Objetivos

  1. Seriales, Seriales y mas Seriales.. jejejje

Manos a la Obra

Introducción.

Lo primero que tenemos que saber es que visualbasic usa unas rutinas de validación standrs.
Recordamos que en programas hechos con vb, siempre usan una Librería Unica, una para cada versión,, pues bien, cuando buscamos un serial con Sice se nos hace larguisimo el traceo para buscar el string correcto.
Existen en cada versión una serie de comparaciones que generalmente son las mismas.. que de estas es donde nos vamos a apoyar ..

Si analizamos un poco la forma de cómo el programa que crackearemos compara el serial : seria asi: introducimos el serial falso... windows lo toma... lo pasa al dll de vb... el dll lo compara.. y da el error..
Ok. El sitio mas optimo para meternos nosotros es cuando windows pasa los datos a Vb.

Primero revisen en que versión de vb esta el programa para esto pueden usar File Inspector de mi amigo ViPer (Saludos).
Carguen la librería de la versión de vb que esta el programa que vamos a crackear esto lo haces con el symbol loader. (lo la pueden cargar cuando sice inicia en el archivo de configuración).

1.- Visual Basic 3

1.-Seleccionamos el programa que queremos crackear.
2.- Buscamos donde se le introduzca el nombre y serial, o serial según sea el caso.
3.- antes de darle ok. Presionamos Control-d y ponemos un bpx hmemcpy
4.- damos Ok. Sice salta.. le damos F12 hasta que lleguemos a la librería de VB.
5.- Desabilitamos los Bp (BD *)
6.- buscamos el patrón de comparación que usa vb3. .. ponemos en sice
S 0 L FFFFFFFFFF 8B,CA,F3,A6,74,01,9F,92,8D,5D,08,E8,0E,06
7.- Coloca un bp en la direccion que te retorne. Bpx (seg:offset)
8.- Presiona F5 y aterrizaras en el código.
9.- aquí chequea es:di y ds:si (revisa los registros) veras el código bueno.

2.- Visual Basic4 . y 5

Para los programas hechos en vb4 y 5 usaremos la misma técnica anterior.. pero solo cambiaran los valores del search.

1,2,3,4,5, son iguales al anterior.
6.- S 0 l fffffffff 56,57,8b,7c,24,10,8b,74,24,0c,8b,4c,24,14
7,8,9 igual al anterior.
Revisa los valores eax, esi,edi,
Si el programa valida por ejemplo nombre y serial ponemos entoces otra vez la busqueda pero el search lo ponemos despues de la ultima direccion que retorno..

Por ejemplo: en el primer search : s 0 l fffffffff 56,57 etc... nos retorna en 1500:12345
Ponemos bpx 1500:12345
Buscamos cerca de aquí pero no conseguimos nada o solo una parte.. entonces ponemos otro serach.
Seria asi: s1500:12346 ffffffffff 56,57 etc.
Y ponemos bpx donde retorne.. f5 y continuamos..
Entendieron la direccion siguiente de 12345 sera 12346.. ven?.

Esto funciona para la mayoría de los programas, pero vamos a conocer otros métodos...

Otra forma de atacar los programas en Vb todas las versiones es usar la conversión de cadenas.
Explico: Cuando introducimos un string en windows, este tiene que convertirlo a formato widechar... esto quiere decir lo siguiente; si por ejemplo inserto mi nombre en la pantalla del programa será algo asi:SiLvEr StOrM al ser convertido a wide chard quedaría: S i L v E r S t O r M.. osea con un espacio de por medio, pues así es que visualbasic lo interpreta, pues bien vamos a tratar de entrar justo cuando windows hace esta conversión para que visual lo entienda. Para esto usaremos un breakpiont que creo que alguno habrá oído mencionar: BPX MULTIBYTETOWIDECHAR
Para esto procederemos de la siguiente manera: Esta función no esta en las librerías de Vb es de las librería de windows.

Ingresamos al programa a crackear, insertamos los datos que nos pide antes de presionar ok, entramos a sice y ponemos un bpx multibytetowidechar y salimos de sice , le damos Ok.
Y sice romperá, cuando esto sucede, empezamos a revisar los valores de los registros cercanos, si no vemos nada interesante presionamos de nuevo F5 para que sice reviente de nuevo la siguiente vez que realice u a comprobación o una transformación del string. hasta que en uno de los registros esta lo que buscamos, este proceso es un poco mas lento, pero funciona.

Y por ultimo vamos a tocar otra forma, que usando los bpx de vb, para esto cargamos la librería con el simbol loader, (la de vb dependiendo de que version de runtime de vb use el programa), y ponemos un breakpiont en la siguiente función.
BPX __vbastrcmp este es para comparar un string
Y revisamos cerca de esta función..

Estas técnicas funcionan como dije antes en casi todos los programas de vb, si no hacemos lo que yo hice en un principio, usaba bpx hmemcpy, y traceaba con f10 hasta que me daba el mensage de error, luego presionaba ok. Y regresaba a sice y veia el call anterior que tenia ponía un bpx en ese call y empezaba atracear, créanme que este es el camino largo, es muy bueno para aprender a usar sice, pero largo el proceso.. (es mas yo a los mas nuevecitos les recomiendo el camino largo, pues aprenderán mas de cómo funciona las librerías de vb y en general cualquier programa.)

Recuerden que también pueden usar el smartcheck de numega (muy bueno, pero solo funciona con vb 5 y 6 , para versiones 3 y 4 existen en la red varios utilities para llevarlo a código fuente, yo solo he usado dodi para la versión 3 de vb.y unas veces funciona otras no)

Ami personalmente me parece mas limpio en estos casos conseguir el serial que parcharlo, pues normalmente parchar en vb implica parchar la librería, y quedaría defectuosa para la ejecución de otros programas pues normalmente como dijimos anteriormente todos los programas de vb usan la misma Liberia dependiendo de la versión.

Otra cosa mas, para no tener que cada vez que vayamos a hacer un serach en memoria con el string ese de números que vimos alla arriba, podemos modificar el fichero de configuración de sice, y asignarle una tecla de función. (winice.dat)
Ejemplo:
AF3="^S 0 L FFFFFFFFF 56,57,8B,7C,24,10,8B,74,24,0C,8B,4C,24,14";
Con esto asignamos la tecla alt f4 para que busque el string...
Y esto mismo lo podemos hacer para los otros strings.

Podemos empezar a practicar esto con todos los software KMCS
url: http://www.kmcsonline.com

Están hechos en V.B. 4, algunos son útiles otros no, pero son fáciles para practicar los métodos que aquí explique.

Bueno espero les haya servido de algo este material, de todas maneras si llegaron hasta aquí por lo menos tiene paciencia, guárdenlo que alguna vez les puede servir de algo.

Aburridisimo sin gráficos verdad?... jeje es como le dije a ACT_MAGO... que mis tutos ahora estaban a dieta. Jeje estaban creciendo mucho... (Saludos ACT.)

 

A BusKar El Zeryal

nOTAS

Cualquier error por favor pido disculpas, y si lo ven por favor me lo dicen, para corregirlo.. recuerden que soy humano y por lo tanto no soy perfecto.. (:-)) y no quiero serlo tampoco...

ESPERO ... les sirva de algo este tutorial para aumentar sus conocimientos en el arte del cracking........

 

Saludos

  • Profesor_x
  • KuaTo
  • TurboP
  • Txotxo
  • [DeK_OiN]
  • X-Faktor
  • Cap_Kirk69
  • Viper
  • Metamorfer.. Genial la Proposicion..
  • Act_Mago..
  • Toda la gente de TUTORIALES2000.

  • Saludos a todos los crackers del mundo.

 

Chao!!

SiLvEr StOrM

SiLvEr_StOrM_2001@hotmail.com

 

 

 

Karpoff Spanish Tutor: Pagina dedicada a la divulgacion de informacion en Castellano, sobre Ingenieria Inversa y Programacion. Email "Colabora con tus Proyectos"
www.000webhost.com