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 ser 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 directa del código a través del desensamblaje 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 ] Ejemplos de cracks son: aplicar un parche o crear generadores de números de serie de ingeniería inversa conocidos como keygens , eludiendo 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 mediante la descarga de paquetes del software original con cracks o keygens. [ 4 ]
Algunas de estas herramientas se llaman keygen , patch , loader o crack sin disco . Un keygen es un generador de números de serie de productos hecho a mano que a menudo ofrece la capacidad de generar números de serie que funcionen con tu propio nombre. Un patch es un pequeño programa informático que modifica el código 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 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 trainer utilizado para hacer trampas en los juegos. [ 8 ] Fairlight señaló en uno de sus archivos .nfo que este tipo de cracks no están permitidos para las versiones de juegos de la escena warez . [ 9 ] [ 6 ] [ 10 ] Un nukewar 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, ya que el proceso de atacar una tecnología de protección de copia es similar al de la ingeniería inversa. [ 12 ] La distribución de copias crackeadas es ilegal en la mayoría de los países. Se han presentado demandas por cracking de software. [ 13 ] En ciertas circunstancias, podría ser legal usar software crackeado. [ 14 ] Sin embargo, los recursos educativos sobre 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 intentaban implementar algún tipo de protección contra copias 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 programadores emprendedores durante más de unos pocos meses». [ 2 ] En 2001, Dan S. Wallach, profesor de la Universidad Rice , afirmó que «quienes están decididos a eludir la protección contra copias siempre han encontrado la manera 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 crackear y distribuir software. Romper un nuevo esquema de protección de copia lo más rápido posible se consideraba una oportunidad para demostrar la superioridad técnica propia, más que una posibilidad de ganar dinero. Los crackers de software generalmente no obtenían beneficios materiales de sus acciones y su motivación era el desafío mismo de eliminar la protección. [ 2 ] Algunos aficionados con poca habilidad tomaban software ya crackeado y editaban varias cadenas de texto sin cifrar para cambiar los mensajes que un juego mostraba 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 comenzaron a promocionarse a sí mismos y a sus habilidades adjuntando pantallas animadas conocidas como intros de crack en los programas de software que crackeaban y publicaban. [ 16 ] Una vez que la competencia técnica se expandió de los desafíos del cracking a los desafíos de crear intros visualmente impactantes, se establecieron las bases de una nueva subcultura conocida como demoscene . La demoscene comenzó a separarse de la escena ilegal de software pirata durante la década de 1990 y ahora se considera una subcultura completamente diferente. Muchos crackers de software se han convertido posteriormente en ingenieros inversos de software extremadamente capaces; el profundo conocimiento del lenguaje ensamblador necesario para descifrar protecciones les permite realizar ingeniería inversa de controladores para portarlos desde 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 las introducciones de los juegos eran una parte tan integral de los videojuegos, el formato musical y los gráficos se hicieron muy populares cuando el hardware se volvió asequible para el usuario doméstico.
Con el auge de Internet , los ciberdelincuentes crearon 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 "reversión de protección de software" era el sitio web de Fravia .
En 2017, un grupo de hackers de software inició un proyecto para preservar el software de Apple II eliminando la protección contra copia . [ 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 inversa de código (RCE), para impulsar la investigación en RCE. También impartió clases y fue autor de numerosos artículos sobre el tema, y sus textos se consideran clásicos en el campo y son de lectura obligatoria para los estudiantes de RCE. [ 18 ]
La adición del signo "+" delante del apodo de un reversor significaba pertenencia a la +HCU. Entre los estudiantes de la +HCU se encontraban los mejores reversores de Windows del mundo. [ 18 ] La +HCU publicaba anualmente un nuevo problema de ingeniería inversa y un pequeño número de participantes con las mejores respuestas se clasificaban para una plaza de estudiante de pregrado en la universidad. [ 18 ]
Fravia era profesor en la HCU. Su sitio web se llamaba "Páginas de Ingeniería Inversa de Fravia" y lo utilizaba para desafiar a programadores y a la sociedad en general a "desmantelar" el "lavado de 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 "amplia". [ 18 ] En su sitio, Fravia también mantenía una base de datos de los tutoriales generados por los estudiantes de la HCU para la posteridad. [ 19 ]
Actualmente, la mayoría de los egresados de +HCU han migrado a Linux y pocos se han mantenido como ingenieros inversos 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 ]
Métodos
El crack de software más común consiste en 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 la ingeniería inversa del código compilado del programa utilizando un depurador como x64dbg , 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 ] El binario se modifica entonces utilizando el depurador o un editor hexadecimal como HIEW [ 22 ] o monitor de manera que se reemplace un opcode de bifurcación anterior por su complemento o un opcode NOP , de modo que la bifurcación clave siempre ejecute una subrutina específica o la omita. 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 acceder se suele llamar "bad boy" (chico malo), mientras que una que se debe seguir se llama "good boy" (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 dificultar cada vez más la modificación binaria. [ 24 ] Aun 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 archivo EXE o un instalador de Retrium crackeado para su descarga pública, eliminando así 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 expiración de una versión de prueba limitada de una aplicación. Estos cracks suelen ser programas que modifican el ejecutable del programa y, a veces, las bibliotecas compartidas vinculadas a la aplicación; el proceso de modificación de los archivos binarios originales se denomina parcheo. [ 12 ] Existen cracks similares para software que requiere una llave de seguridad de hardware . Una empresa también puede eliminar la protección anticopia de programas que ha adquirido legalmente, pero que están licenciados para un hardware específico, de modo que no haya riesgo de tiempo de inactividad debido a fallos de hardware (y, por supuesto, no sea necesario limitarse a ejecutar el software solo en el hardware adquirido).
Otro método consiste en utilizar software especializado, como CloneCD , para detectar el uso de una aplicación comercial de protección anticopia. Tras descubrir el software utilizado para proteger la aplicación, se puede usar otra herramienta para eliminar la protección anticopia del software en el CD o DVD . Esto permite que otro programa, como Alcohol 120% , CloneDVD, Game Jackal o Daemon Tools, copie el software protegido al disco duro del usuario. Algunas aplicaciones comerciales de protección anticopia populares que se pueden detectar son SafeDisc y StarForce . [ 25 ]
En otros casos, podría ser posible descompilar un programa para acceder al código fuente original o a un código de nivel superior al código máquina . Esto suele ser posible con lenguajes de scripting y lenguajes que utilizan compilación JIT . Un ejemplo es el cracking (o depuración) en la plataforma .NET , donde se podría considerar la manipulación de CIL para lograr los objetivos deseados. El bytecode de Java también funciona de manera similar, con un lenguaje intermedio antes de que el programa se compile para ejecutarse en el código 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 varios crackers, dediquen mucho más tiempo a estudiar la protección, encontrando finalmente todas las fallas dentro del código de protección, y luego programando sus propias herramientas para "desenvolver" la protección automáticamente a partir de archivos ejecutables (.EXE) y de biblioteca (.DLL).
Existen varios sitios web que permiten a los usuarios descargar cracks producidos por grupos de piratería para juegos y aplicaciones populares (aunque con el riesgo de adquirir software malicioso que a veces se distribuye a través de dichos sitios). [ 27 ] Si bien 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 cracking de software ha llevado a la distribución de software pirateado en todo el mundo ( piratería de software ). Se estimó que Estados Unidos perdió 2300 millones de dólares en software de aplicaciones empresariales en 1996. Las tasas de piratería de software fueron especialmente frecuentes en países de África, Asia, Europa del Este y América Latina. En ciertos países como Indonesia, Pakistán, Bangladesh , Kuwait, China y El Salvador, [ 28 ] el 90 % del software utilizado era pirateado. [ 29 ]
Véase también
Referencias
- ↑ Kevelson, Morton (octubre de 1985). "Isepic" . Ahoy! . págs. 71–73 . Recuperado el 27 de junio de 2014.
El origen del término probablemente reside en la actividad de los ladrones en el silencio de la noche
. - 1 2 3 4 "¿Qué motiva a los piratas informáticos?" (PDF) . Sigi Goode y Sam Cruise, Universidad Nacional Australiana, Revista de Ética Empresarial (2006). Archivado (PDF) del original el 21 de octubre de 2022. Recuperado el 30 de abril de 2022 .
- ↑ Tulloch, Mitch (2003). Microsoft Encyclopedia of Security (PDF) . Redmond, Washington: Microsoft Press. pág. 68. ISBN 0735618771Archivado del original (PDF) el 10 de agosto de 2014. Consultado el 20 de julio de 2014 .
- 1 2 Kammerstetter, Markus; Platzer, Christian; Wondracek, Gilbert (16 de octubre de 2012). «Vanidad, cracks y malware» . Actas de la conferencia ACM de 2012 sobre seguridad informática y de comunicaciones . Raleigh, Carolina del Norte, EE. UU.: ACM. págs. 809–820 . doi : 10.1145/2382196.2382282 . ISBN 978-1-4503-1651-4. S2CID 3423843 .
- ↑ Craig, Paul; Ron, Mark (abril de 2005). «Capítulo 4: Crackers» . En Burnett, Mark (ed.). Piratería de software al descubierto: secretos del lado oscuro revelados . Editor: Andrew Williams, maquetación e ilustraciones: Patricia Lupien, editor de adquisiciones: Jaime Quigley, correctora de estilo: Judy Eby, editor técnico: Mark Burnett, indexadora: 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.
- 1 2 FLT (22 de enero de 2013). "The_Sims_3_70s_80s_and_90s_Stuff-FLT" . Archivado del original el 14 de septiembre de 2014. Recuperado 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.
- ↑ Shub-Nigurrath [ARTeam]; ThunderPwr [ARTeam] (enero de 2006). "Cracking with Loaders: Theory, General Approach, and a Framework". CodeBreakers Magazine . 1 (1). Proyecto de investigación de la Universitas-Virtualis.
Un cargador es un programa capaz de cargar en memoria y ejecutar otro programa.
- ↑ Nigurrath, Shub (mayo de 2006). "Guía sobre cómo jugar con la memoria de procesos, escribir cargadores y Oraculumns". Revista CodeBreakers . 1 (2). Proyecto de investigación de la Universitas-Virtualis.
- ↑ FLT (29 de septiembre de 2013). "Test_Drive_Ferrari_Legends_PROPER-FLT" . Archivado del original el 14 de septiembre de 2014. Recuperado el 13 de septiembre de 2014. Test.Drive.Ferrari.Racing.Legends
-SKIDROW se lanzó con un "Loader" y no con un exe crackeado. Por eso ves que el exe original se renombra a "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 crackeado adecuado.
- ↑ SKIDROW (21 de enero de 2013). "Test.Drive.Ferrari.Racing.Legends.Read.Nfo-SKIDROW" . Archivado del original el 14 de septiembre de 2014. Recuperado el 13 de septiembre de 2014. Sí
, nuestro "método" es un cargador y nuestros competidores han utilizado el mismo método para "crackear" juegos xlive como este.
- ↑ "Batman.Arkham.City-FiGHTCLUB nukewar" . 2 de diciembre de 2011. Archivado del original el 13 de septiembre de 2014.
UNNUKED: game.plays.full no.issues crack.is.fine no.single.byte.patch.used protection.bypass.means.not.active.means.removed protection.does.not.kick.in.at.any.point this.or.removal.makes.no.difference [ZoNeNET]
- 1 2 Eilam, Eldad (2005). Reversing : secretos de la ingeniería inversa . Elliot J. Chikofsky. Indianápolis, IN: Wiley. ISBN 0-7645-9768-XOCLC 80242141
- ↑ Cheng, Jacqui (27 de septiembre de 2006). "Microsoft presenta una demanda por crack de DRM" . Ars Technica . Archivado del original el 15 de julio de 2014. Recuperado el 15 de junio de 2017 .
- ↑ Fravia (noviembre de 1998). "¿Es legal la ingeniería inversa?" . Archivado del original el 5 de marzo de 2022.
- ↑ Wallach, DS (octubre de 2001). "La tecnología de protección contra copias está condenada". Computer . 34 (10): 48– 49. doi : 10.1109/2.955098 .
- ↑ 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 del original el 17 de junio de 2022. Recuperado el 17 de junio de 2022 .
- ↑ Pearson, Jordan (24 de julio de 2017). "Los programadores se apresuran a salvar el software de Apple II antes de que desaparezca" . Motherboard. Archivado del original el 27 de septiembre de 2017. Recuperado el 27 de enero de 2018 .
- 1 2 3 4 5 Ciro Peikari; Anton Chuvakin (12 de enero de 2004). Guerrero de seguridad . O'Reilly Media, Inc. pág. 31 . ISBN 978-0-596-55239-8.
- ↑ Vianello, Francesco. "Página principal de la Academia" . Páginas de archivo de ingeniería inversa de Fravia . Archivado del original el 26 de septiembre de 2022. Recuperado el 17 de mayo de 2022 .
- ↑ Ankit, Jain; Jason, Kuo; Jordan, Soet; Brian, Tse (abril de 2007). "Cracking de software (abril de 2007)" (PDF) . Universidad de Columbia Británica - Ingeniería Eléctrica e Informática. Archivado (PDF) del original el 19 de marzo de 2018. Recuperado el 27 de enero de 2018 .
{{cite journal}}: Para citar una revista se requiere|journal=( ayuda ) - ↑ Cerven, Pavol (2002). Crackproof Your Software: Proteja su software contra los crackers . No Starch Press. ISBN 1-886411-79-4.
- ↑ "Protección de códigos de software mediante mecanismos de seguridad" (PDF) . Hoi Chang, Mikhail J. Atallah, CERIAS, Universidad de Purdue (2001). Archivado (PDF) del original el 10 de marzo de 2023. Consultado el 6 de junio de 2022 .
- ↑ "Reversión de un binario automodificable con radare2" . Megabeets . 14 de enero de 2018. Consultado el 29 de junio de 2023 .
- ↑ Ferguson, Justin; Kaminsky, Dan (2008). Ingeniería inversa de código con IDA Pro . Burlington, MA: Syngress Pub. ISBN 978-0-08-055879-0OCLC 272383172
- ↑ "Copia de seguridad de CD/DVD de juegos protegidos" . GameCopyWorld . Archivado del original el 5 de junio de 2008. Consultado el 11 de junio de 2008 .
- ↑ Canzanese, Raymond J. Jr.; Oyer, Matthew; Mancoridis, Spiros; Kam, Moshe. "Un estudio de las herramientas de ingeniería inversa para el entorno de Microsoft Windows de 32 bits" (PDF) . Facultad de Ingeniería, Universidad de Drexel. Archivado del original (PDF) el 25 de marzo de 2022. Consultado el 7 de junio de 2022 .
- ↑ McCandless, David (1 de abril de 1997). "Guerras de software pirata" . Wired . ISSN 1059-1028 . Archivado del original el 16 de septiembre de 2021. Recuperado el 4 de febrero de 2020 .
- ↑ Gopal, Ram D.; Sanders, G. Lawrence (septiembre de 2000). "Piratería global de software: no se puede sacar agua de un nabo" . Communications of the ACM . 43 (9): 82– 89. doi : 10.1145/348941.349002 . ISSN 0001-0782 . S2CID 6706490 .
- ↑ Gopal, Ram D.; Sanders, G. Lawrence (1998). "Piratería internacional de software: análisis de cuestiones clave e impactos" . Information Systems Research . 9 (4): 380–397 . doi : 10.1287/isre.9.4.380 . ISSN 1047-7047 . JSTOR 23011033 .
- Crackeo de software