1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube
Contenido
CURSO DE CRACKING DESDE CERO
POR RICARDO NARVAJA
GRUPO CRACKS LATINOS
Recopilado en PDF y DOC por Ice Cube (Marzo 2003) ========================================
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página A
Contenido
LECCIÓN 01: CURSO DE CRACKEO PARA EMPEZAR DESDE CERO... 1 LECCIÓN 02: COMO COMENZAR A USAR EL SOFTICE ... 17 LECCIÓN 03: COMO UTILIZAR EL SOFTICE CON LAS FUNCIONES DE
WINDOWS (API’S) ... 25 LECCIÓN 04: COMO USAR EL RISC PROCESS PATCHER PARA HACER
UN CRACK DISTRIBUIBLE ... 29 LECCIÓN 05: COMO DESEMPAQUETAR CON PROCDUMP
AUTOMÁTICAMENTE ... 33 LECCIÓN 06: DESCOMPRESION MANUAL CON PROCDUMP (LA
LECCIÓN MÁS DURA)... 37 LECCIÓN 07: ALGUNAS COSITAS SOBRE LOS BREAKPOINTS EN
PROGRAMAS CON VENCIMIENTO DE TIEMPO Y UN POCO DE AMPLIACIÓN DE CONOCIMIENTO (LECCIÓN
SUAVE DESPUES DE LA ANTERIOR QUE FUE DURÍSIMA)... 43 LECCIÓN 08: EMPEZANDO A LIDIAR DE A POQUITO CON CLAVES
ENCRIPTADAS (PRIMERA APROXIMACIÓN) ... 49 LECCIÓN 09: CRACKEANDO EN DELPHI (ALGO FÁCIL)... 53 LECCIÓN 10: COMO CRACKEAR EN VISUAL BASIC... 57 LECCIÓN 11: COMO CRACKEAR UN PROGRAMA PROTEGIDO CON
ARMADILLO... 61 LECCIÓN 12: UNA NUEVA HERRAMIENTA QUE NOS PUEDE
AHORRAR TIEMPO Y ESFUERZO EN MUCHAS TAREAS
AUXILIARES DEL CRACKER: EL PUPE... 63 LECCIÓN 13: COMO CRACKEAR EL MORPHINK 99 TRIAL, UN
PROGRAMA PROTEGIDO CON VBOX... 69 LECCIÓN 13: SEGUNDA PARTE (COMO DESPROTEGER
COMPLETAMENTE AL MORPHINK)... 73 LECCIÓN 14: UNA LECCIÓN PARA RELAJARSE Y CRACKEAR ALGO
FÁCIL (BIKERS LOG 3.5) ... 77 LECCIÓN 15: UN NUEVO WINOMEGA (5.15.13)... 79 LECCIÓN 16: COMPRESORES MALDITOS... 81 LECCIÓN 17: ALGO SUUUPER FÁCIL. EL CRACK DE LA
ACTUALIZACION DE VIRUS DEL NORTON ... 87 LECCIÓN 18: SIGAMOS CON LA ONDA LIGHT. CRACK DEL ATAMA
1.8 ... 89 LECCIÓN 19: OTRO EN VISUAL BASIC PERO MAAAS DIFÍCIL... 93
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página B
Contenido
LECCIÓN 20: COMO QUITAR EL CARTELITO MOLESTO Y
REGISTRAR EL ATAMA ... 97
LECCIÓN 21: AGENDA MSD 2.0 ... 99
LECCIÓN 22: CIBER-BOSS 2.1 (PROGRAMA PARA CIBER CAFES)... 103
LECCIÓN 23: UNA FÁCIL ... 105
LECCIÓN 24: EL MALDITO ASPROTECT ... 107
LECCIÓN 25: SORPRESA CON EL ADR 2.0 ... 113
LECCIÓN 26: WINALUM 2.0.1... 119
LECCIÓN 27: UN ESPIA EN TU COMPUTADORA ... 123
LECCIÓN 28: LABEL MATRIX 5.0 ... 127
LECCIÓN 29: COMO HACER BIEN EL CRACK DEL LABEL MATRIX 5.0 ... 129
LECCIÓN 30: EL MOVIMIENTO DE LAS ESTRELLAS: CIBERSKY ... 131
LECCIÓN 31: MEDIO DIFÍCIL... 135
LECCIÓN 32: SOFTCOPIER 3.4.2.4 ... 139
LECCIÓN 33: ALGO FÁCIL PARA UNA SEMANA DIFÍCIL (PARA MI)... 145
LECCIÓN 34: EMPEZANDO A USAR EL REVIRGIN (TRAGO AMARGO Y CON PACIENCIA) ... 149
LECCIÓN 35: IAT ADDRESS E IAT LENGTH AUTOMÁTICAMENTE ... 159
LECCIÓN 36: EN LA CARA DEL NUEVO ASPROTECT 1.2... 161
LECCIÓN 37: SEGUIMOS APRENDIENDO A USAR REVIRGIN ... 165
LECCIÓN 38: EL ASPROTECT MÁS DIFÍCIL QUE VI. ... 169
LECCIÓN 39: CRACKEANDO EN 16 BITS. PARECE REFÁCIL Y ES REFÁCIL... PERO QUE MOLESTO QUE ES ... 173
LECCIÓN 40: UNA DE VISUAL BASIC, RÁPIDA Y FÁCIL ... 177
LECCIÓN 41: TRUQUITOS VARIOS... 179
LECCIÓN 42: OTRO PROGRAMA DE 16 BITS ... 183
LECCIÓN 43: PROGRAMAS BASTANTE MOLESTOS (POR LO EXTENSO DE LA PROTECCIÓN)... 191
LECCIÓN 44: UN MUNDO NUEVO EL P-CODE ... 199
LECCIÓN 45: SIGAMOS CON EL P-CODE (TIEMBLEN CRACKERS... "EL CUENTAPASOS") ... 205
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página C
Contenido
LECCIÓN 46: HAGÁMOSLO CON TRW2000 (TIRO AL PICHON)... 209
LECCIÓN 47: DURO PERO UTIL... 215
LECCIÓN 48: BUSCANDO CLAVES UN POCO MÁS DIFÍCILES ... 221
LECCIÓN 49: RELOJ NO MARQUES LAS HORASSSSSS... 231
LECCIÓN 50: CRACKEANDO CIEGO... 237
LECCIÓN 51: DIFÍCIL PERO ARREGLÁNDONOS... 241
LECCIÓN 52: OTRA VEZ P-CODE PERO SIN EL DEBUGGER... 245
LECCIÓN 53: UNA MOCHILA PESADA... 249
LECCIÓN 54: ROBADA DE MI AMIGO SILVER STORM Y DEL MISMO MARMOTA (ESPERO QUE ME PERDONEN JAJA)... 253
LECCIÓN 55: FLASH FXP POR MR GANDALF (GRACIAS)... 255
LECCIÓN 56: OTRA DE MI AMIGO GANDALF... 265
LECCIÓN 57: OTRA DE MI AMIGO GANDALF... 273
LECCIÓN 58: OTRA DE MI AMIGO GANDALF... 281
LECCIÓN 59: OTRA DE MI AMIGO GANDALF... 287
LECCIÓN 60: OTRO COLABORADOR, “NOSEMAN” ... 301
LECCIÓN 61: OTRA DE MI AMIGO GANDALF... 305
LECCIÓN 61BIS: REMATANDO LA FAENA... 311
LECCIÓN 62: EASY PDF 1.6.1... 315
LECCIÓN 63: BUSTOUT! VERSIÓN 2.0... 321
LECCIÓN 64: CALENDAR 200X 4.3... 325
LECCIÓN 65: TELEPORT PRO 1.29.1590 ... 329
LECCIÓN 66: DIRECTORY PRINTER 1.8... 333
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 1
Lección
1
LECCIÓN 01: CURSO DE CRACKEO PARA EMPEZAR DESDE CERO
A pedido de muchos listeros de CUANDOQUIERAS y CONECTADOS, voy a tratar de explicar en un curso sencillo las bases para crackearprogramas o mejor expresado las bases de la INGENIERIA REVERSIBLE que es el arte de revertir las protecciones que poseen ciertos programas para hacerlos accesibles a todos y no haya que pagar por usarlos. Mucha gente dice que esto no es ético y que esta mal pero yo no estoy de acuerdo con esa opinión, yo creo que hay que crackear y distribuir gratuitamente los cracks, sin hacer negocio, para favorecer a la gente con menos recursos a que puedan acceder a programas que de otra manera no podrían usar.
ES DIFÍCIL CRACKEAR? HAY QUE TENER GRANDES CONOCIMENTOS?
En realidad no se necesitan grandes conocimientos para empezar a
crackear, lo que si es necesario es dedicarse, practicar, preguntar lo que no se entienda (NO QUEDARSE CON DUDAS), y una vez que ya uno
comprenda las cinco o seis primeras lecciónes, intentar crackear todo lo que caiga en la mano de uno para practicar, siempre si uno se traba puede preguntar y así seguir aprendiendo.
Eso si, el programa victima es el rival de uno como en un ring de box, y si uno recién esta aprendiendo tiene que ir gradualmente buscando rivales que estén a la altura de lo que uno va aprendiendo, si después de leer esta primera lección sola alguien quiere animársele al
CUENTAPASOS por ejemplo, que es un rival de fuste hasta para los grandes crackers, seguro va a caer derribado en el primer round, por eso es importante seguir el curso e ir practicando.
Generalmente los mejores rivales para las personas que recién se inician son los programas SHAREWARE de hace unos años porque así como creció el arte cracker también fueron creciendo las protecciones y no es lo mismo la versión 1.0 de un programa de hace 4 o 5 años que la versión 2000, que salió el mes pasado e incorpora lo último en protecciones.
Igual no todo es tan lineal, he crackeado programas editados en estos últimos meses cuya protección es prácticamente inexistente y de
cualquier manera gradualmente vamos a ir incorporando los
conocimientos para ir subiendo nuestra categoría en el arte crack y siendo cada vez mejores rivales para los programas.
Lo que si quería dejar constancia es que yo me considero un aprendiz, aunque me considero capaz de crackear casi el 80 % de los programas que están disponibles, a principio de año comencé a estudiar este arte y he mejorado muchísimo, sobretodo por la practica y leyendo
tutoriales y consultando en foros con los grandes maestros de esto, más adelante cuando tengan ciertos conocimientos les voy a dar las direcciones de los foros, una vez que ya estén en el tema, para no preguntar cosas obvias y quedar mal.
Si mi léxico no es muy técnico y no respeta 100% los tecnicismos, discúlpenme yo estoy tratando de hacerme entender en la forma más fácil posible aunque las palabras no sean exactas.
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 2
Lección
1
EMPECEMOS
Como dije voy a tratar de ir despacio y no atosigar a nadie, los conocimientos que vamos a aprender van a ir muy de a poco para no saturar y de una lección a la otra se puedan ir asentando.
NUESTRA PRIMERA VICTIMA (ARCHIVO CRACKME)
El archivo Crackme.exe que subí a FREESERVERS va a ser nuestra primera victima. Es un programita de 12k que no sirve para nada, solamente para comenzar a enseñar como se crackea y que fue hecho con ese fin.
COMO SE ENCARA EL CRACKEO
Antes que nada les recomiendo imprimir las lecciónes, porque no es lo mismo hacer las cosas y leer a la vez que estar cerrando y abriendo programas para poder seguir la explicación.
El primer paso es estudiar a la victima, ejecutarlo y ver que tipo de programa es (CON TIPO DE PROGRAMA ME REFIERO A QUE SI SE REGISTRA CON UN NÚMERO DE SERIE, SI VENCE DENTRO DE UN PLAZO, ETC), en nuestro primer caso es un programa que se registra con un número de serie. Vamos a probar, lo ejecutamos y vamos a HELP y después a REGISTER, donde nos aparece una ventana con lugar para escribir el nombre (NAME) y el NÚMERO DE SERIE (SERIAL).
Vamos a poner datos inventados en los dos casilleros para ver que pasa, para que todos sigamos el mismo hilo pongamos el mismo nombre y número de serie que uso yo (IGUAL PODRIA SER CUALQUIERA SIMPLEMENTE USEMOS TODOS EL MISMO PARA PODER ESTAR TODOS IGUAL EN EL MISMO EJEMPLO)
NAME: PEPE SERIAL:989898
PEPE VA CON MAYUSCULAS Y EL NÚMERO 989898 lo elegí porque el 999999 ya esta muy quemado (BAH CUALQUIER NÚMERO ES IGUAL), hacemos clic en OK y obtenemos como resultado una triste ventana que en ingles nos dice que no tuvimos suerte (NO LUCK THERE MATE), podría decir también NÚMERO INVALIDO o cualquier otro mensaje de ese deprimente estilo.
Este mensaje además de decirnos que el número de serie no es correcto, nos esta gozando (se burla) por lo que lo vamos a reventar de lo lindo al Gil que hizo esto.
Siempre que comencemos a craquear un programa y como método de
organización les aconsejo, usar una hojita en blanco donde escribimos el nombre del programa y TODOS los datos que vamos obteniendo de el, en este caso, es muy importante escribir el mensaje exacto que nos dice cuando pusimos el número equivocado, anotamos No luck, there
mate! en el papel y al lado le ponemos MENSAJE DE CHICO MALO.
Ahora vamos a explicar que es CHICO MALO y CHICO BUENO para los crackers.
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 3
Lección
1
Cualquier programa que verifica un número de serie, llega un punto en que INEVITABLEMENTE va a comparar el número que pusimos equivocado (989898 en el ejemplo), con el número verdadero de serie.
Tiene que comparar si o si, el número nuestro con el verdadero y tomar una decisión, si decirnos que es incorrecto (CHICO MALO) o correcto y registrarnos ( CHICO BUENO).
Se dice CHICO MALO a la parte del programa que después de comparar ambos números, nos tira para ponernos el cartel lúgubre de INCORRECTO o como en este caso NO LUCK THERE MATE!
CHICO BUENO es supuestamente si la verificación es correcta y yo puse el número de serie correcto (PORQUE LO PAGUE O LO CRACKEE) entonces soy un CHICO BUENO y la parte del programa donde sos derivado después de la comparación y que termina en un cartelito que dice NÚMERO
CORRECTO REGISTRADO o algo asi.
Entonces tenemos varias alternativas, o ponernos a jugar insistiendo con números de serie distintos hasta que en cinco o seis años la peguemos y nos registremos o seguir este curso y crackear esa bazofia de una vez por todas.
Vamos a comenzar a usar la primer herramienta que es el WDASM, este es un desensamblador ideal para novatos como yo, ya que los
desensambladores avanzados para mi complican mucho las cosas en cambio el WDASM es claro como el agua y fácil, fácil, fácil.
WDASM o el LISTADO MUERTO
Empecemos con la primera herramienta que aprende a usar todo cracker el WDASM.
El Wdasm es un programa que toma un archivo y si puede lo desensambla, ahora bien que es desensamblar?
Un programa como este crackme por ejemplo es una seguidilla de números en FORMATO HEXADECIMAL o sea podría ser como ejemplo
FF A5 B9 32 44 76 99 etc etc etc
Evidentemente una cadena de números no nos dice mucho acerca de lo que el programa quiere hacer y crackear eso seria más difícil que hacer que no se cuelgue WINDOWS. (CHISTE)
Me olvidaba decirles que es esto del formato hexadecimal, en
comparación con la numeración decimal que usa números del 0 al 9, la numeración hexadecimal después del 9 usa la A que seria el 10 decimal, la B que seria el 11, la C que seria el 12 y asi hasta la F que es el 15.
Para los que no quieren problemas, con la calculadora de WINDOWS, la cambian a VER - CIENTÍFICA y pueden convertir números DECIMALES EN HEXADECIMALES y viceversa, si en la pantalla pongo DF y después hago clic en decimal me aparece el resultado 223, y viceversa si pongo por ej. 87 y hago clic en HEXADECIMAL me sale el resultado que es 57.
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 4
Lección
1
Bueno ahora que ya tragamos ese primer sapo sigamos. Como les dije antes una cadena de números no sirve para nada, si contamos con un programa como el WDASM, entre otras cosas nos puede agrupar esos números y traducirlos a sentencias en IDIOMA ENSAMBLADOR.
No se asusten que no es tan fiero el LEON como lo pintan, abramos el WDASM y en donde dice DISASSEMBLER hagamos clic y elijamos OPEN FILE TO DISSASEMBLE para cargar la fila a destripar.
Buscamos por los directorios la fila crackme.exe y la cargamos. Bueno como es una fila chiquita se desensambla rapido, bueno ahí tenemos vamos despacio para no marearnos.
Lo primero que hay son datos sobre el archivo que por ahora no vamos a ahondar (YA LLEGARA SU MOMENTO), la primera pregunta que surge es bueno donde comienza el programa, cual es la primera sentencia que se ejecuta?
DIBUJO 1: ESTO ES LO QUE SE VE CUANDO APENAS CARGO EL CRACKME.
Bueno eso es bastante fácil, abrimos el menu GOTO y elegimos GOTO PROGRAM ENTRY POINT que quiere decir IR A PUNTO DE ENTRADA DEL PROGRAMA, si hacemos clic ahí vamos a la primera sentencia que es:
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 5
Lección
1
DIBUJO 2: AQUÍ VEMOS CUANDO BUSCAMOS EL ENTRY POINT (TODAVÍA NO APARECE AQUÍ)
PROGRAM ENTRY POINT
0040100 6A 00 PUSH 00000000
Bueno no es necesario enloquecerse con lo que significa la sentencia PUSH pues no es de gran utilidad para un cracker, lo que hay que saber es que 0040100 es la posición de memoria donde el programa va a
comenzar a ejecutarse una vez que este en la memoria después de hacer clic sobre el archivo, y los números 6A 00 son los dos primeros
números hexadecimales (EL QUE ESTA EL LA POSICION 40100 y 40101) que juntos forman la sentencia PUSH 00000000 en idioma ensamblador.
Bueno ya basta de pavadas y vamos a lo fácil después que tragamos ese pequeño sapo, podemos eso si anotar en nuestro papel la dirección del PUNTO DE ENTRADA que aunque no es necesario en este caso para
crackear, en otros programas puede serlo y es bueno saber como encontrarlo.
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 6
Lección
1
DIBUJO 3: AQUÍ APARECE EL ENTRY POINT
ACCION, ACCION
La hinchada clama acción y vamos a empezar a crackear esto.
Entre los iconitos del WDASM hay uno que es el penúltimo, al lado de la impresora, que es el de STRING DATA REFERENCES, que son las
referencias a las cadenas de texto que tiene el programa, nos aparece una ventanita con distintas cadenas de texto, entre ellas nuestra conocida NO LUCK THERE MATE! que nos mostró el programa cuando pusimos como número de serie el 989898, JA JA estamos entrando.
Hacemos doble clic exactamente encima de esa cadena de texto y el WDASM cambia de mostrarnos el ENTRY POINT a mostrarnos donde usa el crackme la cadena de texto. ENTRAMOS ENTRAMOS.
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 7
Lección
1
DIBUJO 4: ESTO NOS MUESTRA CUANDO HACEMOS CLIC EN EL ICONO STRN REF (STRING REFERENCES) LA VENTANA DONDE APARECEN LAS CADENAS DE TEXTO QUE USA EL PROGRAMA.
REFERENCED BY A CONDICIONAL JUMP or UNCONDICIONAL JUMP AT ADRESS 40138B
004013AC pop esi 004013AD push 00000030 004013AF push 402160
; "No luck!"
004013B4 push 402169
; "No luck there, mate!" 004013B9 push [ebp+8]
004013BC call 40143A MessageBoxA
AQUI SE VE UNO DE LOS DOS LUGARES QUE CAIGO CUANDO HAGO DOBLE CLICK ENCIMA DE NO LUCK THERE MATE LA LINEA AZUL ESTA JUSTO SOBRE 4013B4.
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 8
Lección
1
AQUI EN ROJO SE VE LA CADENA NO LUCK THERE MATE Y UN POCO MÁS ARRIBA SE VERÁ DE DONDE VIENE EL PROGRAMA SALTANDO AQUÍ)
Esto es casi exactamente donde van a caer, le quite los números hexadecimales para no confundir, pero es esto, la parte del programa donde usa el texto NO LUCK THERE MATE!
O sea, esta es la parte del programa del CHICO MALO, aca el programa nos tira después de haber comparado y ver que el número que pusimos 989898 no es el correcto y decide tirarnos aca y ponernos el cartel triste de que nuestro número no es valido.
Miremos aun sin saber nada un poco esto, cuando el WDASM nos dice: REFERENCED BY A CONDICIONAL JUMP or UNCONDICIONAL JUMP AT ADRESS 40138B
Quiere decir que desde esa dirección (40138B) el programa nos tiro aca en esta zona de CHICO MALO,
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 9
Lección
1
SUBIENDO UN POQUITO (VER DIBUJO SIGUIENTE) VEMOS LA LINEA AZUL AHORA JUSTO ENCIMA DE REFERENCED BY A CONDICIONAL JUMP 40138B QUE ES EL SALTO QUE HACE LLEGAR EL PROGRAMA AQUÍ A LA ZONA EN QUE ESCRIBE NO LUCK THERE MATE
Por lo tanto si desde allí nos tiro a la zona de chico malo, por allí debe estar la comparación de los números de serie el 989898 con el verdadero y después el salto hacia la zona de chico malo o sino siguen en la zona de chico bueno.
Veamos, vamos de vuelta a GOTO y elegimos GOTO CODE LOCATION, que sirve para ir a una dirección que nosotros queremos, en la ventanita que nos aparece tipeamos 40138b y aparecemos en el lugar donde hay comparaciones CMP y según el resultado de esas comparaciones un salto (CUALQUIER SENTENCIA QUE EMPIZA CON J o sea JE,JB,JZ,JNZ, etc).
Esas son las dos sentencias que más nos interesan a los crackers CMP ebx,eax por ejemplo compara el contenido de eax con el contenido de ebx, y si en eax esta nuestra clave falsa, seguro que en ebx esta la clave verdadera, después siempre de la comparación esta el salto condicional que es que salta a la zona de CHICO MALO y a poner el cartel de NO LUCK THERE MATE si son distintos y sigue ejecutándose sin saltar si son iguales.
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 10
Lección
1
AQUÍ VEMOS LA VENTANITA DE GOTO CODE LOCATION Y ALLI PONGO EL VALOR DONDE QUIERO IR A VER QUE HAY O SEA 40138B QUE ERA MI REFERENCED....
Veamos que encontramos ahí. 401385 test al,al
401387 je 40139c 401389 cmp al,41
40138b jb 4013ac <- aquí salta a la zona de chico malo (NO LUCK THERE MATE!)
40138d cmp al,5a 40138f jnb 401354
O sea que el paso final aquí dado que el WDASM no puede ver los valores que se están comparando para saber la clave seria usar el SOFTICE pero el problema es que el uso del softice se va a ver en la lección 2, pero el softice permite ejecutar el programa y parar justo en la sentencia 401389 para ver que se compara ahí, igual sin haberlo hecho les digo que ahí no esta la comparacion de la clave porque ahí se ve que compara el valor AL (DONDE PODRIA ESTAR 989898) por ejemplo, con un valor hexadecimal fijo, con el número 41, asi que aquí me
parece que no es, el softice o el trw2000 tendrían la palabra.
(EN REALIDAD EL PROFESOR ES UN TRAMPOSO Y SE FIJO CON EL SOFTICE QUE ESTA COMPARACION NO ES LA QUE BUSCAMOS)
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 11
Lección
1
AQUÍ SE VE DONDE COMPARA AL CON 41 Y CON 5A
Volvamos al WDASM a STRING DATA REFERENCES y hagamos click de nuevo en el texto NO LUCK THERE MATE, si hacemos doble click aparecemos en la sección que ya estudiamos, y si volvemos a hacer doble click
aparecemos en otro lado o sea que el cartel NO LUCK THERE MATE! esta en otra parte del programa también (NOS QUISIERON CONFUNDIR) vemos que no esta en ninguna parte más solo en esas dos.
Veamos donde aparecemos
REFERENCED BY A CALL at adress 401245
y después siguen varias sentencias donde usa el NO LUCK THERE MATE, entonces vamos a ver desde donde viene a 401245.
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 12
Lección
1
CAEMOS AQUÍ SI VOLVEMOS A HACER CLIC EN NO LUCK THERE MATE DE NUEVO
Lo que aparece es mucho más agradable a la vista que lo que habíamos encontrado antes, aquí hay una comparación de eax y ebx que es más posible que sea lo que buscamos (EL SOFTICE nos sacaría de dudas (COMO YO SOY TRAMPOSO A MI YA ME LAS SACO)
401241 cmp eax, ebx
401243 je 40124c <- Si son iguales salta a 40124c y evita la zona de CHICO MALO
401245 call 401362 40124a jmp 4011e6
40124c call 40134d (ZONA DE CHICO BUENO)
O sea que compara dos valores , si son iguales evita el call 401362 que nos llevaba a la zona de CHICO MALO y entonces sigue en 40124c donde seguro somos CHICOS BUENOS y nos va a registrar.
Ya terminamos ya que no podemos usar el softice todavía lo vamos a crackear sin conocer el número de serie.
COMO SE HACE ESO?
Muy fácil miren de vuelta el salto que esta en 401243 je 40124c.
Ese salto es un salto condicional que si salta nos registramos y si no salta no.
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 13
Lección
1
AQUÍ VEMOS SI SUBIMOS UN POCO LA LINEA AZUL EN EL REFERENCED QUE ESTA JUSTO ARRIBA ME DICE QUE VIENE DE 401245
Lo que hace que decida registrarnos o no es la comparación que esta en la sentencia anterior.
Lo que nosotros necesitamos es que siempre salte, independientemente de lo que compare y sea cual sea el número que pusimos como NÚMERO DE SERIE.
COMO SE HACE ESO? FÁCIL.
En vez de un salto condicional je usamos una sentencia que salte siempre que es la sentencia jmp.
O sea que tenemos que reemplazar je por jmp y saltaría siempre por encima del call que lleva a NO LUCK THERE MATE y nos registraría siempre sea cual fuere el número que hayamos puesto.
Esto no debe asustarlos la mayoria de los cracks reemplazan saltos condicionales por JMP no es nada del otro mundo.
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 14
Lección
1
AQUÍ SE VE 401245 QUE ALLI HAY UN CALL Y ARRIBA UN SALTO QUE PUEDE SALTEAR ESE CALL PUES PUEDE IR A 40124C SI SALTA
Vamos al WDASM y nos ponemos encima de la sentencia 401243 (CON GOTO CODE LOCATION). Copiamos una cadena de números hexadecimales que
comience en el mismo 401243 y seguimos copiando los números siguientes hasta hacer una cadena de 10 o 12 cifras (copiamos los números que están en negrita):
:00401243 7407 je 0040124C :00401245 E818010000 call 00401362 :0040124A EB9A jmp 004011E6 Por ejemplo 74 07 E8 18 01 00 00 EB 9A
Vemos en la sentencia 40124a jmp 4011e6 que el primer número
hexadecimal que corresponde a la sentencia JMP es EB o sea que tenemos que reemplazar el 74 que es je por EB que es JMP.
Cerramos el WDASM, (PASO NECESARIO PORQUE VAMOS A ABRIR EL ULTRA EDIT Y SI EL ARCHIVO ESTA EN USO NO NOS VA A DEJAR GRABAR, LO MISMO QUE SI EL CRACKME ESTA FUNCIONANDO CERREMOSLO ANTES).
Abrimos el ULTRA EDIT y ponemos open file y abrimos el crackme, como el ULTRA EDIT ES UN EDITOR HEXADECIMAL nos va a mostrar todos los números hexadecimales del programa uno a continuación del otro (SON LOS MISMOS NÚMEROS QUE ESTABAN EN EL WDASM SOLO QUE AQUÍ NO APARECEN LAS SENTENCIAS DESENSAMBLADAS).
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 15
Lección
1
Vamos a SEARCH - FIND y copiamos la cadena de números que deseamos buscar pero todos los números seguidos sin dejar espacio o sea
7407E818010000EB9A
Nos va a aparecer marcado donde esta la cadena a cambiar y hacemos click en el 74 y escribimos EB, después vamos a FILE y ponemos SAVE para que guarde los cambios.( SI NO LES DEJA GRABAR ES PORQUE ESTA ABIERTO EL WDASM O EL ARCHIVO CRACKME esta ejecutándose).
Ahora ejecutamos de nuevo el archivo crackme y vamos a donde dice REGISTER y ponemos PEPE y 989898, si quieren pongan otro número, pero el nombre debe ser de letras nada más no números, ponemos ACEPTAR y CHACHAN
GREAT WORK MATE, NOW TRY DE NEXT CRACKME PROGRAMA CRACKEADO Y YA NO SE RIE MÁS
La próxima lección LA BESTIA el SOFTICE.
Si no entendieron algo por favor pregunten en las listas. Si pudieron entender lo que hice no van a tener problemas para ser crackers, porque hay que aplicar esto un poco más un poco menos para crackear. EL SOFTICE LA PROXIMA SEMANA
POR EL MISMO BATICANAL Ricardo Narvaja
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 16
Lección
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 17
Lección
2
LECCIÓN 02: COMO COMENZAR A USAR EL SOFTICE
Que es el SOFTICE exactamente?
El softice es exactamente un debugger o sea es una herramienta que usan los programadores para DEPURAR de errores sus programas, (DEBERIAN A VECES USARLO MÁS Y DEPURARLOS BIEN), pero bueno, a nosotros los crackers nos sirve para DEPURAR los programas de las protecciones.
CUALQUIER PROGRAMA SE PUEDE CRACKEAR CON SOFTICE?
Cualquier programa puede ser destripado con softice, aunque hay ciertos programas que vienen con protecciones antisoftice, de
cualquier manera esas protecciones generalmente pueden ser fácilmente evitadas utilizando el programita FROGSICE que les hice bajar entre las herramientas, al haber ejecutado el FROGSICE y estar este en la BARRA DE TAREAS activado, el softice es casi indetectable.
Después el softice nos da la posibilidad de ver el programa
funcionando y hacer pruebas y muchas cosas más, queda en la habilidad del cracker y también en la dificultad de la protección la posibilidad de crackearlo o no.
HAY PROGRAMAS INCRACKEABLES?
Hay ciertos programas que son demostraciones que no traen todas las opciones, o sea que funcionan parcialmente, si en la demostración están deshabilitadas y se pueden habilitar no hay problema, el tema es cuando hay partes que directamente no vienen en la demostración o sea que el programa esta incompleto, ahí la cosa se complica porque una cosa es crackear y otra completar un programa con cosas inexistentes. Hay crackers especialistas que escriben partes faltantes de programas pero creo que eso más que INGENIERIA REVERSIBLE es ya otra ciencia.
BUENO COMENCEMOS Y BASTA DE CHACHARA
Hay dos formas de entrar a un programa con el softice, vamos a aprender primero la más fácil, (AUNQUE QUIZAS LA MENOS USADA).
Si en el escritorio el programa cuando se instalo les puso un ACCESO DIRECTO llamado solamente SYMBOL LOADER hagan click allí, si no, pueden ir a INICIO-PROGRAMAS-NUMEGA SOFTICE- SYMBOL LOADER (LES RECOMIENDO SI NO LO TIENEN HACER UN ACCESO DIRECTO).
Antes de seguir por favor impriman esta lección porque si no, van a tener que estar entrando y saliendo de SOFTICE a cada rato y se van a marear.
Una vez que ejecutaron SYMBOL LOADER les va a aparecer la ventana del SOFTICE que se usa solo para arrancar desde aquí las victimas, por eso vamos a OPEN y buscamos el CRACKME.EXE que no este crackeado (SI NO LO TIENEN BAJENLO DE NUEVO) y lo abrimos entonces nos va a aparecer el mensaje:
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 18
Lección
2
o en su caso les aparecerá la carpeta donde esta y que esta abierto perfectamente.
Entonces comienza el acto de magia, vamos a MODULE y clickeamos LOAD y nos va a aparecer un cartelito de error (NO SE PREOCUPEN ES UN ERROR PROVOCADO A PROPOSITO POR EL SOFTICE PARA ENTRAR) pongan que SI y ... ADENTRO MI ALMA.
ESTAMOS DENTRO DEL SOFTICE (PRIMER PANTALLAZO)
Que vemos aquí ahora que estamos dentro.
Un cuadradito titilando abajo en la zona de comandos (PARA ESCRIBIR). Un poco más arriba una línea horizontal verde con en el medio un nombre (CRACKME +....) eso significa que estamos en la ejecución del archivo crackme.
O sea que allí aparece el nombre del archivo al cual pertenece la parte que estamos ejecutando.
Después un poco más arriba aparece la parte donde se va a desensamblar el programa, similar en forma a la que estamos acostumbrados a ver en el WDASM, la primera columna son las posiciones de memoria, la segunda los números hexadecimales y la tercera las sentencias en ensamblador. Si recuerdan la primera lección yo les dije que anotaran el punto de entrada del programa o ENTRY POINT del crackme aquí vemos que la línea blanca que indica la sentencia que se va a ejecutar esta en
401000 que era el punto de entrada del programa crackme.
Al lado se ven por ahora en vez de las sentencias de ensamblador todas INVALID INVALID y eso es porque el programa SOFTICE genero un error para que el programa pare de golpe justo antes de empezar, pero eso no es nada.
La tecla F10 es la que hace que ejecutemos una sola sentencia (LA 401000 que es donde esta la raya blanca), la tecleamos una sola vez. Ahora la línea blanca paso a 401002 al haberse ejecutado la primera sentencia y ya aparece el programa como corresponde en la segunda columna tenemos los números HEXADECIMALES idénticos que en el WDASM (SI TIENEN DUDAS ENTREN AL WDASM Y VAYAN A GOTO ENTRY POINT Y
COMPRUEBEN) y al lado las sentencias en idioma ensamblador, si alguno se fija el idioma que usa el SOFICE no es exactamente igual que el del WDASM pero las sentencias son las mismas y hacen lo mismo, es una pequeña diferencia de notación pero las sentencias importantes son iguales.
(HAY CASOS EN QUE NO SON IGUALES LOS NÚMEROS HEXADECIMALES DEL WDASM Y EL SOFTICE Y ESO OCURRE CUANDO EL EJECUTABLE ESTA COMPRIMIDO , CON LO CUAL EL SOFTICE ES EL QUE NOS MARCA LA VERDAD DE LO QUE HAY EN MEMORIA Y PARA VER LO MISMO EN EL WDASM DEBEMOS DESCOMPRIMIR EL EJECUTABLE LO QUE SE ENSEÑARA EN FUTURAS LECCIÓNES)
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 19
Lección
2
Apretamos F2 y aparecen los valores de todos los registros en este instante.
Algo muy útil para cuando estemos en una sentencia CMP eax, ebx por ejemplo y queramos saber que esta comparando exactamente.
También apretando F4 aparece congelada la pantalla de WINDOWS en ese preciso instante, ojo que esta tecla no es para volver a WINDOWS sino para mirar si apareció algún cartel a algo en el escritorio cuando ejecutamos alguna sentencia, volvemos al softice con F4 de nuevo. Más arriba aparece una banda horizontal que es el editor hexadecimal tiene posiciones de memoria y los bits en hexadecimal, con lo cual uno puede probar cambios en la memoria que después puede hacer en el
ejecutable con el ULTRA EDIT.
Todos los cambios que hacemos con el softice son en la memoria y nos sirven para probar si al cambiar una cadena por otra en programa se comporta como nosotros queremos, pero si volvemos a cargar el programa de nuevo, nada cambio en el ejecutable, entonces hay que hacer los cambios que ya probamos que sirven en el SOFTICE con el ULTRAEDIT. El editor hexadecimal no indica la misma posición de memoria que la que se esta ejecutando y eso es porque yo puedo querer cambiar algún número que este más adelante en el programa y que no se este
ejecutando en este momento exacto.
Además en la misma línea horizontal a la derecha están los caracteres en modo texto (ASCII) por si queremos ver a que carácter corresponde el número hexadecimal.
Si alguno no puede ver alguna de las partes que acabo de mencionar, es probablemente por que en el WINICE.dat no esta usando la misma línea INIT que uso yo, asi que mejor cambie la que tiene por la que yo recomendé.
O TAMBIEN PUEDE ACTIVAR O DESACTIVAR PARTES CON LOS COMANDOS WC, WD, WF, WL, WR, WW, WS, WX. Al ejecutar estos comandos se activan las distintas partes del SOFTICE y si volvemos a ejecutar el mismo comando se desactivan nuevamente.
Por otro lado si alguien prefiere ver en vez de en este tipo de
visualización, el SOFTICE funcionando en una ventana de WINDOWS, tiene que ir a INICIO-PROGRAMAS-NUMEGASOFTICE-DISPLAY ADAPTER SETUP y ahí poner la tilde en UNIVERSAL VIDEO ADAPTER y después clickear en test y salir de allí y reiniciar la maquina, por supuesto el funcionamiento es idéntico, hay que apretar la S exactamente igual al arrancar WINDOWS y para entrar y salir hay que teclear CTRL+D igual, a mi personalmente me cansa la vista un poco esta forma de visualizar pues la letra es más chica, pero gustos son gustos.
Además si queremos convertir un número de hexadecimal a decimal y ver tambien el carácter en modo texto ASCII el comando utilizado es: ? (NÚMERO HEXA)
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 20
Lección
2
? 47
El resultado es
00000047 0000000071 "G"
O sea el 47 HEXA corresponde al 71 decimal y al carácter G en ASCII.
EMPECEMOS A HACER DESASTRES
Estábamos dentro del archivo crackme y paraditos en la sentencia 401002 si hacemos F10 nuevamente vemos que ejecuta el CALL que esta allí y sigue con la próxima sentencia, en realidad el comando F10 ejecuta una sentencia pero no entra a ver dentro de los CALL cual es el contenido de la subrutina y ejecutarla paso por paso. Si
quisiéramos entrar a ejecutar paso por paso alguna rutina deberíamos teclear F8 en vez de F10, pero como nosotros no queremos investigar el CALL no entramos , simplemente hago mención por si alguna vez lo
necesitamos, sepamos como hacer.
Podríamos ir si quisiéramos haciendo F10, miles de veces hasta que el programa arranque pero como chino no me quiero volver, vamos a dejar que siga ejecutándose el programa y vamos a poner un punto de
interrupción para que cuando el programa llegue a ese punto se detenga allí y vuelva al SOFTICE.
Como ya sabemos por haber estudiado el WDASM cual puede ser el salto sospechoso, vamos a poner un punto de interrupción allí.
De cualquier manera yo puedo llegar a ese mismo salto sin haber
utilizado para nada el WDASM pero como un cracker se ayuda de todo lo que tiene a mano, vamos a probar el salto ese, más adelante les voy a enseñar como llegar a encontrar el salto directamente con el SOFTICE. Para poner un punto de interrupción se utiliza el comando BPX que quiere decir breakpoint o sea tecleamos en la línea de comandos... BPX 401243
...que era el salto sospechoso y ENTER (DESDE AHORA EN MÁS CUANDO DIGO TECLEAR UN COMANDO SE SOBREENTIENDE QUE HAY QUE TECLEAR ENTER AL
FIANALIZAR DE ESCRIBIR EL MISMO), y para que el programa continué ejecutándose tecleo X y entonces el programa sigue funcionando y nos aparece la ventana del CRACKME, donde entramos en HELP y luego
REGISTER y ponemos un nombre compuesto de todas letras por ahora y un número de serie cualquiera, y le damos a Ok y entonces el SOFTICE interrumpe el programa gracias al breakpoint que hemos puesto, entonces ahora la línea blanca esta en
401243 74 07 jz 0040124c NO JUMP!
Aquí el salto que en el WDASM era je, es llamado jz que es lo mismo en realidad, porque JE quiere decir que saltan si son iguales y JZ que salta si la diferencia entre los dos es cero lo que ocurre cuando son iguales, es diferencia de notación pero los números hexadecimales son los mismos 74 07 y al lado aparece la decisión que tomo el programa con respecto a la comparación y al salto o sea NO JUMP (NO VA A SALTAR).
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 21
Lección
2
vemos que la secuencia de números hexadecimales que habíamos
encontrado en el WDASM (74 07 E8 18 01 00 00 EB 9A) aquí es la misma también ya que si seguimos copiando los números que están al lado de las sentencias siguientes vemos que después de 74 07 viene el CALL 401362 cuyos números heaxdecimales son (E8 18 01 00 00) CON LO QUE UNIENDO LOS DOS EL 74 07 DEL SALTO Y EL E8 18 01 00 00 DEL CALL TENEMOS LA CADENA CASI COMPLETA (podemos seguir unos números más por si acaso mirando la próxima sentencia).
Si queremos que en el editor hexadecimal aparezca la cadena a modificar usamos el comando E seguido de la dirección de memoria a partir de la cual queremos que se visualicen los números HEXA. Tecleamos entonces
E 401243
y el cursor quedara titilando justo encima del 74 que hay que cambiar, si ahí tecleamos EB y después ENTER vemos que automáticamente la
sentencia JZ cambio por JUMP y ahora cambio la decisión del programa NO JUMP! por JUMP! o sea que va a saltar y va a hacer en la memoria la prueba de lo que sucedería si nosotros cambiáramos los bits con el ULTRAEDIT en el ejecutable.
Tecleamos X y entonces GREAT WORK MATE!
Quiere decir que la prueba fue exitosa y nos registra, entonces
podemos ir al ultraedit buscar la cadena y cambiarla en el EJECUTABLE para que quede definitivo, igual por ahora no lo hagan.
Cierren el CRACKME y cierren la ventana del SYMBOL LOADER.
Ejecuten el crackme normalmente sin abrirlo desde el SYMBOL LOADER y cuando aparezca la pantalla de registro pongan un nombre de letras y la clave de números.
Pongan Ok y listo, otra vez el softice detiene el programa en la misma sentencia, ya que como el BPX quedo en la memoria sigue funcionando y va a parar el programa ahí siempre, a menos que lo borremos.
Por ahora dejémoslo, igual el comando que borra los BREAKPOINTS es BC con eso se borran todos los breakpoints que pusimos, más adelante lo haremos.
Hay otra forma también simple de probar si el salto al cambiarlo funciona y se usa generalmente cuando hay programas que tienen varios saltos dudosos y para no perder tiempo editando nada.
En la ventana superior de los registros se encuentra el registro EIP, este registro es muy importante porque es el que muestra cual es la próxima sentencia que va a ejecutar el programa que en nuestro caso es la de la línea blanca o sea 401243.
Se puede editar el registro EIP para que el programa salte adonde yo quiero?
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 22
Lección
2
Que no se puede hacer con SOFTICE?
El comando para editar un registro es R seguido del registro que quiero cambiar y el signo igual y el nuevo valor que le quiero dar. O sea R EIP=40124c que es el lugar adonde quiero que salte, de esa forma salto sin cambiar la sentencia a ver que pasa y QUE PASA?. GREAT WORK MATE!
Otra forma de cambiar el salto es editar directamente la sentencia ensamblador eso se hace con el comando A...
A 401243
y cuando aparece el cursor titilando escribo la sentencia que reemplace al salto JZ escribo...
JMP 40124c
y cuando me aparece para escribir la sentencia siguiente tecleo ESC para salir del editor de sentencias.
Con esto editamos directamente la sentencia (MUY UTIL CUANDO UNO NO CONOCE EL CODIGO HEXADECIMAL DE UNA SENTENCIA).
Si no se que número corresponde a JMP 30124c al usar el comando A lo cambio directamente aunque no sepa que número debe reemplazarse y después me fijo que número hexadecimal quedo en el lugar de JMP y es EB como sabemos.
Bueno ya sabemos los métodos para reemplazar un salto en la memoria y probar si es correcto antes de hacer los cambios con el ULTRAEDIT. El otro salto es igual, una vez que para en 401243, pongo otro BPX en el otro salto, pero para estudiarlo un poco más pongo el BPX un poco antes o sea en 401382
BPX 401382
Una vez que pongo el nombre (USEMOS PEPE) y el número de serie (989898) el programa para en la dirección 401382.
Vemos que está usando algo en el registro ESI, para ver si hay algún texto allí tecleamos...
D ESI
y en la ventana de texto ASCII nos aparece la palabra PEPE y los
números hexadecimales que corresponden a ese texto son 50 45 50 45, es evidente que va a testear como dijimos si todos los caracteres que tecleamos son letras, como lo hace?
Tecleo F10 para ejecutar la sentencia.
La próxima sentencia MOV AL, [ESI] mueve el primer carácter del contenido de ESI hacia AL o sea que una vez que tecleo F10 puedo fijarme el valor que toma AL.
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 23
Lección
2
? AL y toma el valor 50 que corresponde a la letra P.
Luego testea TEST AL, AL si es cero y como no es cero en el salto subsiguiente pone NO JUMP. Luego compara AL con 41
para ver que letras son ambos tecleamos ? AL me dice que es "P"
? 41 me dice que es '"A"
o sea que está comparando si la letra es mayor que A (SI ES MENOR TE TIRA A NO LUCK THERE MATE) y si es mayor sigue compara si es menor que Z y si es mayor la transforma en MAYUSCULA y SIGUE.
Aquí también podemos probar el salto vemos que sin cambiar nada cuando pusimos una letra al llegar al salto crítico nos aparece NO JUMP en cambio cuando ponemos un número (EN EL NOMBRE) nos aparece JUMP o sea que nos va a tirar a NO LUCK THRE MATE.
Parcheando el salto con el editor hexadecimal, cambiándolo por 90 90 , o poniendo R EIP=40138d que es la sentencia siguiente o poniendo A 40138b NOP (ENTER) y nuevamente NOP (ENTER) parchearemos este salto y evitaremos este NO LUCK THERE MATE por poner números en vez de letras. OJO QUE DESPUES LES VA A APARECER EL OTRO Y TIENEN QUE CAMBIARLO
TAMBIEN PARA EVITAR EL OTRO CARTELITO.
ESTE ES LA PRIMERA PARTE DE LA LECCIÓN DE SOFTICE (UN PRIMER
PANTALLAZO PARA QUE LO VAYAN USANDO), OBVIAMENTE ES UN PROGRAMA QUE TIENE TANTAS POSIBILIDADES QUE ES MUY DIFÍCIL EN UNA SOLA LECCIÓN EXPLICARLAS POR LO QUE SEGUIREMOS EN UNA SEGUNDA PARTE DONDE LES EXPLICARE COMO CRAKEAR SOLO CON SOFTICE Y EL RESTO DE LAS
POSIBILIDADES DE INTERRUPCION QUE TIENE ESTE MARAVILLOSO PROGRAMA Y LA FORMA DE HALLAR NÚMEROS DE SERIE CON SOFTICE.
PRACTIQUEN INVERTIR LOS SALTOS EN EL MIXIIIxa, bájenlo de nuevo, la versión sin parchear instálenlo de nuevo y prueben invertir los saltos con los tres métodos conocidos.
LA PROXIMA PARTE DE LA LECCIÓN DE SOFTICE EL VIERNES QUE VIENE. AU REVOIR
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 24
Lección
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 25
Lección
3
LECCIÓN 03: COMO UTILIZAR EL SOFTICE CON LAS FUNCIONES DE
WINDOWS (API’S)
El softice acepta además de los BPX numéricos otros que son BPX a funciones que utiliza WINDOWS para realizar ciertos trabajos que los programas aprovechan para no escribir tantas funciones cuando ya se puede realizar ese trabajo con funciones de WINDOWS.
Esto es muy útil para los crackers para que el programa se interrumpa cuando llama a estas funciones y con ello ayuda cuando el WDASM no nos dice mucho o cuando no aparecen las STRINGS REFERENCES que buscamos. Por ejemplo en el crackme nosotros buscamos la STRING REFERENCE -NO
LUCK THERE MATE- y allí no hubo problema porque aparecía claramente la
STRING REFERENCE y entonces la buscamos asi, pero con el softice
podríamos también arrancar el programa ir a HELP - REGISTER y poner el nombre pepe y la clave 989898 (O CUALQUIER OTRA) y antes de poner OK hacemos CTRL. + D y en el SOFTICE tipeamos
BPX MESSAGEBOXA
y después volvemos al programa con X y después si ponemos OK y el programa se interrumpe cuando se comienza a ejecutar la función MESSAGEBOX que dibuja esas ventanitas con mensajes y entonces
tecleamos F12 para que se ejecute toda esa función vemos que aparece en 40137d justo en la zona de chico malo que nos decía el WDASM y si ejecutamos F10 para que se ejecute el RET vemos que vuelve a la zona donde esta la comparación y el salto a la zona de chico malo que habíamos llegado con el WDASM.
Además si volvemos a repetir el proceso y antes de hacer el ret borramos todos los BPX con BC* y hacemos dobleclick encima de las sentencias 40136b y 401370 hasta que se pongan celeste (ESTO EQUIVALE A PONER UN BPX EN ESA POSICIÓN) y ejecutamos de nuevo el crackme y HELP-REGISTER ETC ETC va a parar en esas sentencias allí podemos ver haciendo...
D 401136b VEMOS NO LUCK
D 401370 VEMOS NO LUCK THERE MATE
O sea vemos como esta preparando los mensajes para cuando se ejecute la messagebox aparezcan los odiosos NO LUCK y NO LUCK THERE MATE y si editamos esos mensajes con E y ponemos otros valores hexadecimales que correspondan a otras letras van a ver que al seguir el programa van a aparecer en el cartelito el texto que ustedes pongan en vez de NO LUCK THERE MATE.
En el WDASM las funciones importadas que utiliza el programa se pueden ver en el iconito IMP FN que esta a la izquierda del de STRING
REFERENCES cinco o seis iconos a la izquierda del de STRING, allí esta la lista de funciones utilizadas y haciendo doble clic en alguna de ellas se puede ver cuando las utiliza.
Si hacemos allí clic en USER32.MESSAGEBOXA va a tirarnos donde se usa esa función dentro del programa.
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 26
Lección
3
Existen muchas funciones y varias son las más utilizadas por los crackers, además de MESSAGEBOXA, esta también MESSAGEBOX sin la A que es la misma función equivalente para programas de 16 bits.
También hay funciones bastante parecidas: bpx MessageBox bpx MessageBoxExA bpx MessageBeep bpx SendMessage bpx DialogBoxParamA bpx CreateWindow bpx CreateWindowEx bpx ShowWindow bpx UpdateWindow bpx GetDlgItemText bpx GetDlgItemInt bpx GetWindowText bpx GetWindowWord bpx GetWindowInt
Para programas con vencimiento de tiempo se usan estas funciones para que el programa tome la hora o la fecha del sistema:
bpx GetLocalTime bpx GetFileTime bpx GetSystemtime
Entonces se pone un bpx en alguna de estas funciones y después cuando compara la fecha con la fecha en que el programa tiene que vencer se parchea el salto. (VEREMOS MÁS ADELANTE EJEMPLOS DE ESTO)
Después está esta para propósitos generales: BPX HMEMCPY
Para crackear números de serie: BPX LSTRCMPA
BPX MULTIBYTETOWIDECHAR BPX WIDECHARTOMULTIBYTE
Generalmente dentro de estas funciones en la primera se comparan
cadenas de texto y en las otras dos se transforman cadenas de texto de tipo normal a ancho o sea que si la cadena normal es “787878” si le aplicas la segunda función se transforma en “7.8.7.8.7.8” que se llama formato ancho y es muy utilizada en las comparaciones, después
generalmente con D en las posiciones de memoria dentro de la función aparecerá la cadena de texto o la clave (MÁS ADELANTE VEREMOS
EJEMPLOS)
Iremos viendo en sucesivos crackeos que iremos estudiando como se utilizan estas funciones y como aprovechar sus utilizaciones para nuestro provecho.
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 27
Lección
3
Vemos también que pueden practicar con el MIXIIxa que también utiliza BPX MESSAGEBOX lo único que hay que tener en cuenta es que cuando ponemos el BPX MESSAGEBOX y cuando rompe en el softice apretamos F12 y después ponemos OMITIR y vuelve a romper en el SOFTICE esta vez la línea verde que nos muestra que programa se esta ejecutando dice MFC42 por lo cual tenemos que hacer F12 tantas veces como sea necesario para llegar al ejecutable, en este caso con una sola vez que tecleemos F12 vuelve a aparecer el MIXxaIII en la parte que habíamos estudiado con el WDASM y un poco más arriba están los saltos a parchear.
Un ejemplo de cómo utilizar la función BPX HMEMCPY es el programa IDESK versión 2,60 que se puede bajar del FREEDRIVE.
http://www.freedrive.com/ASP/PostFolderShortcut.asp?fsc=8737470
Esta es la otra carpeta del FREEDRIVE donde hay algunos programas para crackear.
Este programa cuando lo instalamos se instala en C:/INTERNET DESK y allí esta el ejecutable IDESK.exe, si lo desensamblamos con el WDASM vamos a ver que no aparecen STRING REFERENCES ni funciones importadas (POSIBLEMENTE EL EJECUTABLE ESTE COMPRIMIDO LO CUAL APRENDEREMOS A DESCOMPRIMIR MÁS ADELANTE PERO IGUAL LO VAMOS A CRACKEAR)
Ejecutamos el programa y cuando arranca vamos a donde esta el SIGNO DE INTERROGACIÓN - ACERCA DE - REGISTRAR y allí nos aparece una ventanita con un lugar para poner el número de serie y el nombre de usuario. Si probamos con el softice vemos que BPX MESSAGEBOX NI MESSAGEBOXA son ya que allí no para el programa. Entonces hacemos lo siguiente:
Escribimos un número de validación cualquiera por ejemplo 989898 (POR AHORA USEN ESTE NÚMERO) y un nombre de usuario por ejemplo pepe y antes de apretar REGISTRAR hacemos CTRL+D y tecleamos BPX HMEMCPY y luego X para volver al programa y ahí si ponemos REGISTRAR y
BUUUUUUUUUMP adentro.
Tecleamos varias veces F12 (SIETE EXACTAMENTE HASTA VOLVER AL IDESK FIJARSE LA LINEA VERDE DONDE DICE EL NOMBRE DEL PROGRAMA EJECUTADO), y allí seguimos ejecutando con F10 sentencia por sentencia hasta que ejecuta todos esos RET y POP y vuelve a la parte buena del programa 4c9d7b.
Allí podemos borrar todos los BPX con BC* y poner un BPX 4c9d7b para que si volvemos a ejecutar el programa no tengamos que hacer todo ese proceso y paremos directamente aquí.
Si seguimos tecleando F10 vamos a ver varios saltos que si los
invertimos no pasa nada hasta que llegamos a la comparación y el salto de 4c9dc0 y 4c9dc6 allí esta el salto que al invertirlo nos registra pero no lo hagan ya que allí hay más sorpresas podemos sacar el número de serie para el nombre pepe (O PARA EL QUE HAYAN PUESTO USTEDES) Cuando estamos encima de la comparación CMP EAX,[52b504]
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 28
Lección
3
esta sentencia compara EAX con el CONTENIDO de 52b504 como estamos justo encima de la sentencia el SOFTICE y allí hay una operación que es hallar el CONTENIDO DE 52b504 siempre que una sentencia tiene una operación y estamos justo encima de ella el SOFTICE nos muestra en CELESTE el resultado de la operación, si miramos en la esquina superior derecha vemos:
DS:52B504 =F1ACA Veamos que es F1ACA ? F1ACA = 989898
O SEA QUE ESTA COMPARANDO ALGO CON 989898 que es el número trucho de serie que yo puse y ¿que puede comparar con el número trucho
989898?... EL NÚMERO DE SERIE VERDADERO o sea que si hacemos ? EAX tenemos el número de serie que corresponde a nuestra maquina y al nombre que hayamos puesto.
En general el método de HMEMCPY es bastante usado para hallar números de serie o saltos cuando el WDASM no ayuda mucho o en programas VISUAL BASIC o DELPHI también.
Siempre hay que volver al programa con F12 varias veces y después seguir ejecutando F10 hasta llegar a la parte de comparaciones y saltos.
En realidad las funciones de WINDOWS nos permiten interrumpir la ejecución de un programa casi cuando queramos, a medida que vayamos avanzando veremos otras funciones y como nos pueden ayudar a crackear programas distintos.
ESCRIBAN NO SEAN VAGOS que eso da fuerza para seguir. Ricardo
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 29
Lección
4
LECCIÓN 04: COMO USAR EL RISC PROCESS PATCHER PARA HACER UN
CRACK DISTRIBUIBLE
El título nos dice algo muy importante, como puedo distribuir cracks si no utilizo un programa que pueda hacer los cambios que yo hago con el ULTRAEDIT o en el SOFTICE igual en otras maquinas sin tener que enseñarles a usar el SOFTICE ni el ULTRA EDIT simplemente con un programita que genere un cambio que pueda ser usado en todas las maquinas?
Para eso vamos a usar el programita RISC PROCESS PATCHER que bajamos junto con las herramientas, es un programa fácil de usar y entender como se usa y sirve para TODOS los casos sabiéndolo utilizar.
A que me refiero con todos los casos?
En el caso de ejecutables o archivos que pueden ser desensamblados con WDASM y se pueden encontrar los valores a cambiar en el ULTRAEDIT no hay problema para ningún parcheador que hay en el mercado, todos funcionan.
Pero el problema se da en programas como el IDESK o muchísimos que existen actualmente que vienen empaquetados o comprimidos y los parcheadores tradicionales no sirven porque lo que encontramos en el SOFTICE y cambiamos y funciona , no podemos encontrarlo en el WDASM ni en el ULTRAEDIT con lo cual solo podemos hacer los cambios en memoria con el SOFTICE y no podríamos realizarlos ni encontrarlos en el
ejecutable ya que este esta comprimido y para encontrar los números a cambiar habría que descomprimirlo lo cual es una lección que
aprenderemos más adelante ya que es toda una ciencia. (OJO NO ES DESCOMPRIMIR CON WINZIP, LOS PROGRAMADORES USAN PROGRAMAS ESPECIALES DE COMPRESIÓN QUE NO SE DESEMPAQUETAN ASI NOMAS Y APRENDER A
DESCOMPRIMIRLOS LLEVARA UNA O DOS LECCIÓNES MÁS ADELANTE)
Igualmente con el RISC PROCESS PATCHER podemos parchear programas comprimidos, descomprimidos y de cualquier tipo.
COMO TRABAJA ESTE PROGRAMITA?
Muy sencillo. Los parcheadores tradicionales localizan el ejecutable y hacen lo que nosotros hacemos con el ULTRAEDIT solo que
automáticamente, localizan los números a cambiar y los reemplazan y listo.
Pero en los archivos comprimidos esto no sirve ya que las cadenas halladas con el SOFTICE no las vamos a encontrar.
Aquí viene a tallar este maravilloso programita.
El RISC PROCESS PATCHER es un cargador que no cambia ni un solo número en el ejecutable, NADA NADA, con lo que nos evitamos ciertas
protecciones de programas que chequean si la sumatoria de todos los números que lo componen fue modificada y dejan de funcionar.
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 30
Lección
4
Carga el ejecutable y espera que se descomprima o arranque solamente según el caso y entonces cambia los valores que nosotros queremos en la memoria directamente y sigue funcionando el programa normalmente. O sea que es un cargador que hay que copiar en la carpeta de
instalación del programa y arrancarlo siempre desde allí, ya que si arrancamos el programa desde su acceso directo no se producirá ningún cambio y funcionara como si no lo hubiésemos crackeado.
Y como hacemos para lograr el crack?
Una vez que descomprimimos el RISC PROCESS PATCHER , descomprimimos también el archivo ZIP SCRIPTS que se encuentra dentro del mismo y que va a crear una carpeta que se llama SCRIPTS.
Les RECOMIENDO que no este funcionando el SOFTICE cuando usen el RPP ya que no son compatibles y a veces se cuelga la maquina.
Allí dentro de la carpeta SCRIPTS hay varios archivos con extensión RPP que son los que uno tiene que editar con el BLOC DE NOTAS para crear el crack.
Si no se abren con el BLOC DE NOTAS hacer clic derecho encima de alguno de ellos teniendo la tecla SHIFT apretada y cuando aparece el menú elegir ABRIR CON y allí selecciónar el BLOC DE NOTAS (NOTEPAD) y poner la tilde el ABRIR SIEMPRE CON ESTE PROGRAMA y listo, siempre se abrirán con el NOTEPAD.
Entonces una vez que encontramos los valores que debemos cambiar en el SOFTICE anotamos la posición de memoria en que esta el valor en un papel y los valores HEXADECIMALES correspondientes que debemos cambiar probados en el SOFTICE que funcionan antes de ir al RISC.
Veamos unos ejemplos de los SCRIPTS que tengo yo del RISC PROCESS PATCHER.
ESTO ES LO QUE DICE EL SCRIPT PARA CRACKEAR EL WINBABEL
; winbabel:
F=Winbabel.exe: ; PROCESS TO PATCH O=crack_the_winbabel.EXE: ; LOADER TO CREATE P=786d/74/eb: ;
P=5fa4/74/EB: ; P=5faa/75/EB: ;
$ ; End of script
La primera sentencia uno pone el nombre del programa a crackear para no olvidarse (COMO HAY UN PUNTO Y COMA AL PRINCIPIO ESTO NO TIENE NINGUN EFECTO)
Después de la letra F= tengo que poner el nombre del ejecutable a parchear.
Después de la letra O= tengo que poner con que nombre quiero que se grabe el archivito crack.
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 31
Lección
4
Después de la P= pongo la dirección de memoria donde empiezo a cambiar valores y si es un solo valor a cambiar pongo la barra y después el valor que existe en la memoria y debo reemplazar y después la barra y el valor que yo quiero que vaya alli reemplazando al anterior.
En el ejemplo en la posición de memoria 786d en la cual el SOFTICE me dice que hay un valor de 74 yo lo quiero reemplazar por EB.
Las tres P siguientes son el mismo caso que el anterior ya que en este programa hay que reemplazar tres valores para crackearlo.
y al final de todo $ ; end of the script para terminar.
Hay que acordarse siempre de lo dos puntos que lleva cada sentencia al final y que las aclaraciones deben ir después de un punto y coma (COMO POR EJEMPLO ;PROCESS TO PATCH)
Una vez que hice el archivito con este sistema y lo reviso que esta correcto, ejecuto el programa RPP y me pide que script quiero usar y le pongo el nombre del que cree y entonces acepto y me genera el crack con el nombre CRACK THE WINBABEL.exe dentro de la carpeta de los
scripts y lo copio a la carpeta del programa y lo ejecuto, si todo esta bien hecho debe funcionar perfectamente.
Me olvide de decirles que si hay que reemplazar varios números
consecutivos en la sentencia P se debe escribir como en el siguiente ejemplo.
CRACK PARA EL TURBOGO
; TURBOGO crack
F=Turbogo.exe: ; PROCESS TO PATCH O=crack_the_turbogo1.exe: ; LOADER TO CREATE P=473f4b/0F,84,2B,01,00,00/90,90,90,90,90,90: ;
P=48b925/75,46/90,90: ;
$ ;end of script
Después de la P= pongo la primera posición de memoria desde donde comienza la secuencia a cambiar en este caso 473f4b y después pongo la barra y los valores existentes y consecutivos que encontré en el SOFTICE separados por comas, una vez que termine la cadena a
reemplazar pongo la barra de nuevo y después la secuencia de valores que reemplazan a los anteriores también separados por comas y al final los dos puntos.
OJO LOS VALORES QUE DEBEN SER REEMPLAZADOS DEBEN TENER LA MISMA
CANTIDAD DE NÚMEROS QUE LOS QUE LOS REEMPLAZAN EN ESTE CASO SON 0F 84
2B 01 00 00 que son seis números y los reemplazan 90 90 90 90 90 90
que son seis números también.
Cuales pueden ser los errores al hacer el script?
A VECES NOS OLVIDAMOS LOS DOS PUNTOS O EL PUNTO Y COMA Y CUANDO EJECUTAMOS EL RISC NOS DA ERROR PORQUE NO ENCUENTRA EL SCRIPT BIEN HECHO.
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 32
Lección
4
SI CUANDO LO COPIAMOS EN LA CARPETA DEL PROGRAMA A CRACKEAR Y LO EJECUTAMOS DICE QUE NO ENCUENTRA EL PROCESO SE DEBE A QUE:
• O LO COPIAMOS EN CUALQUIR LADO EN VEZ DE EN LA CARPETA DONDE ESTA EL EJECUTABLE A PARCHEAR
• O LOS VALORES QUE ESTAMOS REEMPLAZANDO NO LOS ENCUENTRA YA QUE LOS COPIAMOS MAL
• O NO PROBAMOS BIEN QUE ESTEN EN EL SOFTICE Y QUE AL REEMPLAZARLOS FUNCIONEN.
AQUÍ ESTA EL SCRIPT DEL CUENTAPASOS 3.78
; CUENTAPASOS 3,78
F=cpasos32.exe: ; PROCESS TO PATCH O=crack_the_cuentapasos2.exe: ; LOADER TO CREATE P=4b1dcd/AE/bf: ;
P=4b1a7b/AE/bf: ;
$ ;end of script
CON ESTO EL PROGRAMA NO VENCE PERO EXISTE EL PROBLEMA QUE EL PROGRAMA SE CIERRA SOLO DESPUÉS DE ALGUNOS MINUTOS DE FUNCIONAR AL DETECTAR EL SOFTICE (AUNQUE NO LO CARGUEMOS) O CUALQUIER HERRAMIENTA CRACK.
AQUÍ ESTA EL SCRIPT DEL REVERSO EXPRESS
; REVERSO EXPRESS
F=register.exe: ; PROCESS TO PATCH O=crack_the_REVERSO.exe: ; LOADER TO CREATE P=402c5b/82,e0,02,00,00/45,f0,90,90,90: ;
$ ;end of script
OJO QUE SIRVE PARA LA VERSIÓN EN LA CUAL PODES PONER UN NÚMERO PARA REGISTRARTE, EN LA QUE LA VENTANA DE REGISTRACION APARECE GRIS NO FUNCIONA.
Ustedes pueden probar en hacer un crack para el crackme que acepte cualquier número cuando lo cargamos desde el crack con los valores que hallaron cuando lo crackearon.
Lo que hay que fijarse es que en la sentencia P= hay que poner los valores que se deben reemplazar exactos y no la cadena completa que habíamos encontrado ya que la habíamos alargado un poco para buscarla con el ULTRAEDIT, aquí tiene que tener de largo exactamente los
números a reemplazar y la cadena que reemplaza debe tener el mismo largo exacto.
PRUEBEN Y DESPUÉS ME CUENTAN. RICARDO NARVAJA.
1
er.Curso de cracking de Ricardo Narvaja
Grupo Cracks Latinos
Recopilado en PDF y DOC por Ice Cube Página 33
Lección
5
LECCIÓN 05: COMO DESEMPAQUETAR CON PROCDUMP AUTOMÁTICAMENTE
Como hemos visto en lecciónes anteriores y por si no se acuerdan hay programas que no se pueden visualizar con WDASM lo que hace másdifícil su crackeo, inclusive si encontramos algún valor en el SOFTICE con el cual crackear el programa, si esta comprimido no podremos
encontrar los mismos valores en el ULTRAEDIT ya que el programa se descomprime y luego salta al inicio real del programa con lo cual si queremos verdaderamente analizarlo deberemos descomprimirlo o
desempaquetarlo.
Atención que aquí cuando hablamos de compresión hablamos de ciertos programas que utilizan los programadores para comprimir un ejecutable manteniendo la misma extension EXE no de compresiones con WINZIP ni WINRAR ni nada de eso.
Este tipo de compresiones se realiza más que para ahorrar espacio para proteger el ejecutable de que alguien lo pueda alterar aunque según hemos visto en la lección anterior aunque un ejecutable este
comprimido si encuentro los valores a cambiar en el SOFTICE puedo hacer un cargador con el RISC PROCESS PATCHER y crackearlo de cualquier manera.
Se recomienda siempre para facilitar el crackeo lograr descomprimir el ejecutable con lo que podremos verlo en el WDASM así como sus STRING REFERENCES y nos orientaremos mejor.
También si logramos descomprimir bien el ejecutable y además de que nos sirva como referencia podemos reemplazar el ejecutable comprimido por el descomprimido y si funciona el programa, también podremos realizar los cambios con el ULTRAEDIT en la forma convencional ya estudiada.
Existen varias formas de descomprimir un ejecutable en esta lección veremos la forma automática de descompresión con el PROCDUMP, la cual sirve en ciertos casos y cuando no sirve hay que apelar a lo que
estudiaremos la semana que viene la DESCOMPRESION MANUAL CON PROCDUMP. Primero que nada y antes de utilizar el PROCDUMP y de realizar ningún cambio en el ejecutable les aconsejo fuertemente hacer una copia del ejecutable original y guardarlo en algún lado seguro, porque podemos arruinar el original y que no funcione y tendremos que bajar de nuevo el programa.
CUANDO PODEMOS SOSPECHAR QUE UN ARCHIVO ESTA COMPRIMIDO O EMPAQUETADO?
Cuando al tratar de verlo con el WDASM no muestra nada coherente, no muestra STRING REFERENCES ni nada, ni IMPORTED FUNCTIONS (la verdad una basura completa)
Otra forma de darnos cuenta es arrancar en programa y poner algún BPX MESSAGEBOXA o BPX SHOWWINDOW o BPX HMEMCPY o cualquiera que funcione y volver al ejecutable apretando varias veces F12, cuando estamos en el ejecutable copiamos una cadena de 10 o 12 números y después la
buscamos en el ULTRAEDIT y si no la encuentra síntoma claro de que estamos ante algo comprimido.