Introduccion Al Cracking
Introduccion Al Cracking
Introduccion Al Cracking
Autor: [KRaViTZ]
Notas del autor: Este material completamente para uso educativo y no me hago responsable en
absoluto del uso que el lector le pueda dar al mísmo ni de los daños y/o perjucios le pueda
ocacionar. Si desea publicar este manual puede hacerlo libremente pero respetando los
derechos de autor. Si Ud. no está de acuerdo con las condiciones de uso de este documento,
por favor no lo lea y elimínelo de su disco duro.
Objetivos
El objetivo de este manual es que los lectores interesados puedan intruducirse a este mundo
del cracking desde otro enfoque diferente al que la gente conoce. Que puedan iniciarse con un
mínimo de conocimientos previos que se les brindarán en este manual.
Concepto de Cracking
Casi todo el mundo ve al cracking como pirateria, como algo ilegal, aunque algo de razon hay
aqui si se emplea incorrectamente como en la mayoría de los casos. Se supone que toda ciencia
es usada para el bien, y el cracking deberia serlo. Seria bueno que los crackers aprendan desde
el principio a estudiar los sistemas de protecciones comerciales para poder crear otros nuevos
con meyor seguridad o bien mejorar los existentes e implementarlos en los futuros programas
en vez de andar publicando cracks en internet, por que eso sí es ilegal. Entonces podriamos
decir que existen crackers buenos y malos, de los buenos por suerte hay una buena cantidad,
pero tambien hay muchos de los otros que quizas muchos de ellos tienen muy malas
intenciones como la creacion de virus para ocacionar daños. El buen cracker puede considerar o
no como "enemigo" a estos tipo de crackers, pero a diferencia del bueno, el malo tiene como
enemigo Nº1 los autores de los programas.
Es común ver que muchas personas creen ser crackers por el solo hecho de bajar un crack
publicado de internet para registrar un shareware y probablemente luego venderlo. Ellos creen
que esa acción es crackear, pero es un pensamiento erroneo, nosotros los crackers los vemos a
ellos como verdaderos ignorantes. Entonces si ellos creen ser crackers, que queda para el autor
del crack? Ambas partes se consideran complices de la pirateria lo cual no es bueno.
Una persona debe reunir ciertos requicitos y cualidades para poder ser cracker, acá muestro los
mas importantes:
Un cracker no se hace de un dia para el otro, esto puede llevar meses e iclusive años. Para ser
bueno eso depende, pueden ser otros años mas, y para ser profesional... bueno, mejor
cambiemos de tema.
La extraordinaria cantidad de programas que han sido crackeados, la mayoría fueron los
programadores quienes hicieron el sistema de protección. El resto han sido los mismos crackers
quienes lo programaron, y quien mejor si no entonces? estas protecciones presentaban gran
dificultad para desprotegerlos, aunque se han visto programas que son casi imposible
crackearlos y solo un cracker puede hacer un sistema asi, pero como ya sabemos nada es
imposible, no existe 100% seguridad. Pero igualmente con esto logramos que las empresas
desarrolladoras de software contraten a un buen cracker para proteger su software. También en
internet hay muchas empresas de seguridad informática que están conformadas principalmente
por crackers y hackers que prestan ese tipo de servicios y venden licencias de software con
sistema proteccion incluida.
Existen infinidades de maneras de proteger programas, las mas comunes de encontrar en los
programa son los siguientes:
Numero de serie:
Esto es lo mas comun encontrar, existen de dos tipos, números de serie fijos o variables, éste
ultimo se genera en la mayoria de los casos en base a algo, como por ejemplo en funcion del
nombre de usuario, organizacion, etc. de esta manera se consigue un serial diferente y único
para cada cliente o usuario. Pero también se suelen generar en función al nombre de la PC, del
número de serie de disco o de algun otro componente del equipo. Y por último tenemos los
números aleatorios, éstos son los más dificiles de crackear.
Funciones desabilitadas:
Esto le dá a un shareware una escencia de que estamos ante una Demo pero no lo es en
absoluto, generalmente deshabilitan funciones importantes de la aplicación, como por ejemplo:
abrir, guardar, importar, exportar, imprimir, grabar, etc. Cuando registramos se habilitan todas.
CD-ROM:
Esta es la mas usada por los videos juegos. Debemos insertar el disco para poder jugarlos.
Aveces hay juegos que están completamente instalados en el disco rigido pero nada más por
seguridad nos piden el CD, otros realmente requieren archivos del mismo para su
funcionamiento.
Archivos llave:
Es algo parecido al anterior pero funcionan de muchas formas diferentes dependendiendo de
las habilidades del programador.
Anti-herramientas cracking:
Estas son muy efectivas si se utilizan técnicas novedosas o desconocidas para los crackers. Se
pueden aplicar anti-depurador , anti-desensamblador, anti-monitores de registros o archivos,
api, etc. Tambien anti-modificacion del ejecutable que seria algo como anti-editores
hexadecimales.
Para crackear no se necesitan tantas herramientas, pero las hay segun sea el caso, a
continuación nombraré y describiré las principales:
Depurador:
(En inglés Debugger) Es un programa que en realidad ha sido creado para solucionar errores o
bugs de otros programas. Permite ver instrucción por instrucción en assembler que ejecuta el
microprocesador en memoria durante la ejecución del programa y además nos permite poner
puntos de parada (BreackPoints) en cualquier parte del código durante la ejecución. Podemos
editar en forma temporal la memoria, los registros y las instrucciones para alterar su
comportamiento. Ejemplo: SoftICE, TRW2000.
Desensamblador:
(En inglés Disassembler) Es un programa que nos permite ver el código de un ejecutable en
assembler e interactuar con él. Podemos ver referencias de texto, menúes y cuadros de
dialogo, funciones importadas y exportadas del programa desensamblado. Ejemplo: W32Asm,
IdaPro.
Editor Hexadecimal:
Con este programa podemos editar los bytes en hexadecimal de las instrucciones de cualquier
ejecutable o archivo. Con esto hacemos los parches. Ejemplo: UltraEdit, Hview, HexWorkshop,
etc.
Monitor de Archivos:
Este programa se encarga de mostrarnos secuencialmente en tiempo real los archivos que
estan siendo manejados con operaciones de entrada y salida (I/O) y por que programa esta
siendo utilizado. Ejemplo: FileMon.
Monitor de Registro:
Este programa es similar al anterior con la diferencia de que se refiere al registro de Windows.
Ejemplo: RegMon.
Descompresor:
Es un programa que sirve para descomprimir ejecutables comprimidos por algun compresor.
Ejemplo: ProcDump.
Todas las herramientas se pueden encontrar en internet pero como toda herramienta antes de
usarla por primera vez, debemos aprender a utilizarlas correctamente, hay cientos de manuales
dedicados a las mas importantes, sobre todo el SoftICE que es muy dificil entenderlo. Como ya
se habran dado cuenta necesitamos tener conocimientos de assembler para utilizarlas, por lo
tanto busquense un buen manual para aprender.
Este sistema es uno de los mas sencillos y faciles de crackear que nos podemos encontrar,
aunque casi no quedan de esos. Para crackearlo es muy facil, se pueden modificar varias cosas,
pero normalmente se acostumbra a invertir el salto condicional JNE que salta a la direccion
0008 donde esta el mensaje de error si EAX y ECX no son iguales, por el salto JE que salta si
son iguales para que continue ejecutandose la siguiente linea y con esto cuando registremos el
programa, nos aceptará cualquier número de serie como válido, salvo que pongamos el serial
real.
Palabras finales
Con esto ya concluimos con este manual. La teoria necesaria para el cracking propiamente
dicho merecen tutoriales especificos para temas en particular. Para los que se quieren iniciar,
como ya he dicho, deben como primera medida aprender lo básico de assembler, aprender a
usar las herramientas y luego leer tutoriales prácticos de crackeo para despues comenzar a
practicar. Esas serían las pautas organizadas para que una persona se forme como cracker. Pero
siempre recomiendo leer muchos manuales y tutoriales, muchisima práctica y entusiasmo si de
verdad queres progresar.