El cracking de software (conocido como "breaking" principalmente en la década de 1980 [1] ) es un acto de eliminar la protección de copia de un software. [2] La protección de copia se puede eliminar aplicando un crack específico . Un crack puede significar cualquier herramienta que permita romper la protección del software, una clave de producto robada o una contraseña adivinada. El cracking de software generalmente implica eludir las restricciones de licencia y uso del software comercial mediante métodos ilegales. Estos métodos pueden incluir la modificación del código directamente mediante el desmontaje y la edición de bits, el intercambio de claves de producto robadas o el desarrollo de software para generar claves de activación. [3] Algunos ejemplos de cracks son: aplicar un parche o crear generadores de números de serie de ingeniería inversa conocidos como keygens , evitando así el registro y los pagos del software o convirtiendo una versión de prueba/demo del software en un software completamente funcional sin pagar por él. [4] El cracking de software contribuye al aumento de la piratería en línea , donde el software pirateado se distribuye a los usuarios finales [2] a través de sitios de intercambio de archivos como BitTorrent , One click hosting (OCH), o mediante descargas de Usenet , o descargando paquetes del software original con cracks o keygens. [4]
Algunas de estas herramientas se denominan keygen , patch , loader o no-disc crack . Un keygen es un generador de números de serie de productos hecho a mano que a menudo ofrece la posibilidad de generar números de serie funcionales con su propio nombre. Un patch es un pequeño programa informático que modifica el código de máquina de otro programa. Esto tiene la ventaja de que un cracker no incluye un ejecutable grande en una versión cuando solo se cambian unos pocos bytes. [5] Un loader modifica el flujo de inicio de un programa y no elimina la protección, sino que la elude. [6] [7] Un ejemplo conocido de un loader es un entrenador utilizado para hacer trampa en los juegos. [8] Fairlight señaló en uno de sus archivos .nfo que este tipo de cracks no están permitidos para los lanzamientos de juegos de la escena warez . [9] [6] [10] Una guerra nuclear ha demostrado que la protección puede no activarse en ningún momento para que sea un crack válido. [11]
El cracking de software está estrechamente relacionado con la ingeniería inversa porque el proceso de atacar una tecnología de protección de copia es similar al proceso de ingeniería inversa. [12] La distribución de copias crackeadas es ilegal en la mayoría de los países. Ha habido demandas judiciales por cracking de software. [13] Puede ser legal utilizar software crackeado en determinadas circunstancias. [14] Sin embargo, los recursos educativos para la ingeniería inversa y el cracking de software son legales y están disponibles en forma de programas Crackme .
Los programas informáticos son inherentemente caros de producir, pero baratos de duplicar y distribuir. Por lo tanto, los productores de programas informáticos generalmente intentaban implementar algún tipo de protección anticopia antes de lanzarlos al mercado. En 1984, Laind Huntsman, el jefe de desarrollo de programas informáticos de Formaster, una empresa de protección de programas informáticos, comentó que "ningún sistema de protección ha permanecido intacto por parte de programadores emprendedores durante más de unos pocos meses". [2] En 2001, Dan S. Wallach, profesor de la Universidad Rice , afirmó que "aquellos que están decididos a eludir la protección anticopia siempre han encontrado formas de hacerlo, y siempre lo harán". [15]
La mayoría de los primeros crackers de software eran aficionados a la informática que a menudo formaban grupos que competían entre sí en el crackeo y la difusión de software. Romper un nuevo sistema de protección de copia lo más rápido posible se consideraba a menudo una oportunidad para demostrar la propia superioridad técnica en lugar de una posibilidad de ganar dinero. Los crackers de software normalmente no se beneficiaban materialmente de sus acciones y su motivación era el propio reto de eliminar la protección. [2] Algunos aficionados poco cualificados tomaban software ya crackeado y editaban varias cadenas de texto sin cifrar para cambiar los mensajes que un juego le diría al jugador, a menudo algo considerado vulgar. Subir las copias alteradas a redes de intercambio de archivos proporcionaba una fuente de risas para los usuarios adultos. Los grupos de crackers de la década de 1980 empezaron a publicitarse a sí mismos y a sus habilidades adjuntando pantallas animadas conocidas como intros de crack en los programas de software que crackeaban y lanzaban. [16] Una vez que la competencia técnica se había ampliado de los retos del crackeo a los retos de crear intros visualmente impactantes, se establecieron las bases para una nueva subcultura conocida como demoscene . La escena demos comenzó a separarse de la "escena warez" ilegal durante los años 90 y ahora se la considera una subcultura completamente diferente. Muchos crackers de software se han convertido más tarde en ingenieros inversos de software extremadamente capaces; el profundo conocimiento del ensamblaje necesario para descifrar las protecciones les permite realizar ingeniería inversa de los controladores para trasladarlos de controladores binarios para Windows a controladores con código fuente para Linux y otros sistemas operativos libres . Además, debido a que la música y la introducción de los juegos eran una parte tan integral de los juegos, el formato de la música y los gráficos se volvieron muy populares cuando el hardware se volvió asequible para el usuario doméstico.
Con el auge de Internet , los piratas informáticos desarrollaron organizaciones secretas en línea. En la segunda mitad de los años noventa, una de las fuentes de información más respetadas sobre la "reversión de la protección de software" era el sitio web de Fravia .
En 2017, un grupo de crackers de software inició un proyecto para preservar el software de Apple II eliminando la protección contra copia . [17]
La High Cracking University (+HCU) fue fundada por Old Red Cracker (+ORC), considerado un genio de la ingeniería inversa y una figura legendaria en la ingeniería de código inverso (RCE), para avanzar en la investigación sobre RCE. También había enseñado y escrito muchos artículos sobre el tema, y sus textos se consideran clásicos en el campo y son lectura obligatoria para los estudiantes de RCE. [18]
La adición del signo "+" delante del apodo de un inversor significaba la pertenencia a la +HCU. Entre los estudiantes de la +HCU se encontraban los mejores inversores de Windows de todo el mundo. [18] La +HCU publicaba un nuevo problema de ingeniería inversa cada año y un pequeño número de los encuestados con las mejores respuestas calificaban para un puesto de pregrado en la universidad. [18]
+Fravia era profesor en la +HCU. Su sitio web era conocido como "Las páginas de ingeniería inversa de +Fravia" y lo utilizaba para desafiar a los programadores, así como a la sociedad en general, a "realizar ingeniería inversa" para "lavar el cerebro de un materialismo corrupto y desenfrenado". En su apogeo, su sitio web recibía millones de visitantes al año y su influencia era "extensa". [18] En su sitio, +Fravia también mantenía una base de datos de los tutoriales generados por los estudiantes de +HCU para la posteridad. [19]
En la actualidad, la mayoría de los graduados de la +HCU han migrado a Linux y pocos se han quedado como inversores de Windows. La información de la universidad ha sido redescubierta por una nueva generación de investigadores y profesionales de RCE que han iniciado nuevos proyectos de investigación en el campo. [18]
El crack de software más común es la modificación del binario de una aplicación para provocar o impedir una bifurcación clave específica en la ejecución del programa. Esto se logra mediante ingeniería inversa del código del programa compilado utilizando un depurador como SoftICE , [20] OllyDbg , GDB o MacsBug hasta que el cracker de software llega a la subrutina que contiene el método principal de protección del software (o desensamblando un archivo ejecutable con un programa como IDA ). [21] Luego, el binario se modifica utilizando el depurador o un editor hexadecimal como HIEW [22] o monitor de manera que reemplace un código de operación de bifurcación anterior con su complemento o un código de operación NOP de modo que la bifurcación clave siempre ejecute una subrutina específica o la salte. Casi todos los cracks de software comunes son una variación de este tipo. Una región de código a la que no se debe ingresar a menudo se denomina "chico malo", mientras que una que se debe seguir es un "chico bueno". [23]
Los desarrolladores de software propietario están constantemente desarrollando técnicas como la ofuscación de código , el cifrado y el código automodificable para hacer que la modificación binaria sea cada vez más difícil. [24] Incluso con estas medidas, los desarrolladores tienen dificultades para combatir el cracking de software. Esto se debe a que es muy común que un profesional publique un simple EXE crackeado o un instalador de Retrium para su descarga pública, eliminando la necesidad de que los usuarios inexpertos crackeen el software por sí mismos.
Un ejemplo específico de esta técnica es un crack que elimina el período de caducidad de una prueba limitada en el tiempo de una aplicación. Estos cracks suelen ser programas que alteran el ejecutable del programa y, a veces, el .dll o .so vinculado a la aplicación y el proceso de alterar los archivos binarios originales se llama parcheo. [12] Hay cracks similares disponibles para software que requiere un dispositivo de hardware . Una empresa también puede romper la protección de copia de programas que ha comprado legalmente pero que están licenciados para un hardware particular, de modo que no haya riesgo de tiempo de inactividad debido a fallas de hardware (y, por supuesto, no hay necesidad de restringirse a ejecutar el software solo en hardware comprado).
Otro método es el uso de software especial como CloneCD para buscar el uso de una aplicación comercial de protección de copia. Después de descubrir el software utilizado para proteger la aplicación, se puede utilizar otra herramienta para eliminar la protección de copia del software en el CD o DVD . Esto puede permitir que otro programa como Alcohol 120% , CloneDVD , Game Jackal o Daemon Tools copie el software protegido al disco duro de un usuario. Las aplicaciones comerciales de protección de copia populares que se pueden escanear incluyen SafeDisc y StarForce . [25]
En otros casos, puede ser posible descompilar un programa para obtener acceso al código fuente original o al código en un nivel superior al código de máquina . Esto suele ser posible con lenguajes de script y lenguajes que utilizan compilación JIT . Un ejemplo es el cracking (o depuración) en la plataforma .NET donde uno podría considerar manipular CIL para lograr sus necesidades. El bytecode de Java también funciona de manera similar en el que hay un lenguaje intermedio antes de que el programa se compile para ejecutarse en el código de máquina dependiente de la plataforma . [26]
La ingeniería inversa avanzada para protecciones como SecuROM , SafeDisc , StarForce o Denuvo requiere que un cracker, o muchos crackers, dediquen mucho más tiempo a estudiar la protección, hasta encontrar eventualmente cada falla dentro del código de protección y luego codificar sus propias herramientas para "desenvolver" la protección automáticamente de los archivos ejecutables (.EXE) y de biblioteca (.DLL).
Hay varios sitios en Internet que permiten a los usuarios descargar cracks producidos por grupos warez para juegos y aplicaciones populares (aunque con el peligro de adquirir software malicioso que a veces se distribuye a través de dichos sitios). [27] Aunque estos cracks son utilizados por compradores legales de software, también pueden ser utilizados por personas que han descargado u obtenido de otra manera copias no autorizadas (a menudo a través de redes P2P ).
El cracking de software condujo a la distribución de software pirateado en todo el mundo (piratería de software). Se estima que Estados Unidos perdió 2.300 millones de dólares en software de aplicaciones empresariales en 1996. Las tasas de piratería de software fueron especialmente frecuentes en países africanos, asiáticos, de Europa del Este y de América Latina. En algunos países como Indonesia, Pakistán, Kuwait, China y El Salvador, [28] el 90% del software utilizado era pirateado. [29]
El origen del término probablemente se encuentra en la actividad de los ladrones en el silencio de la noche.
Esta puede ser la única razón por la que has llegado a la conclusión de que un flujo de inicio modificado es lo mismo que el comportamiento imitado de una protección, como lo hace una EMU.
Un cargador es un programa capaz de cargar en memoria y ejecutar otro programa.
Test.Drive.Ferrari.Racing.Legends-SKIDROW se lanzó con un "Loader" y no con un exe crackeado. Es por eso que ves que el exe original se renombró como "TDFerrari_o.exe". Como esto no está permitido y en este caso ralentiza considerablemente el juego con mensajes de Xlive al iniciar y jugar, puedes ver por qué hemos incluido un exe crackeado.
Sí, nuestro "método" es un cargador y nuestros competidores han utilizado el mismo método para "craquear" juegos xlive como este.
UNNUKED: el juego se ejecuta a pleno rendimiento sin problemas el crack está bien no se utiliza un solo parche de byte la omisión de protección significa que no está activo significa que se ha eliminado la protección no se activa en ningún momento esto o la eliminación no marca ninguna diferencia [ZoNeNET]
{{cite journal}}
: Requiere citar revista |journal=
( ayuda )