stringtranslate.com

Craqueo de software

El craqueo de software (conocido como "romper" principalmente en la década de 1980 [1] ) es un acto de eliminar la protección contra copia de un software. [2] La protección contra copia se puede eliminar aplicando una grieta específica . Un crack puede significar cualquier herramienta que permita romper la protección del software, una clave de producto robada o una contraseña adivinada. Crackear 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 productos robadas o el desarrollo de software para generar claves de activación. [3] Ejemplos de cracks son: aplicar un parche o crear generadores de números de serie mediante ingeniería inversa conocidos como keygens , evitando así el registro y los pagos del software o convirtiendo una versión de prueba/demostración del software en un software completamente funcional sin pagar por ello. . [4] El craqueo 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 mediante la descarga de paquetes del software original. con grietas 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 a su propio nombre. Un parche es un pequeño programa informático que modifica el código de máquina de otro programa. Esto tiene la ventaja para un cracker de no incluir un ejecutable grande en una versión cuando solo se cambian unos pocos bytes. [5] Un cargador modifica el flujo de inicio de un programa y no elimina la protección, sino que la elude. [6] [7] Un ejemplo bien conocido de cargador 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 escenas warez . [9] [6] [10] Una guerra nuclear ha demostrado que la protección puede no activarse en ningún momento para que sea una grieta válida. [11]

El craqueo 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 por descifrar software. [13] Puede ser legal utilizar software descifrado en determinadas circunstancias. [14] Sin embargo, los recursos educativos para ingeniería inversa y cracking de software son legales y están disponibles en forma de programas Crackme .

Historia

El software es intrínsecamente caro de producir, pero barato de duplicar y distribuir. Por lo tanto, los productores de software generalmente intentaron implementar alguna forma de protección contra copia antes de lanzarlo al mercado. En 1984, Laind Huntsman, jefe de desarrollo de software de Formaster, una empresa de protección de software, 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 , argumentó que "aquellos decididos a eludir la protección contra copia siempre han encontrado maneras 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í para descifrar y difundir software. Romper un nuevo esquema de protección de copia lo más rápido posible se consideraba a menudo como una oportunidad para demostrar la propia superioridad técnica más que como una posibilidad de ganar dinero. Los crackers de software normalmente no se beneficiaban materialmente de sus acciones y su motivación era el desafío mismo de eliminar la protección. [2] Algunos aficionados poco cualificados tomaban software ya descifrado y editaban varias cadenas de texto sin cifrar para cambiar los mensajes que un juego le diría a un jugador, a menudo algo considerado vulgar. Cargar las copias alteradas en redes de intercambio de archivos fue motivo de risas para los usuarios adultos. Los grupos de crackers de la década de 1980 comenzaron a promocionarse a sí mismos y a sus habilidades adjuntando pantallas animadas conocidas como introducciones de crack en los programas de software que descifraban y lanzaban. [16] Una vez que la competencia técnica se expandió de los desafíos de crackear a los desafíos de crear introducciones visualmente impactantes, se establecieron las bases para una nueva subcultura conocida como demoscene . Demoscene comenzó a separarse de la "escena warez" ilegal durante la década de 1990 y ahora se la considera una subcultura completamente diferente. Muchos crackers de software se han convertido posteriormente en ingenieros inversos de software extremadamente capaces; el profundo conocimiento del ensamblaje necesario para descifrar las protecciones les permite aplicar ingeniería inversa a los controladores para trasladarlos desde controladores solo binarios para Windows a controladores con código fuente para Linux y otros sistemas operativos gratuitos . Además, debido a que la música y la introducción de juegos eran una parte integral de los juegos, el formato de 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 del software" era el sitio web de Fravia .

En 2017, un grupo de crackers de software inició un proyecto para preservar el software Apple II eliminando la protección de copia inherente de Apple II . [17]

+HCU

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 de RCE. También enseñó y fue autor de numerosos 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 membresía en +HCU. Entre los estudiantes de +HCU se encontraban los mejores inversores de Windows de élite a nivel mundial. [18] +HCU publicó anualmente un nuevo problema de ingeniería inversa y un pequeño número de encuestados con las mejores respuestas calificaron para un puesto de pregrado en la universidad. [18]

+Fravia fue profesora en +HCU. El sitio web de Fravia se conocía como "+Páginas de ingeniería inversa de Fravia" y lo utilizó para desafiar a los programadores, así como a la sociedad en general, a "realizar ingeniería inversa" en el "lavado de cerebro de un materialismo corrupto y desenfrenado". En su apogeo, su sitio web recibía millones de visitas al año y su influencia era "generalizada". [18] En su sitio, +Fravia también mantuvo una base de datos de los tutoriales generados por los estudiantes de +HCU para la posteridad. [19]

Hoy en día la mayoría de los egresados ​​de +HCU han migrado a Linux y pocos han quedado como reversores 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 este campo. [18]

Métodos

El crack de software más común es la modificación del binario de una aplicación para provocar o impedir una rama de 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 alcance 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 usando el depurador o un editor hexadecimal como HIEW [22] o monitor de una manera que reemplace un código de operación de bifurcación anterior con su complemento o un código de operación NOP para que la rama clave siempre ejecute una subrutina específica. o saltarlo. Casi todos los cracks de software comunes son una variación de este tipo. Una región de código que no se debe ingresar a menudo se denomina "chico malo", mientras que la que se debe seguir es "chico bueno". [23]

Los desarrolladores de software propietario desarrollan constantemente 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 tomadas, los desarrolladores luchan por combatir el craqueo de software. Esto se debe a que es muy común que un profesional publique un EXE o un instalador de Retrium simple y descifrado para su descarga pública, eliminando la necesidad de que los usuarios inexpertos descifren el software ellos mismos.

Un ejemplo específico de esta técnica es un crack que elimina el período de caducidad de una prueba de tiempo limitado 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 dongle de hardware . Una empresa también puede romper la protección contra copia de programas que ha comprado legalmente pero que tienen licencia para un hardware particular, de modo que no haya riesgo de tiempo de inactividad debido a fallas del hardware (y, por supuesto, no sea necesario limitarse 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 contra 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 populares de protección de copia que se pueden escanear incluyen SafeDisc y StarForce . [25]

En otros casos, podría 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 scripting y lenguajes que utilizan compilación JIT . Un ejemplo es crackear (o depurar) en la plataforma .NET, donde uno podría considerar manipular CIL para satisfacer sus necesidades. El código de bytes 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, encontrando eventualmente cada falla dentro del código de protección y luego codificando sus propias herramientas para "desenvolverlas". la protección automáticamente contra 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 copias no autorizadas (a menudo a través de redes P2P ).

Piratería de software

El craqueo de software condujo a la distribución de software pirateado en todo el mundo (piratería de software). Se estimó 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 los países de África, Asia, Europa del Este y América Latina. En ciertos países como Indonesia, Pakistán, Kuwait, China y El Salvador, [28] el 90% del software utilizado era pirateado. [29]

Ver también

Referencias

  1. ^ Kevelson, Morton (octubre de 1985). "Isépico". ¡Ahí! . págs. 71–73 . Consultado el 27 de junio de 2014 . El origen del término probablemente se encuentre en la actividad de los ladrones en el silencio de la noche.
  2. ^ abcd "¿Qué motiva a los crackers de software?" (PDF) . Sigi Goode y Sam Cruise, Universidad Nacional de Australia, Journal of Business Ethics (2006). Archivado (PDF) desde el original el 21 de octubre de 2022 . Consultado el 30 de abril de 2022 .
  3. ^ Tulloch, Mitch (2003). Enciclopedia de seguridad de Microsoft (PDF) . Redmond, Washington: Microsoft Press. pag. 68.ISBN 0735618771. Archivado desde el original (PDF) el 10 de agosto de 2014 . Consultado el 20 de julio de 2014 .
  4. ^ ab Kammerstetter, Markus; Platzer, cristiano; Wondracek, Gilbert (16 de octubre de 2012). "Vanidad, cracks y malware". Actas de la conferencia ACM de 2012 sobre seguridad informática y de las comunicaciones . Raleigh Carolina del Norte Estados Unidos: ACM. págs. 809–820. doi :10.1145/2382196.2382282. ISBN 978-1-4503-1651-4. S2CID  3423843.
  5. ^ Craig, Pablo; Ron, Mark (abril de 2005). "Capítulo 4: Galletas saladas". En Burnett, Mark (ed.). "La piratería de software al descubierto: secretos del lado oscuro revelados ". Editor: Andrew Williams, diseño de página y arte: Patricia Lupien, editor de adquisiciones: Jaime Quigley, editor de textos: Judy Eby, editor técnico: Mark Burnett, indexador: Nara Wood, diseñador de portada: Michael Kavish. Estados Unidos de América: Syngress Publishing. págs. 75–76. doi :10.1016/B978-193226698-6/50029-5. ISBN 1-932266-98-4.
  6. ^ ab FLT (22 de enero de 2013). "Los_Sims_3_70s_80s_and_90s_Stuff-FLT". Archivado desde el original el 14 de septiembre de 2014 . Consultado el 13 de septiembre de 2014 . 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.
  7. ^ Shub-Nigurrath [ARTeam]; ThunderPwr [ARTeam] (enero de 2006). "Craqueo con cargadores: teoría, enfoque general y marco". Revista CodeBreakers . Proyecto de Investigación Universitas-Virtualis. 1 (1). Un cargador es un programa capaz de cargarse en memoria y ejecutar otro programa.
  8. ^ Nigurrath, Shub (mayo de 2006). "Guía sobre cómo jugar con la memoria de procesos, cargadores de escritura y Oraculumns". Revista CodeBreakers . Proyecto de Investigación Universitas-Virtualis. 1 (2).
  9. ^ FLT (29 de septiembre de 2013). "Test_Drive_Ferrari_Legends_PROPER-FLT". Archivado desde el original el 14 de septiembre de 2014 . Consultado el 13 de septiembre de 2014 . Test.Drive.Ferrari.Racing.Legends-SKIDROW se lanzó con un "cargador" y no con un archivo ejecutable descifrado. Es por eso que ve el archivo ejecutable original renombrado a "TDFerrari_o.exe". Como esto no está permitido y en este caso ralentiza considerablemente el juego con mensajes Xlive al iniciar y jugar, puedes ver por qué hemos incluido un crackeado adecuado.
  10. ^ SKIDROW (21 de enero de 2013). "Test.Drive.Ferrari.Racing.Legends.Read.Nfo-SKIDROW". Archivado desde el original el 14 de septiembre de 2014 . Consultado el 13 de septiembre de 2014 . Sí, nuestro "método" es un cargador y nuestros competidores han utilizado el mismo método para "descifrar" juegos xlive como este.
  11. ^ "Guerra nuclear Batman.Arkham.City-FiGHTCLUB". 2 de diciembre de 2011. Archivado desde el original el 13 de septiembre de 2014. UNNUKED: game.plays.full no.issues crack.is.bien no.single.byte.patch.used protección.bypass.means.not.active.means .la.protección.eliminada.no.se.activa.en.ningún.momento.esto.o.la.eliminación.no.supone.diferencia [ZoNeNET]
  12. ^ ab Eilam, Eldad (2005). Inversión: secretos de la ingeniería inversa. Elliot J. Chikofsky. Indianápolis, IN: Wiley. ISBN 0-7645-9768-X. OCLC  80242141.
  13. ^ Cheng, Jacqui (27 de septiembre de 2006). "Microsoft presenta una demanda por crack de DRM". Ars Técnica . Archivado desde el original el 15 de julio de 2014 . Consultado el 15 de junio de 2017 .
  14. ^ Fravia (noviembre de 1998). "¿Es legal la ingeniería inversa?". Archivado desde el original el 5 de marzo de 2022.
  15. ^ Wallach, DS (octubre de 2001). "La tecnología de protección contra copia está condenada al fracaso". Computadora . 34 (10): 48–49. doi : 10.1109/2.955098. Archivado desde el original el 21 de enero de 2022 . Consultado el 10 de marzo de 2023 .
  16. ^ Reunanen, Markku; Wasiak, Patryk; Botz, Daniel (26 de marzo de 2015). "Introducciones de crack: piratería, creatividad y comunicación". Revista Internacional de Comunicación . 9 : 20. ISSN  1932-8036. Archivado desde el original el 17 de junio de 2022 . Consultado el 17 de junio de 2022 .
  17. ^ Pearson, Jordania (24 de julio de 2017). "Los programadores corren para salvar el software Apple II antes de que se extinga". Tarjeta madre. Archivado desde el original el 27 de septiembre de 2017 . Consultado el 27 de enero de 2018 .
  18. ^ abcde Ciro Peikari; Anton Chuvakin (12 de enero de 2004). Guerrero de seguridad . "O'Reilly Media, Inc.". pag. 31.ISBN 978-0-596-55239-8.
  19. ^ Vianello, Francisco. "Página de inicio de la academia". Páginas de archivo de ingeniería inversa de Fravia . Archivado desde el original el 26 de septiembre de 2022 . Consultado el 17 de mayo de 2022 .
  20. ^ Ankit, jainista; Jason, Kuo; Jordania, Soet; Brian, Tse (abril de 2007). "Craqueo de software (abril de 2007)" (PDF) . Universidad de Columbia Británica - Ingeniería eléctrica e informática. Archivado (PDF) desde el original el 19 de marzo de 2018 . Consultado el 27 de enero de 2018 . {{cite journal}}: Citar diario requiere |journal=( ayuda )
  21. ^ Cerven, Pavol (2002). Proteja su software contra crackers: proteja su software contra crackers . Sin prensa de almidón. ISBN 1-886411-79-4.
  22. ^ "Protección de códigos de software por parte de guardias" (PDF) . Hoi Chang, Mikhail J. Atallah, CERIAS, Universidad Purdue (2001). Archivado (PDF) desde el original el 10 de marzo de 2023 . Consultado el 6 de junio de 2022 .
  23. ^ "Invertir un binario automodificable con radare2". Megabeets . 14 de enero de 2018 . Consultado el 29 de junio de 2023 .
  24. ^ Ferguson, Justin; Kaminsky, Dan (2008). Código de ingeniería inversa con IDA Pro. Burlington, MA: Pub Syngress. ISBN 978-0-08-055879-0. OCLC  272383172. Archivado desde el original el 10 de marzo de 2023 . Consultado el 8 de junio de 2022 .
  25. ^ "CD/DVD de juegos protegidos con copia de seguridad". GameCopyWorld . Archivado desde el original el 5 de junio de 2008 . Consultado el 11 de junio de 2008 .
  26. ^ Canzanese, Raymond J. Jr.; Oyer, Mateo; Mancoridis, Spiros; Kam, Moshé. "Un estudio sobre herramientas de ingeniería inversa para el entorno Microsoft Windows de 32 bits" (PDF) . Facultad de IngenieríaUniversidad de Drexel. Archivado desde el original (PDF) el 25 de marzo de 2022 . Consultado el 7 de junio de 2022 .
  27. ^ McCandless, David (1 de abril de 1997). "Guerras Warez". Cableado . ISSN  1059-1028. Archivado desde el original el 16 de septiembre de 2021 . Consultado el 4 de febrero de 2020 .
  28. ^ Gopal, Ram D.; Sanders, G. Lawrence (septiembre de 2000). "Piratería global de software: no se puede sacar sangre de un nabo". Comunicaciones de la ACM . 43 (9): 82–89. doi : 10.1145/348941.349002 . ISSN  0001-0782. S2CID  6706490.
  29. ^ Gopal, Ram D.; Sanders, G. Lawrence (1998). "Piratería de software internacional: análisis de cuestiones e impactos clave". Investigación de Sistemas de Información . 9 (4): 380–397. doi :10.1287/isre.9.4.380. ISSN  1047-7047. JSTOR  23011033.