Está en la página 1de 19

CRACKING &

ANTICRACKING
• Cracking no es sinónimo de violación de la protección
del software, sino que constituye un método para probar
la resistencia del programa frente a los posibles ataques y
su posterior difusión ilegal. Resulta prácticamente
imposible crear una protección inviolable, lo que no
significa que todas las protecciones estén condenadas al
fracaso y que no puedan cumplir su misión.

Cracking: Ataque y
defensa del software
• El cracking se puede describir como el grupo de técnicas
empleadas para codificar, analizar y estudiar los
principios de un programa sin disponer de su código
fuente. Por ejemplo cuando un desarrollador crea un
programa, comienza escribiendo el código fuente en el
lenguaje de programación elegido para compilar y
ejecuta. De esta manera nadie podría editar el programa
sin disponer del código fuente y realizar de nuevo la
compilación pero esto es falso, y es precisamente en lo
que el cracking se basa.

¿En qué consiste el


cracking?
• La técnica de ingeniería inversa constituye la piedra
angular del cracking, esta se basa en la descompilación, o
compilación inversa, de un programa a un lenguaje de
programación, generalmente el más básico es ensamblador.
Existen descompiladores capaces también de descompilar
un programa a un lenguaje de programación de alto nivel.
• Puede llegar a anularse una buena parte de los sistemas de
protección sin practicar ninguna modificación al programa:
hallando la contraseña. El número de registro, etc., e
incluso simplemente estudiando el código del programa.

¿Utilizando ingeniería
inversa?
• El procedimiento básico consiste en las descompilación
de un programa en un lenguaje de programación, a
ensamblador en la mayoría de las ocasiones. El cracker
podrá estudiar el programa de forma pasiva,
desensamblarlo con un desensamblador (descompilador
que efectúa una compilación inversa en ensamblador) de
esta manera se obtiene su código ensamblador estático, o
bien aplicar un programa de depuración, un debugger.

Herramientas de
cracking elementales
• El cracker también puede hacer uso de un depurador. Al
constituir uno de los pasos claves el uso frecuente de
algún depurador (debugger) para realizar el análisis del
programa, resulta pertinente intentar evitar su utilización.
Razón que conduce a los infractores a aplicar distintos
métodos y programas que enmascaren su depurador. Por
ejemplo, un programa empleado para detectar un
depurador se denomina «FrogsIce».

Herramientas de
cracking elementales
• Si se efectuaran alteraciones al código del programa, estas
deberán guardarse en algún lado. Con este propósito existen
varios editores hexadecimales, alternativamente, se puede
modificar el código del programa directamente en memoria
mediante un cargador.
• También figuran los volcadores, programas diseñados para
guardar en disco el contenido de la memoria. Muy útiles para
almacenar datos importantes descodificados por el programa
automáticamente. ProcDump representa un buen ejemplo: es
un volcador y descodificador que también incluye otras
muchas funciones.

Herramientas de
cracking elementales
• Depurador (debugger): Son programas originalmente creados para
corregir errores en otros programas informáticos, pudiendo abrir
cualquier ejecutable (.exe) en el leguaje ASM indistintamente de cual
haya sido el lenguaje original del programa (entienden ahora la
importancia del ASM, hay que aprenderlo). Con este programa podemos
ejecutar cada instrucción del programa y detenernos en cualquier
momento o en el momento en que el programa toma la decisión de estar
registrados o no y poder cambiar el código a nuestro beneficio.

Uno de los depuradores mas famosos sin duda es softice también
apodado la “bestia negra” por su apariencia tipo m-dos y por lo poderoso
que podía ser para crackear programas.
• Desamblador (disassembler): Programa que te permite
ver cualquier ejecutable en leguaje ASM así como
referencias de texto entre otras. La principal diferencia
con un debugger es que el desamblador podemos ver el
código en ASM y el debugger podemos interactuar con el
(ejecutar, modificar). Un desamblador bastante útil es
W32dasm que también es debugger, pero se usa mas que
nada solo como desamblador ya que si queremos un buen
debugger esta olly que lo supera ampliamente .
• Editor hexadecimal: Programa que te permite editar cualquier
archivo de forma hexadecimal. Todo el código ensamblador tiene su
correspondiente en hexadecimal, los debugger y desensambladores
traducen estos a las instrucciones que vemos normalmente. Podemos
hacer una modificación en el ejecutable de dos formas. La primera
es con un editor hexadecimal y la otra es con el mismo olly.
• La desventaja de hacerlo con un editor es que si queremos modificar
una instrucción en ensamblador tenemos que saber el
correspondiente en hexadecimal y si lo hacemos con olly lo
modificamos directamente por la instrucción que queremos.
• Algunos editores son el Ultraedit y el hex workshop.
• Monitor del registro: Programa que sirve para vigilar el registro de
windows. En ocasiones los programas guardan datos en el registro,
datos como seriales, nombres de usuario, fecha de instalación entre
otros. Por lo tanto hay que tener en cuanta este tipo de programas
que los puede servir mucho. Un ejemplo monitor de registro de
Regmon
•  Monitor de archivos: Programa que sirve para vigilar posibles
vínculos con archivos. Algo parecido al monitor de registro con la
diferencia obvia en que este monitorea archivos ya sea del tipo dat
.txt lo que sea. Este tipo de programas es menos útil que el monitor
de registro ya que casi siempre los programas guardan los datos en
el registro de windows.
• Descompresores: Algunos programas utilizan distintos
tipos de compresiones sin que estos varíen la extensión
.exe lo que hace más difícil crackear, ya que al estar
comprimidos no estamos analizando un ejecutable normal.
• Los compresores más famosos son UPX, ASprotect,
ASPack, armadillo, PECompressor, etc.

Los descompresores tienen multitud de nombres casi todos
incluyen el mismo nombre del compresor Ej. Aspackdie. 

Cracker n. El que rompe la seguridad de un sistema. Acuñado hacia 1985
por hackers en defensa ante la utilización inapropiada por periodistas del
término hacker. Falló un intento anterior de establecer «gusano» en este
sentido en 1981-1982 en Usenet.
• La utilización de ambos neologismos refleja una fuerte repulsión contra el
robo y vandalismo perpretado por los círculos de crackers. Aunque se
supone que cualquier hacker auténtico ha jugado con algún tipo de crackeo
y conoce muchas de las técnicas básicas, se supone que cualquiera que
haya pasado la etapa larval ha desterrado el deseo de hacerlo con
excepción de razones prácticas inmediatas (por ejemplo, si es necesario
pasar por alto algún sistema de seguridad para completar algún tipo de
trabajo.)
• Por lo tanto, hay mucho menos en común entre el mundo
de los hackers y de los crackers de lo que el lector
mundano, confundido por el periodismo sensacionalista,
pueda suponer. Los crackers tienden a agruparse en
grupos pequeños, muy secretos y privados, que tienen
poco que ver con la poli-cultura abierta y enorme que se
describe en este diccionario; aunque los crackers a
menudo se definen a sí mismos como hackers, la mayor
parte de los auténticos hackers los consideran una forma
de vida inferior.
• A Short History of Hacking es un resumen altamente
comprimido de la historia del hacking (a lo que habría
que añadir más apropiadamente y del cracking, por
aquello de los matices). No conocía la mención que
hacen a que fue John «mente maravillosa» Nash fue
quién acuñó la acepción moderna de hacker (el término
viene de antiguo, significaba originalmente
«originalmente, «alguien que fabrica muebles con un
hacha»).

A Short History of Hacking

También podría gustarte