sábado, marzo 25, 2006

Cracking (I): El poder del lado oscuro

Le propongo que nos embarquemos en una interesante aventura durante el fin de semana. Hoy presento una serie de tres artículos sobre el apasionante mundo del cracking (si no sabe qué es, vamos a explicarlo inmediatamente). En esta primera entrega vamos a hacer una pequeña introducción y a aprender algún concepto básico. En la segunda, veremos a través de un ejemplo que los programas pueden modificarse con relativa facilidad. Para terminar, en la tercera estudiaremos un caso práctico de lo que puede hacerse con este "conocimiento prohibido"...

Quizás alguna vez haya tenido que utilizar un programa de los que "caducan" a los treinta días, o con ciertas funciones limitadas por ser una versión gratuita de una aplicación comercial. Y quizás alguna vez le hayan dejado un "parche" para burlar éstas restricciones... Si no sabe de qué estoy hablando, es que es usted una persona honrada y nunca ha "crackeado" un programa. En ese caso, sepa que muchos de los programas con uso restringido pueden modificarse para que puedan ser utilizados sin limitaciones... a este procedimiento se le suele llamar "crackear", y se trata normalmente de una actividad ilegal.

Éste es un mundo inmenso: Tal vez le hayan prestado una versión del juego de moda que, misteriosamente, no pide que inserte el CD cada vez que arranca. Otras veces, son los decodificadores de TV o las tarjetas de los mismos las que son crackeadas para poderlas utilizar sin restricciones. Hasta las play-station pueden ser modificadas para que admitan juegos grabados sobre discos no-originales... Todas son diversas caras de la misma moneda.

El término "cracker" se suele utilizar para referirse a alguien que viola la seguridad de un sistema para obtener beneficio o causar daños (en contraposición a la ética del hacker). Sin embargo, hay otra acepción que es la que nos interesa, que viene muy bien explicada en la Wikipedia:
También se denomina cracker a quien diseña o programa cracks informáticos, que sirven para modificar el comportamiento o ampliar la funcionalidad del software o hardware original al que se aplican, sin que en absoluto pretenda ser dañino para el usuario del mismo. Esta acepción está más cercana al concepto de hacker en cuanto al interés por entender el funcionamiento del programa o hardware, y la adecuación a sus necesidades particulares, generalmente desarrolladas mediante ingeniería inversa.
Creo que con ésto hemos aclarado casi todo, aunque quien tenga curiosidad por el tema puede visitar los artículos que he referido antes. Los términos son muy confusos y en algunos sitios se dan definiciones contradictorias, así que tal vez le resulte complicado (a mí me duele bastante la cabeza después de un buen rato buscando referencias fiables y objetivas...)

Efectivamente, la cosa va de "modificar el comportamiento de un programa". Siendo un poco cínicos, podemos pensar que eliminar una protección es, en efecto, una forma de modificar o ampliar la funcionalidad del software...

Ya dijimos que los programas no son más que conjuntos de instrucciones adecuadamente ordenadas. Existen técnicas, conocidas "ingeniería inversa" que sirven para ver el interior de los programas y modificar su comportamiento. Actualmente, la mayoría de las licencias de las aplicaciones comerciales prohíben realizar ingeniería inversa sobre el código, aunque en la práctica sea imposible de detectar. Utilizando ésta técnica puede aprenderse muchísimo sobre el funcionamiento real del software (y en consecuencia de sus protecciones)

Modificar el código de un programa comercial para evitar una protección o restricción impuesta por el fabricante se considera ilegal, y además, la mayoría de los crackers no están muy interesados en los programas que crackean, sino en las técnicas de protección y entre el "reto" que se establece entre ellos y el programador de la aplicación... Es por eso que, desde hace algunos años, existen programas llamados "crackmes", que viene de "crack me" (crackéame en inglés). Como éstas aplicaciones son creadas expresamente para ser crackeadas es perfectamente legal hacerlo, y no estamos perjudicando a nadie. En cierto modo, se puede decir que éstos programas sirven para canalizar la furia asesina de los crackers.

También se puede argumentar que pueden servir como campo de pruebas para cometer delitos, pero eso sería como prohibir la investigación sobre energía nuclear porque hay quien puede utilizarlo para hacer el mal.

En la siguiente entrega nos vamos a poner manos a la obra y vamos a ver cómo modifica un programa mediante técnicas de ingeniería inversa, y para ello vamos a servirnos de un crackme... ¡les espero!


Siguientes artículos:
Cracking (II): A golpes de martillo
Cracking (y III): Cracker por un día

5 Comentarios:

A las 11:46 a. m., Anonymous Treiral_ escribió... (¡Gracias, Anonymous Treiral_!)

Guuuu~~ muy bueno lo del absolut hacker XD espero los siguientes artículos *.*

(mi experimento fue un fracaso, aunque no me he dado por vencido aún XD)

 
A las 12:01 a. m., Blogger Manuel escribió... (¡Gracias, Blogger Manuel!)

¡Qué ganas de ver el siguiente artículo! La cosa promete. Por lo demás, este artículo ha sido interesante, no sabía la diferencia entre el hacker y el cracker. Sigue así. Saludos,

Manuel

 
A las 12:24 a. m., Blogger Ñita escribió... (¡Gracias, Blogger Ñita!)

Estoy esperando impaciente el siguiente post :)

 
A las 1:34 p. m., Blogger Misslucifer escribió... (¡Gracias, Blogger Misslucifer!)

(Lo siento, estoy afónica, no puedo comentar :P)

 
A las 9:40 p. m., Anonymous Anónimo escribió... (¡Gracias, Anonymous Anónimo!)

alguien me puede decir el significado de las instrucciones de absolut? no las entendi muy bien, no puedo leerlas tan muy chiquitas para mis ojos... lol

 

Recuerda que nos hemos mudado a nosololinux.com

<< Home